Reorganize NEWS items

This commit is contained in:
Kodi Arfer 2018-02-06 16:27:19 -08:00
parent 6b23da6997
commit b63f6e4df5

64
NEWS
View File

@ -1,67 +1,73 @@
Changes from 0.13.0
[ Language Changes ]
[ Removals ]
* Python 3.3 is no longer supported
* The unquote-splice or ~@ form now accepts any false value as empty.
* `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 ]
* `apply` has been replaced with Python-style unpacking operators `#*` and
`#**` (e.g., `(f #* args #** kwargs)`)
* Single-character "sharp macros" changed to "tag macros", which can have
* Single-character "sharp macros" are now "tag macros", which can have
longer names
* Periods are no longer allowed in keywords
* `xi` from `hy.extra.anaphoric` is now a tag macro `#%`
* `eval` is now a function instead of a special form
* Added a form of string literal called "bracket strings" delimited by
`#[FOO[` and `]FOO]`, where `FOO` is customizable
[ 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)))``
* Literal `Inf`s and `NaN`s must now be capitalized like that
* Numeric literals can no longer begin with a comma or underscore
* `get` is available as a function
* new `comment` macro
* support EDN `#_` syntax to discard the next term
* `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 a macro `comment`
* Added EDN `#_` syntax to discard the next term
* `while` loops may now contain an `else` clause, like `for` loops
* `xi` from `hy.extra.anaphoric` is now the `#%` tag macro
* `#%` works on any expression and has a new `&kwargs` parameter `%**`
* new `doc` macro and `#doc` tag macro
* support for PEP 492 with `fn/a`, `defn/a`, `with/a` and `for/a`
* remove `def`
* support for relative imports (PEP 328)
* 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
* 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 form now possible in defmacro/deftag
* 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
* 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
* `break` and `continue` now raise an error when given arguments
instead of silently ignoring them
* Multiple expressions are now allowed in the else clause of
a for loop
* 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.
* Multiple expressions are now allowed in `try`
* `(yield-from)` is now a syntax error
* 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
* Experimental `let` macro in `hy.contrib.walk`
* An experimental `let` macro has been added to `hy.contrib.walk`
Changes from 0.12.1