Timeline
Not logged in

94 checkins occurring on or after 2010-11-07 18:43:48.

2012-07-07
22:44
[2229a2f284] Leaf: memo on inner-macro expansions. (user: kinaba, tags: trunk)
2010-12-05
00:15
[fc0b463347] Made the repl terminate by EOF (thanks yhamigaki!) (user: kinaba, tags: trunk)
2010-12-02
19:30
[88827b8336] sample clean-up (user: kinaba, tags: trunk, release)
2010-11-30
11:23
[32e5c4ef44] documentation update (user: kinaba, tags: trunk)
11:21
[3fb4d6f9ad] during @userdefinedlayer function evaluation, if lift(bottom) fails, the recursion is not memoized (user: kinaba, tags: trunk)
2010-11-28
08:46
[576c494e53] fixed: literal "..." is now lifted in user-defined layers (user: kinaba, tags: trunk)
00:49
[6de3d8df3a] reference manual completed (user: kinaba, tags: trunk)
2010-11-27
23:28
[950fc6d3d4] no. lift _|_ for corecursion checking again. Current choices is, if it failed we instead assing _|_ itself. Maybe the better choice is to give up memoization when it failed to lift... (user: kinaba, tags: trunk)
23:23
[005474ba5b] changed: not to lift _|_ (user: kinaba, tags: trunk)
21:49
[a795c97dc3] changed Let.init to Let.vdef. IT IS VERY DANGEROUS TO USE .init MEMBER NAME in D!!!!!!!! (user: kinaba, tags: trunk)
20:46
[203e4cb208] fixed automatic memoization bug (whole part of the contexts are now used as the memo key) (user: kinaba, tags: trunk)
00:13
[6760e0dd02] evaluator refactoring done. x6 speed up. (user: kinaba, tags: trunk)
2010-11-26
21:22
[23fb1b4a0e] jikken before non-memo macro (user: kinaba, tags: trunk)
16:42
[f7e9e77316] introduced "..." expression, and replaced the pattern match failure with this. (user: kinaba, tags: trunk)
16:14
[94f0382499] changed the semantics of def foo(x @macro) {}, the @macro-layered parameter. - in @macro( foo(e) ), e is run in @macro (this is ok) - in @value( foo(e) ), e is run in (rawmacro)!! - in @rawmacro( foo(e) ), e is run in (rawmacro)!! (user: kinaba, tags: trunk)
15:46
[552d43f567] one-by-one M&E memoizer (user: kinaba, tags: trunk)
14:29
[f8684f4d69] changed the desugaring of >>@macro x=e from >>@macro x=e in x to >>@macro x=e in "(macro definition)" for convenience during REPL interaction (user: kinaba, tags: trunk)
14:03
[207cea338a] changed hiding mechanizem of x in let x = ... for @macro layer. Old: set(x,ValueLayer,undefined) Nee: set(x,NoopLayer,null) (user: kinaba, tags: trunk)
08:05
[5dfef32124] helloworld sample and argv sample merged (user: kinaba, tags: trunk)
2010-11-25
12:32
[474c4facf0] Introduced makefile to build documents. sample/macro.pmy is fully reformed. print(x) now returns x, not 0. (user: kinaba, tags: trunk)
02:44
[b993a8ad16] auto memo and re-run feature of non @value/@macro layers re-re-re-implemented. (user: kinaba, tags: trunk)
2010-11-24
22:22
[f9c31f3cd8] Fixed the null dereference bug when directly wrote "case 1 when 2: 3" in REPL. It was due to null LexPosition in the AST. Now AST.pos !is null is an invariant of AST. (user: kinaba, tags: trunk)
21:32
[c75f0d5f1e] Enriched the runtime. a.b is now runtime error, not undefined value if the field b does not exist. Added rand(n) and gensym(). (user: kinaba, tags: trunk)
21:14
[3ae09b8cbf] changed if-then-else syntax (user: kinaba, tags: trunk)
20:45
[adacc96a55] changed the syntax of pattern matching (user: kinaba, tags: trunk)
20:34
[c0158c9281] document updated (user: kinaba, tags: trunk)
20:20
[153a14cec0] if-then-else without {}s. some cosmetic changes (user: kinaba, tags: trunk)
20:00
[27ee4fda7f] readme edited (user: kinaba, tags: trunk)
19:31
[8caee17864] added documents. (user: kinaba, tags: trunk)
12:50
[16abe21957] added documentation comment to polemy.ast so that it also works for @macro users of Polemy. (user: kinaba, tags: trunk)
12:30
[20be503cae] set up referece manual (user: kinaba, tags: trunk)
03:28
[ba11f1d551] fixed the macro scoping rules concerning non-macro let (user: kinaba, tags: trunk)
2010-11-23
22:55
[2134cd44cc] further clean-up for polemy2d (user: kinaba, tags: trunk)
19:37
[5e924caac9] added AST-rewriting macro sample. (user: kinaba, tags: trunk)
19:09
[36c517dfc4] refactored d-value and polemy-value conversion (user: kinaba, tags: trunk)
18:36
[b97bd4f713] automatic AST to table encoder (user: kinaba, tags: trunk)
16:42
[6ac127ddd0] new evaluator (user: kinaba, tags: trunk)
2010-11-22
01:05
[da7559b744] fizzbuzz sample changed (user: kinaba, tags: trunk)
00:48
[f86026acb8] macro cache and automemoization reloaded. auto re-run implemented. but automemo and autorerun is currently disabled. we need Table.opCmp... we also need to think more about the memoization (user: kinaba, tags: trunk)
2010-11-21
23:47
[c1f2717799] readme on primitives and pattern-matching (user: kinaba, tags: trunk)
23:24
[3995a5eb6a] added iikagen pattern match (user: kinaba, tags: trunk)
20:11
[2bdfb8a182] moved build sciprt for documents into Poseidon environment (user: kinaba, tags: trunk)
19:14
[6faf2e1a30] forgot to add build.sh (user: kinaba, tags: trunk)
18:53
[c316790569] forgot to add layer.d (user: kinaba, tags: trunk)
18:53
[435fa085ec] refactored predefined layer names, and filled readme.txt. (user: kinaba, tags: trunk)
17:33
[6ecc7046fc] tableset x{y:1} expression added (user: kinaba, tags: trunk)
17:18
[a5fe6233c1] layered parameters implemented (user: kinaba, tags: trunk)
01:35
[3464a035ec] source code cleanup (user: kinaba, tags: trunk)
2010-11-20
23:29
[060f267779] fixed the bug that the first declaration inside a function cannt be recursive: def foo() { def bar() { bar() }; bar() }; foo() # bar cannot be found (user: kinaba, tags: trunk)
23:04
[8e3db9ef20] macro worked! (user: kinaba, tags: trunk)
21:57
[3f6f41b558] ast - table conversion (NOT AT ALL TESTED) (user: kinaba, tags: trunk)
18:20
[515502e8d1] table get, init, ask expressions addded (user: kinaba, tags: trunk)
2010-11-13
21:16
[5afe8e3f26] Memoization on non "@v" layer. Now simplest metalevel computation works!! Also, added -l option. (user: kinaba, tags: trunk)
14:38
[078444a806] additional primitives for doing typechecking (user: kinaba, tags: trunk)
13:58
[3a2762fca5] _isXXX (user: kinaba, tags: trunk)
13:32
[8474ae68d9] rising mechanism (user: kinaba, tags: trunk)
12:55
[c368edbcb1] @@lay(x) { ... } declaration and value rising. (user: kinaba, tags: trunk)
11:48
[1c01f44f52] simplepatternmatch (user: kinaba, tags: trunk)
2010-11-12
13:40
[a7b5d1d95a] refactored the parser, and added layerd params fun(x @t){...} (user: kinaba, tags: trunk)
00:22
[6f0ec5b7c9] Custom Test Runner (user: kinaba, tags: trunk)
2010-11-11
11:40
[8e6fa743ee] added layered parameter AST (only AST. no parser and no evaluator). (user: kinaba, tags: trunk)
2010-11-10
21:38
[38fcc662be] cleaned up documentation comments (user: kinaba, tags: trunk)
00:48
[9eec42eba1] memo (user: kinaba, tags: trunk)
00:35
[a5d10ace51] FizzBuzz! (user: kinaba, tags: trunk)
00:19
[68546f3e9f] several samples (user: kinaba, tags: trunk)
2010-11-09
23:59
[7465fcdd7f] layered function invocation (user: kinaba, tags: trunk)
23:24
[2459e9a821] refactored eof-driven REPL (user: kinaba, tags: trunk)
19:28
[dc93ad8cf6] layered exec expression @lay(...) added (user: kinaba, tags: trunk)
16:27
[0f02103885] let, var, def became layer-neutral definition (not @val). scope splitting (let x=1;let x=2;let y=(let x=3);x is 1) is correctly implemented now. (user: kinaba, tags: trunk)
15:29
[77abaf5f42] Fixed broken "lambda" sign in parse.d (user: kinaba, tags: trunk)
15:22
[50811398367b] removed BOM from the source file (fxxk poseidon!!!) (user: kinaba, tags: trunk)
15:19
[d78d700f7a] tenuki REPL bug-fix (now we can continue using REPL after a syntax error) and file interpreter mode. (user: kinaba, tags: trunk)
15:02
[7de80acfb8] Added ultra tenuki REPL (user: kinaba, tags: trunk)
14:19
[8de5b49cdf] split tricks module into a separate package. (user: kinaba, tags: trunk)
01:40
[aa770610d3] added layered-let (user: kinaba, tags: trunk)
2010-11-08
23:59
[b985f3bf91] refactored parser to change AST to ML-like one. (user: kinaba, tags: trunk)
21:26
[80ff567c75] Testing easyAST. (user: kinaba, tags: trunk)
20:57
[077506b38c] Generic toString utility added. (user: kinaba, tags: trunk)
20:45
[b11090f441] Pretty Printing of unittest success (user: kinaba, tags: trunk)
20:42
[5e407d7cf8] Lexer Refactored so that it can accpet multi-symbol token (user: kinaba, tags: trunk)
17:45
[8d297342aa] Replaced Token.Kind with bool quoted (user: kinaba, tags: trunk)
17:05
[c48ba67854] Changed release build script to ignore d2stacktrace. (user: kinaba, tags: trunk)
17:01
[b0d8d7875b] polemy.runtime renamed into polemy.value. Also, in process of changes to use unittest helpers. (user: kinaba, tags: trunk)
15:19
[61998c472a] Introduced unittest helpers (assert_eq, assert_throw, etc). Mmigration to it is not done yet. (user: kinaba, tags: trunk)
13:38
[12f7f02c46] turned -cov option on (for IDE execution) (user: kinaba, tags: trunk)
01:33
[172a537bea] operator < and > for integers, for writing Fibonacci function. (user: kinaba, tags: trunk)
01:31
[633e700889] If-expression implemented. Factorial now works. (user: kinaba, tags: trunk)
00:03
[820e7198cc] Made helloworld work. (user: kinaba, tags: trunk)
2010-11-07
23:34
[0569f7b8c2] - Added function literal evaluator (i.e., closure). - Workaround for d2stacktrace's infinite-loop bug. (when std.demangle.demangle use exception inside it, it will go into an infinite loop. to avoid this, I choose to unset TraceHandler during stacktrace generation. This is far from the complete solution, but at least it should work as expected under single-thread environment...) (user: kinaba, tags: trunk)
21:46
[3f5dc76a75] Added funcall expression parser and function literal parser. (user: kinaba, tags: trunk)
21:20
[5d4cb856d8] Added FuncallExpression (user: kinaba, tags: trunk)
19:32
[4198578702e] Changed several documentation comments into ddoc compatible ones. (user: kinaba, tags: trunk)
19:18
[423f308350] Initial commit. Just for setting up the environment. (user: kinaba, tags: trunk)
18:43
[f65680e1d2] initial empty check-in (user: kinaba, tags: trunk)