dce6a117af
0.14.0 Removals * Python 3.3 is no longer supported * def is gone; use setv instead * apply is gone; use the new #* and #** syntax instead * yield-from is no longer supported under Python 2 * Periods are no longer allowed in keywords * Numeric literals can no longer begin with a comma or underscore * Literal Inf\s and NaN\s must now be capitalized like that Other Breaking Changes * Single-character "sharp macros" are now "tag macros", which can have longer names * xi from hy.extra.anaphoric is now a tag macro #% * eval is now a function instead of a special form New Features * The compiler now automatically promotes values to Hy model objects as necessary, so you can write (eval (+ 1 ~n)) instead of (eval (+ 1 ~(HyInteger n))) * return has been implemented as a special form * Added a form of string literal called "bracket strings" delimited by #[FOO[ and ]FOO], where FOO is customizable * Added support for PEP 492 (async and await) with fn/a, defn/a, with/a, and for/a * Added Python-style unpacking operators #* and #** (e.g., (f #* args #** kwargs)) * Added a macro comment * Added EDN #_ syntax to discard the next term * while loops may now contain an else clause, like for loops * #% works on any expression and has a new &kwargs parameter %** * Added a macro doc and a tag macro #doc * get is available as a function * ~@ (unquote-splice) form now accepts any false value as empty Bug Fixes * Relative imports (PEP 328) are now allowed * Numeric literals are no longer parsed as symbols when followed by a dot and a symbol * Hy now respects the environment variable PYTHONDONTWRITEBYTECODE * String literals should no longer be interpreted as special forms or macros * Tag macros (née sharp macros) whose names begin with ! are no longer mistaken for shebang lines * Fixed a bug where REPL history wasn't saved if you quit the REPL with (quit) or (exit) * exec now works under Python 2 * No TypeError from multi-arity defn returning values evaluating to None * try forms are now possible in defmacro and deftag * Multiple expressions are now allowed in try * Fixed a crash when macroexpand\ing a macro with a named import * Fixed a crash when with suppresses an exception. with now returns None in this case. * Fixed a crash when --repl-output-fn raises an exception * Fixed a crash when HyTypeError was raised with objects that had no source position * assoc now evaluates its arguments only once each * Multiple expressions are now allowed in the else clause of a for loop * else clauses in for and while are recognized more reliably * Statements in the condition of a while loop are repeated properly * Argument destructuring no longer interferes with function docstrings * Nullary yield-from is now a syntax error * break and continue now raise an error when given arguments instead of silently ignoring them Misc. Improvements * read, read_str, and eval are exposed and documented as top-level functions in the hy module * An experimental let macro has been added to hy.contrib.walk |
||
---|---|---|
.. | ||
patches | ||
ALTERNATIVES | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST |