-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathChangeLog
More file actions
175 lines (127 loc) · 5.92 KB
/
ChangeLog
File metadata and controls
175 lines (127 loc) · 5.92 KB
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 <koichi.nakamur@gmail.com>
* rowl1/rowl1-packrat.rlc: add `OneOf' and `NoneOf' syntax elements.
2012-06-29 nineties <koichi.nakamur@gmail.com>
* rowl1/rowl1-packrat.rlc: add `multiline' parser option
2012-06-28 nineties <koichi.nakamur@gmail.com>
* 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 <koichi.nakamur@gmail.com>
* lib/amber/syntax.ab: try-catch and throw statements
* rowl1/rowl1-node.rlc: rename
Eval => eval
Compile => compile
Rewrite => rewrite
2012-06-22 nineties <koichi.nakamur@gmail.com>
* rowl1/rowl1-interp.rlc:
[specification] `Rewrite' don't rewrite patterns.
2012-06-21 nineties <koichi.nakamur@gmail.com>
* rowl1/rowl1-compile.rlc: Add dynamic variables. (form: Dynamic{ symbol })
* rowl1/rowl1-packrat.rlc: Parsers must use dynamic variables.
2012-06-10 nineties <koichi.nakamur@gmail.com>
* Restart writing Changelog.
2011-11-04 nineties <nineties48@gmail.com>
* 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 <nineties48@gmail.com>
* 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 <nineties48@gmail.com>
* 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 <nineties48@gmail.com>
* rowl1/vm-gc.rlc: Fixed a bug (scanning of joined pages).
2011-10-22 nineties <nineties48@gmail.com>
* lib/rowl/syntax.rl: Fixed definition of Compile(out,env,x=>y)
* rowl1/rowl1-compile.rlc: Added compile_lambda.
2011-10-19 nineties <nineties48@gmail.com>
* 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 <nineties48@gmail.com>
* 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 <nineties48@gmail.com>
* 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 <nineties48@gmail.com>
* rowl1/rowl1-list.rlc : added
* rowl1/vm-insn.rlc : added `list_len' instruction.
2011-10-11 nineties <nineties48@gmail.com>
* 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 <nineties48@gmail.com>
* 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 <nineties48@gmail.com>
* 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 <nineties48@gmail.com>
* 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 <nineties48@gmail.com>
* 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 <nineties48@gmail.com>
* 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'.