Reorganize NEWS items
This commit is contained in:
parent
6b23da6997
commit
b63f6e4df5
64
NEWS
64
NEWS
@ -1,67 +1,73 @@
|
|||||||
Changes from 0.13.0
|
Changes from 0.13.0
|
||||||
|
|
||||||
[ Language Changes ]
|
[ Removals ]
|
||||||
* Python 3.3 is no longer supported
|
* 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
|
* `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
|
* `apply` has been replaced with Python-style unpacking operators `#*` and
|
||||||
`#**` (e.g., `(f #* args #** kwargs)`)
|
`#**` (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
|
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
|
* `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
|
* The compiler now automatically promotes values to Hy model objects
|
||||||
as necessary, so you can write ``(eval `(+ 1 ~n))`` instead of
|
as necessary, so you can write ``(eval `(+ 1 ~n))`` instead of
|
||||||
``(eval `(+ 1 ~(HyInteger n)))``
|
``(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
|
* `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
|
* `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 `%**`
|
* `#%` works on any expression and has a new `&kwargs` parameter `%**`
|
||||||
* new `doc` macro and `#doc` tag macro
|
* Added a macro `doc` and a tag macro `#doc`
|
||||||
* support for PEP 492 with `fn/a`, `defn/a`, `with/a` and `for/a`
|
* `get` is available as a function
|
||||||
* remove `def`
|
* `~@` (`unquote-splice`) form now accepts any false value as empty
|
||||||
* support for relative imports (PEP 328)
|
|
||||||
|
|
||||||
[ Bug Fixes ]
|
[ Bug Fixes ]
|
||||||
|
* Relative imports (PEP 328) are now allowed
|
||||||
* Numeric literals are no longer parsed as symbols when followed by a dot
|
* Numeric literals are no longer parsed as symbols when followed by a dot
|
||||||
and a symbol
|
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
|
* 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
|
* Tag macros (née sharp macros) whose names begin with `!` are no longer
|
||||||
mistaken for shebang lines
|
mistaken for shebang lines
|
||||||
* Fixed a bug where REPL history wasn't saved if you quit the REPL with
|
* Fixed a bug where REPL history wasn't saved if you quit the REPL with
|
||||||
`(quit)` or `(exit)`
|
`(quit)` or `(exit)`
|
||||||
* `exec` now works under Python 2
|
* `exec` now works under Python 2
|
||||||
* No TypeError from multi-arity defn returning values evaluating to None
|
* No TypeError from multi-arity `defn` returning values evaluating to `None`
|
||||||
* try form now possible in defmacro/deftag
|
* `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 `macroexpand`ing a macro with a named import
|
||||||
* Fixed a crash when `with` suppresses an exception. `with` now returns
|
* Fixed a crash when `with` suppresses an exception. `with` now returns
|
||||||
`None` in this case.
|
`None` in this case.
|
||||||
* Fixed a crash when --repl-output-fn raises an exception
|
* 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 `HyTypeError` was raised with objects that had no
|
||||||
source position
|
source position
|
||||||
* `assoc` now evaluates its arguments only once each
|
* `assoc` now evaluates its arguments only once each
|
||||||
* `break` and `continue` now raise an error when given arguments
|
* Multiple expressions are now allowed in the `else` clause of
|
||||||
instead of silently ignoring them
|
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
|
* `else` clauses in `for` and `while` are recognized more reliably
|
||||||
* Statements in the condition of a `while` loop are repeated properly
|
* Statements in the condition of a `while` loop are repeated properly
|
||||||
* Argument destructuring no longer interferes with function docstrings.
|
* Argument destructuring no longer interferes with function docstrings
|
||||||
* Multiple expressions are now allowed in `try`
|
* Nullary `yield-from` is now a syntax error
|
||||||
* `(yield-from)` is now a syntax error
|
* `break` and `continue` now raise an error when given arguments
|
||||||
|
instead of silently ignoring them
|
||||||
|
|
||||||
[ Misc. Improvements ]
|
[ Misc. Improvements ]
|
||||||
* `read`, `read_str`, and `eval` are exposed and documented as top-level
|
* `read`, `read_str`, and `eval` are exposed and documented as top-level
|
||||||
functions in the `hy` module
|
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
|
Changes from 0.12.1
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user