-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNEWS
248 lines (178 loc) · 7.89 KB
/
NEWS
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
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
Changes from Hy 0.9.9
[ Stupid Fixes ]
* I forgot to include hy.core.language in the sdist. (PT)
Changes from Hy 0.9.8
[ Syntax Fixes ]
* Macros are now module-specific, and must be required when used. (KH)
* Added a few more string escapes to the compiler (Thomas Ballinger)
* Keywords are pseudo-callable again, to get the value out of a dict. (PT)
* Empty expression is now the same as an empty vector. (Guillermo Vaya)
[ Language Changes ]
* HyDicts (quoted dicts or internal HST repr) are now lists
that compiled down to dicts by the Compiler later on. (ND)
* Macros can be constants as well. (KH)
* Add eval-when-compile and eval-and-compile (KH)
* Add break and continue to Hy (Morten Linderud)
* Core language libraries added. As example, I've included `take` and
`drop` in this release. More to come (PT)
* Importing a broken module's behavior now matches Python's more
closely. (Morten Linderud)
[ Misc. Fixes ]
* Ensure compiler errors are always "user friendly" (JD)
* Hy REPL quitter repr adjusted to match Hy syntax (Morten Linderud)
* Windows will no longer break due to missing readline (Ralph Moritz)
Changes from Hy 0.9.7
[ Syntax Fixes ]
* Quasi-quoting now exists long with quoting. Macros will also not
expand things in quotes.
* kwapply now works with symbols as well as raw dicts. (ND)
* Try / Except will now return properly again. (PT)
* Bare-names sprinked around the AST won't show up anymore (ND)
[ Language Changes ]
* Added a new (require) form, to import macros for that module (PT)
* Native macros exist and work now! (ND)
* (fn) and (lambda) have been merged (ND)
* New (defclass) builtin for class definitions (JD)
* Add unquote-splicing (ND)
[ Errata ]
* Paul was an idiot and marked the j-related bug as a JD fix, it was
actually ND. My bad.
Changes from Hy 0.9.6
[ Syntax Fixes ]
* UTF-8 encoded hy symbols are now hy_... rather than __hy_..., it's
silly to prefex them as such. (PT)
* `j' is no longer always intepreted as a complex number; we use it much
more as a symbol. (ND)
* (decorate-with) has been moved to (with-decorate) (JD)
* New (unless) macro (JD)
* New (when) macro (JD)
* New (take) macro (@eigenhombre)
* New (drop) macro (@eigenhombre)
* import-from and import-as finally removed. (GN)
* Allow bodyless functions (JD)
* Allow variable without value in `let' declaration (JD)
* new (global) builtin (@eal)
* new lambda-list syntax for function defs, for var-arity, kwargs. (JK)
[ Language Changes ]
* *HUGE* rewrite of the compiler. Massive thanks go to olasd
and jd for making this happen. This solves just an insane number
of bugs. (ND, PT, JD)
* Eval no longer sucks with statements (ND)
* New magic binary flags / mis fixes with the hy intepreter
(WKG + @eigenhombre)
Changes from Hy 0.9.5
[ Syntax Fixes ]
* .pyc generation routines now work on Python 3. (Vladimir Gorbunov)
* Allow empty (do) forms (JD)
* The `else' form is now supported in `try' statements. (JD)
* Allow `(raise)', which, like Python, will re-raise
the last Exception. (JD)
* Strings, bools, symbols are now valid top-level entries. (Konrad Hinsen)
* UTF-8 strings will no longer get punycode encoded. (ND)
* bare (yield) is now valid. (PT)
* (try) now supports the (finally) form. (JD)
* Add in the missing operators and AugAssign operators. (JD)
* (foreach) now supports the (else) form. (JD)
[ Language Changes ]
=============== WARNING: WARNING: READ ME: READ ME: ===================
From here on out, we will only support "future division" as part of hy.
This is actually quite a pain for us, but it's going to be quite an
amazing feautre.
This also normalizes behavior from Py 2 --> Py 3.
Thank you so much, Konrad Hinsen.
=======================================================================
* (pass) has been removed from the language; it's a wart that comes from
a need to create valid Python syntax without breaking the whitespace
bits. (JD)
* We've moved to a new import style, (import-from) and (import-as) will
be removed before 1.0. (GN)
* Prototypes for quoted forms (PT)
* Prototypes for eval (PT)
* Enhance tracebacks from language breakage coming from the compiler (JD)
* The REPL no longer bails out if the internals break (Konrad Hinsen)
* We now support float and complex numbers. (Konrad Hinsen)
* Keywords (such as :foo) are now valid and loved. (GN)
Changes from Hy 0.9.4
[ Syntax Fixes ]
* `try' now accepts `else': (JD)
(try BODY
(except [] BODY)
(else BODY))
Changes from Hy 0.9.4
[ Syntax Fixes ]
* Statements in the `fn' path early will not return anymore. (PT)
* Added "not" as the inline "not" operator. It's advised to still
use "not-in" or "is-not" rather then nesting. (JD)
* `let' macro added (PT)
* Added "~" as the "invert" operator. (JD)
* `catch' now accepts a new format: (JD)
(catch [] BODY)
(catch [Exception] BODY)
(catch [e Exception] BODY)
(catch [e [Exception1 Exception2]] BODY)
* With's syntax was fixed to match the rest of the code. It's now: (PT)
(with [name context-managed-fn] BODY)
(with [context-managed-fn] BODY)
[ Language Changes ]
* Added `and' and `or' (GN)
* Added the tail threading macro (->>) (PT)
* UTF encoded symbols are allowed, but mangled. All Hy source is now
presumed to be UTF-8. (JD + PT)
* Better builtin signature checking (JD)
* If hoisting (for things like printing the return of an if statement)
have been added. '(print (if true true true))' (PT)
[ Documentation ]
* Initial documentation added to the source tree. (PT)
Changes from Hy 0.9.3
[ Syntax Fixes ]
* Nested (do) expressions no longer break Hy (PT)
* `progn' is now a valid alias for `do' (PT)
* `defun' is now a valid alias for `defn' (PT)
* Added two new escapes for \ and " (PT)
[ Language Changes ]
* Show a traceback when a compile-error bubbles up in the Hy REPL (PT)
* `setf' / `setv' added, the behavior of `def` may change in the future.
* `print' no longer breaks in Python 3.x (PT)
* Added `list-comp' list comprehensions. (PT)
* Function hoisting (for things like inline invocation of functions,
e.g. '((fn [] (print "hi!")))' has been added. (PT)
* `while' form added. (ND)
(while [CONDITIONAL] BODY)
[ Documentation ]
* Initial docs added. (WKG + CW)
Changes from Hy 0.9.2
[ General Enhancements ]
* hy.__main__ added, `python -m hy' will now allow a hy shim into existing
Python scripts. (PT)
[ Language Changes ]
* `import-as' added to allow for importing modules. (Amrut Joshi)
* `slice' added to slice up arrays. (PT)
* `with-as' added to allow for context managed bits. (PT)
* `%' added to do Modulo. (PT)
* Tuples added with the '(, foo bar)' syntax. (PT)
* `car' / `first' added. (PT)
* `cdr' / `rest' added. (PT)
* hy --> .pyc compiler added. (PT)
* Completer added for the REPL Readline autocompletion. (PT)
* Merge the `meth' macros into hy.contrib. (PT)
* Changed __repr__ to match Hy source conventions. (PT)
* 2.6 support restored. (PT)
Changes from Hy 0.9.1
[ General Enhancements ]
* Hy REPL added. (PT)
* Doc templates added. (PT)
[ Language Changes ]
* Add `pass' (PT)
* Add `yield' (PT)
* Moved `for' to a macro, and move `foreach' to old `for'. (PT)
* Add the threading macro (`->'). (PT)
* Add "earmufs" in. (tenach)
* Add comments in (PT)
Changes from Hy 0.9.0
[ Language Changes ]
* Add `throw' (PT)
* Add `try' (PT)
* add `catch' (PT)
Changes from Hy 0.8.2
[ Notes ]
* Complete rewrite of old-hy. (PT)