-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathChangeLog
175 lines (127 loc) · 5.92 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
2012-07-10 nineties <[email protected]>
* rowl1/rowl1-packrat.rlc: add `OneOf' and `NoneOf' syntax elements.
2012-06-29 nineties <[email protected]>
* rowl1/rowl1-packrat.rlc: add `multiline' parser option
2012-06-28 nineties <[email protected]>
* rowl1/vm-insn.rlc: add `decons' instruction
* rowl1/rowl1-matching.rlc:
- rewritten to use `decons'
- implemented ellipsis pattern (e.g., [x,y,z@...])
2012-06-27 nineties <[email protected]>
* lib/amber/syntax.ab: try-catch and throw statements
* rowl1/rowl1-node.rlc: rename
Eval => eval
Compile => compile
Rewrite => rewrite
2012-06-22 nineties <[email protected]>
* rowl1/rowl1-interp.rlc:
[specification] `Rewrite' don't rewrite patterns.
2012-06-21 nineties <[email protected]>
* rowl1/rowl1-compile.rlc: Add dynamic variables. (form: Dynamic{ symbol })
* rowl1/rowl1-packrat.rlc: Parsers must use dynamic variables.
2012-06-10 nineties <[email protected]>
* Restart writing Changelog.
2011-11-04 nineties <[email protected]>
* create branch for refactoring execution process
* rowl1/rowl1-module.rlc: added.
* rowl1/rowl1-{lex,parse,module}.rlc: Implemented scoped-syntax mechanism
2011-10-29 nineties <[email protected]>
* rowl1/rowl1-compile.rlc: Functions to collect free variables.
* rowl1/rowl1-compile.rlc: Fixed compile_quote().
* rowl1/rowl1-symtable.rlc: symtable_delete().
* rowl1/rlvm-compile.rlc: Fixed bug of continue statement.
2011-10-28 nineties <[email protected]>
* rowl1/rowl1-compile.rlc, etc.: Implemented Lambda expression
closure conversion hasn't implemented yet.
* rowl1/vm-gc.rlc: Fixed a bug (scanning of enqueued pages).
* rowl1/rowl1-lex.rlc: Fixed a bug. We can't store heap objects to
`token_value' because it is also used for unboxed integer.
* rowl1/rowl1-compile.rlc: Added check for number number of arguments.
2011-10-24 nineties <[email protected]>
* rowl1/vm-gc.rlc: Fixed a bug (scanning of joined pages).
2011-10-22 nineties <[email protected]>
* lib/rowl/syntax.rl: Fixed definition of Compile(out,env,x=>y)
* rowl1/rowl1-compile.rlc: Added compile_lambda.
2011-10-19 nineties <[email protected]>
* rowl1/rowl1-compile.rlc, rowl1-node.rlc, lib/rowl/syntax.rl: Added
quasiquote expression, and fixed semantics of quote/quasiquote/unquote
in reference to R5RS.
* misc/vim/syntax.rl: several fixes.
* rowl1/rowl1-compile.rlc: Fixed bugs of DefineFunction and AppendFunction.
2011-10-15 nineties <[email protected]>
* rowl1/rowl1-parse.rlc : allow to write multi-line non-indented
expression if the precedent line ends with a prefix or an infix operator.
example:
+
1 # => +1
1 +
2 # => 1 + 2
2011-10-14 nineties <[email protected]>
* rowl1/rowl1-tuple.rlc : added
* rowl1/rowl1-parse.rlc : changed syntax.
- Parenthesisless tuple like 'a, b, c'.
The priority of operator ',' is 16 (one level prior than assignment operators).
example:
x, y = y, x # Tuple{x, y} = Tuple{y, x}
1, 2 + 3, 4 # Tuple{1, 2+3, 4}
- Disable to write multiple expressions in one-line.
puts("Hello") puts("World") # NG
* rowl1/rowl1-node.rlc : added pp_tuple().
2011-10-12 nineties <[email protected]>
* rowl1/rowl1-list.rlc : added
* rowl1/vm-insn.rlc : added `list_len' instruction.
2011-10-11 nineties <[email protected]>
* rowl1/rowl1-assemble.rlc : fixed a GC-related bug.
Objects embedded in the byte array of an assembler object wouldn't be
GCed in the old version. The new assembler stores objects to vector
at assemble-time and bytecode_set() function embeds them to
byte-sequence.
* rowl1/rowl1-compile.rlc, rowl1-numeric.rlc :
removed compile_unary and compile_binary, moved them to
lib/rowl/syntax.rl
* lib/rowl/syntax.rl : changed the operator for long-identifier from
"." to "::".
* rowl1/vm-prim-vector.rlc : added prim_Xvector_assign().
2011-10-08 nineties <[email protected]>
* rowl1/rowl1-interp.rlc, lib/rowl/syntax.rlc : added Import statement.
* vm-main.rlc : fix a bug in memset().
* vm-prim-io.rlc : added open, close, chdir and fchdir.
2011-10-05 nineties <[email protected]>
* rowl1/rowl1-node.rlc : added to_builtin_sym() and make_expr_user().
* rowl1/rowl1-numeric.rlc : fixed a bug.
* rowl2/sample : added
* lib/rowl/io.rlc, rowl1/rowl1-io.rlc : added several IO functions.
* rowl1/rowl1-node.rlc :
- added new builtin object types InputFileStream and OutputFileStream.
* rowl1/rowl1-builtin.rlc : removed.
* several tiny bug fixes
2011-10-04 nineties <[email protected]>
* rowl1/rowl1-assembler.rlc :
- added put_operand_[byte/short/int].
- fixed name conflicts of put_sotrel and put_loadl.
* rowl1/rowl1-compile.rlc :
- fixed a bug in allocation of local variables.
* lib/rowl/io.rlc : added
* rowl1/rowl1-matching.rlc : fixed a bug in same_head_pat().
2011-10-03 nineties <[email protected]>
* rowl1/rowl1-node.rlc : pretty_print_full()
* rowl1/rowl1-assemble.rlc : print_bytecode()
* lib/rowl/syntax.rlc : changed priorities of operators.
- 'else' 19->18
- ':' 18 -> 19
* rowl1/rowl1-matching.rlc, librowl/syntax.rlc :
- changed to compile Quote{x} as SymbolP{x} in function parameters,
and eliminate the operator for SymbolP (originally its a "`").
- changed the operator for Quote from "!" to "`".
* rowl1/rowl1-compile.rlc : added compilers for While and Return.
* rowl1/rowl1-assemble.rlc : bugfix of put_store_arg().
2011-10-01 nineties <[email protected]>
* Changelog : added.
* rowl1/rowl1-numeric.rlc : check division by zero.
* rowl1/rowl1-compile.rlc :
- compilers for following expressions are added.
Block,If,Else
- implemented short-cut optimization for conditional expression.
- changed to use concrete patterns for Compile().
* rowl1/vm-insn.rlc : erase if_true and if_false instructions
changed representation of true/false from 1/0 to symbols 'true' and 'false'.