You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reader macros now always read a full identifier after the initial #. Thus, #*foo is now parsed as a call to the reader macro named *foo; to unpack a variable named foo, say #* foo.
The names of reader macros names are no longer mangled.
Question marks (?) are no longer mangled specially, so foo? now mangles to hyx_fooXquestion_markX instead of is_foo.
hy2py's recursive mode now expects a module name as input, not any old directory. You must be in the parent directory of the module directory.
New Features
Python 3.12 is now supported.
New built-in object hy.M for easy imports in macros.
cut now has a function version in hy.pyops.
The py macro now implicitly parenthesizes the input code, so Python's indentation restrictions don't apply.
try no longer requires except, except*, or finally, and it allows else even without except or except*.
nonlocal and global can now be called with no arguments, in which case they're no-ops.
For easier reading, hy --spy now prints a delimiter after the Python equivalent of your code, before the result of evaluating the code.
Bug Fixes
Fixed an installation failure in some situations when version lookup fails.
Fixed some bugs with traceback pointing.
Fixed some bugs with escaping in bracket f-strings
The parser no longer looks for shebangs in the REPL or hy -c.
require with relative module names should now work correctly with hy -m, as well as hy2py's recursive mode.
hy.models.Symbol no longer allows constructing a symbol beginning with #.