2013-12-01 19:19:53 +01:00
|
|
|
|
Changes from Hy 0.9.11
|
|
|
|
|
|
2013-12-31 18:04:43 +01:00
|
|
|
|
tl;dr:
|
|
|
|
|
|
|
|
|
|
0.9.12 comes with some massive changes,
|
|
|
|
|
We finally took the time to implement gensym, as well as a few
|
|
|
|
|
other bits that help macro writing. Check the changelog for
|
|
|
|
|
what exactly was added.
|
|
|
|
|
|
|
|
|
|
The biggest feature, Reader Macros, landed later
|
|
|
|
|
in the cycle, but were big enough to warrent a release on it's
|
|
|
|
|
own. A huge thanks goes to Foxboron for implementing them
|
|
|
|
|
and a massive hug goes out to olasd for providing ongoing
|
|
|
|
|
reviews during the development.
|
|
|
|
|
|
2013-12-31 18:39:37 +01:00
|
|
|
|
Welcome to the new Hy contributors, Henrique Carvalho Alves,
|
|
|
|
|
Kevin Zita and Kenan Bölükbaşı. Thanks for your work so far,
|
|
|
|
|
folks!
|
2013-12-31 18:04:43 +01:00
|
|
|
|
|
2013-12-31 18:39:37 +01:00
|
|
|
|
Hope y'all enjoy the finest that 2013 has to offer,
|
|
|
|
|
- Hy Society
|
2013-12-31 18:04:43 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Special thanks goes to Willyfrog, Foxboron and theanalyst for writing
|
|
|
|
|
0.9.12's NEWS. Thanks, y'all! (PT)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[ Language Changes ]
|
|
|
|
|
* Translate foo? -> is_foo, for better Python interop. (PT)
|
|
|
|
|
* Reader Macros!
|
|
|
|
|
* Operators + and * now can work without arguments
|
|
|
|
|
* Define kwapply as a macro
|
|
|
|
|
* Added apply as a function
|
|
|
|
|
* Instant symbol generation with gensym
|
|
|
|
|
* Allow macros to return None
|
|
|
|
|
* Add a method for casting into byte string or unicode depending on python version
|
|
|
|
|
* flatten function added to language
|
|
|
|
|
* Add a method for casting into byte string or unicode depending on python version
|
|
|
|
|
* Added type coercing to the right integer for the platform
|
|
|
|
|
|
|
|
|
|
|
2013-12-01 19:19:53 +01:00
|
|
|
|
[ Misc. Fixes ]
|
2013-12-31 18:04:43 +01:00
|
|
|
|
* Added information about core team members
|
|
|
|
|
* Documentation fixed and extended
|
|
|
|
|
* Add astor to install_requires to fix hy --spy failing on hy 0.9.11.
|
|
|
|
|
* Convert stdout and stderr to UTF-8 properly in the run_cmd helper.
|
|
|
|
|
* Update requirements.txt and setup.py to use rply upstream.
|
|
|
|
|
* tryhy link added in documentation and README
|
|
|
|
|
* Command line options documented
|
|
|
|
|
* Adding support for coverage tests at coveralls.io
|
|
|
|
|
* Added info about tox, so people can use it prior to a PR
|
|
|
|
|
* Added the start of hacking rules
|
|
|
|
|
* Halting Problem removed from example as it was nonfree
|
|
|
|
|
* Fixed PyPI is now behind a CDN. The --use-mirrors option is deprecated.
|
|
|
|
|
* Badges for pypi version and downloads.
|
|
|
|
|
|
|
|
|
|
|
2013-12-01 19:19:53 +01:00
|
|
|
|
[ Syntax Fixes ]
|
2013-12-31 18:04:43 +01:00
|
|
|
|
* get allows multiple arguments
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[ Bug Fixes ]
|
|
|
|
|
* OSX: Fixes for readline Repl problem which caused HyREPL not allowing 'b'
|
|
|
|
|
* Fix REPL completions on OSX
|
|
|
|
|
* Make HyObject.replace more resilient to prevent compiler breakage.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[ Contrib changes ]
|
|
|
|
|
* Anaphoric macros added to contrib
|
|
|
|
|
* Modified eg/twisted to follow the newer hy syntax
|
|
|
|
|
* Added (experimental) profile module
|
|
|
|
|
|
2013-12-01 19:19:53 +01:00
|
|
|
|
|
2013-11-13 03:56:56 +01:00
|
|
|
|
Changes from Hy 0.9.10
|
|
|
|
|
|
|
|
|
|
* Many thanks to Guillermo Vayá (Willyfrog) for preparing this release's
|
|
|
|
|
release notes. Major shout-out. (PT)
|
|
|
|
|
|
|
|
|
|
[ Misc. Fixes ]
|
|
|
|
|
|
|
|
|
|
* Many many many documentation fixes
|
|
|
|
|
* Change virtualenv name to be `hy'
|
|
|
|
|
* Rewrite language.hy not to require hy.core.macros
|
|
|
|
|
* Rewrite the bootstrap macros in hy
|
|
|
|
|
* Cleanup the hy.macros module
|
|
|
|
|
* Add comments to the functions and reorder them
|
|
|
|
|
* Translation of meth from Python to Hy
|
|
|
|
|
* PY3 should really check for Python >= 3
|
|
|
|
|
* Add hy._compat module to unify all Python 2 and 3 compatibility codes.
|
|
|
|
|
* Import future.print_statement in hy code
|
|
|
|
|
* Coerce the contents of unquote-splice'd things to a list
|
|
|
|
|
* Various setup.py enhancements.
|
|
|
|
|
* PEP8 fixes
|
|
|
|
|
* Use setuptools.find_packages()
|
|
|
|
|
* Update PyPI classifiers
|
|
|
|
|
* Update website URL
|
|
|
|
|
* Install the argparse module in Python 2.6 and before
|
|
|
|
|
* Delete the duplicate rply in install_requires. With the PyPI version,
|
|
|
|
|
tests are failed.
|
|
|
|
|
* Finally fixed access to hy.core.macros here. have to explicitly require
|
|
|
|
|
them.
|
|
|
|
|
|
|
|
|
|
[ Language Changes ]
|
|
|
|
|
|
|
|
|
|
* Slightly cleaner version of drop-while, could use yield-from when ready
|
|
|
|
|
* Added many native core functions
|
|
|
|
|
* Add zero? predicate to check if an object is zero
|
|
|
|
|
* Macro if-python2 for compile-time choice between Python 2 and Python 3
|
|
|
|
|
code branches
|
|
|
|
|
* Added new travis make target to skip flake8 on pypy but run
|
|
|
|
|
it on all others
|
|
|
|
|
* Add "spy mode" to REPL
|
|
|
|
|
* Add CL handling to hyc
|
|
|
|
|
* Add yield from via macro magic.
|
|
|
|
|
* Add some machinery to avoid importing hy in setup.py
|
|
|
|
|
* Add a rply-based parser and lexer
|
|
|
|
|
* Allow quoting lambda list keywords.
|
|
|
|
|
* Clarified rest / cdr, cleaned up require
|
|
|
|
|
* Make with return the last expression from its branch
|
|
|
|
|
* Fix yielding to not suck (#151)
|
|
|
|
|
* Make assoc accept multiple values, also added a even/odd check for
|
|
|
|
|
checkargs
|
|
|
|
|
* Added ability to parse doc strings set in defclass declarations,
|
|
|
|
|
* Provide bin scripts for both Windows and *nix
|
|
|
|
|
* Removes setf in favor of setv
|
|
|
|
|
|
2013-07-07 20:03:25 +02:00
|
|
|
|
Changes from Hy 0.9.9
|
|
|
|
|
|
|
|
|
|
[ Stupid Fixes ]
|
|
|
|
|
|
|
|
|
|
* I forgot to include hy.core.language in the sdist. (PT)
|
|
|
|
|
|
2013-07-05 04:25:40 +02:00
|
|
|
|
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)
|
2013-07-06 21:04:11 +02:00
|
|
|
|
* Importing a broken module's behavior now matches Python's more
|
|
|
|
|
closely. (Morten Linderud)
|
2013-07-05 04:25:40 +02:00
|
|
|
|
|
|
|
|
|
[ 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)
|
|
|
|
|
|
|
|
|
|
|
2013-05-08 15:50:43 +02:00
|
|
|
|
Changes from Hy 0.9.7
|
|
|
|
|
|
|
|
|
|
[ Syntax Fixes ]
|
|
|
|
|
|
2013-05-12 19:40:21 +02:00
|
|
|
|
* 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)
|
2013-05-08 15:50:43 +02:00
|
|
|
|
* (fn) and (lambda) have been merged (ND)
|
|
|
|
|
* New (defclass) builtin for class definitions (JD)
|
2013-05-12 19:40:21 +02:00
|
|
|
|
* 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.
|
2013-05-08 15:50:43 +02:00
|
|
|
|
|
2013-05-06 05:03:55 +02:00
|
|
|
|
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
|
2013-05-06 13:58:14 +02:00
|
|
|
|
more as a symbol. (ND)
|
2013-05-06 05:03:55 +02:00
|
|
|
|
* (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)
|
|
|
|
|
|
|
|
|
|
|
2013-04-15 04:17:15 +02:00
|
|
|
|
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 ]
|
2013-04-15 04:19:33 +02:00
|
|
|
|
|
|
|
|
|
=============== WARNING: WARNING: READ ME: READ ME: ===================
|
2013-04-15 04:17:15 +02:00
|
|
|
|
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)
|
|
|
|
|
|
2013-04-08 15:58:43 +02:00
|
|
|
|
Changes from Hy 0.9.4
|
|
|
|
|
|
|
|
|
|
[ Syntax Fixes ]
|
|
|
|
|
|
|
|
|
|
* `try' now accepts `else': (JD)
|
|
|
|
|
(try BODY
|
|
|
|
|
(except [] BODY)
|
|
|
|
|
(else BODY))
|
|
|
|
|
|
|
|
|
|
|
2013-04-07 18:47:07 +02:00
|
|
|
|
Changes from Hy 0.9.4
|
|
|
|
|
|
|
|
|
|
[ Syntax Fixes ]
|
|
|
|
|
|
2013-04-08 01:44:52 +02:00
|
|
|
|
* Statements in the `fn' path early will not return anymore. (PT)
|
2013-04-07 19:03:45 +02:00
|
|
|
|
* Added "not" as the inline "not" operator. It's advised to still
|
2013-04-07 18:47:07 +02:00
|
|
|
|
use "not-in" or "is-not" rather then nesting. (JD)
|
2013-04-07 20:32:47 +02:00
|
|
|
|
* `let' macro added (PT)
|
2013-04-07 19:03:45 +02:00
|
|
|
|
* Added "~" as the "invert" operator. (JD)
|
2013-04-07 18:47:07 +02:00
|
|
|
|
* `catch' now accepts a new format: (JD)
|
|
|
|
|
(catch [] BODY)
|
|
|
|
|
(catch [Exception] BODY)
|
|
|
|
|
(catch [e Exception] BODY)
|
|
|
|
|
(catch [e [Exception1 Exception2]] BODY)
|
2013-04-08 00:35:36 +02:00
|
|
|
|
* 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)
|
2013-04-07 18:47:07 +02:00
|
|
|
|
|
|
|
|
|
[ Language Changes ]
|
|
|
|
|
|
2013-04-08 00:18:02 +02:00
|
|
|
|
* Added `and' and `or' (GN)
|
2013-04-07 21:07:24 +02:00
|
|
|
|
* Added the tail threading macro (->>) (PT)
|
2013-04-07 18:47:07 +02:00
|
|
|
|
* 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)
|
2013-04-07 19:24:46 +02:00
|
|
|
|
have been added. '(print (if true true true))' (PT)
|
2013-04-07 18:47:07 +02:00
|
|
|
|
|
|
|
|
|
[ Documentation ]
|
|
|
|
|
|
2013-04-07 19:24:46 +02:00
|
|
|
|
* Initial documentation added to the source tree. (PT)
|
2013-04-07 18:47:07 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Changes from Hy 0.9.3
|
|
|
|
|
|
|
|
|
|
[ Syntax Fixes ]
|
2013-04-07 19:03:45 +02:00
|
|
|
|
|
|
|
|
|
* 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)
|
|
|
|
|
|
2013-04-07 18:47:07 +02:00
|
|
|
|
[ Language Changes ]
|
2013-04-07 19:03:45 +02:00
|
|
|
|
|
|
|
|
|
* 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)
|
2013-04-07 20:32:47 +02:00
|
|
|
|
* `while' form added. (ND)
|
|
|
|
|
(while [CONDITIONAL] BODY)
|
2013-04-07 19:03:45 +02:00
|
|
|
|
|
2013-04-07 18:47:07 +02:00
|
|
|
|
[ Documentation ]
|
|
|
|
|
|
2013-04-07 19:03:45 +02:00
|
|
|
|
* Initial docs added. (WKG + CW)
|
|
|
|
|
|
2013-04-07 18:47:07 +02:00
|
|
|
|
|
|
|
|
|
Changes from Hy 0.9.2
|
|
|
|
|
|
2013-04-07 19:24:19 +02:00
|
|
|
|
[ General Enhancements ]
|
|
|
|
|
|
|
|
|
|
* hy.__main__ added, `python -m hy' will now allow a hy shim into existing
|
|
|
|
|
Python scripts. (PT)
|
|
|
|
|
|
2013-04-07 18:47:07 +02:00
|
|
|
|
[ Language Changes ]
|
|
|
|
|
|
2013-04-07 19:24:19 +02:00
|
|
|
|
* `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)
|
|
|
|
|
|
2013-04-07 18:47:07 +02:00
|
|
|
|
|
|
|
|
|
Changes from Hy 0.9.1
|
|
|
|
|
|
2013-04-07 19:24:19 +02:00
|
|
|
|
[ General Enhancements ]
|
|
|
|
|
|
|
|
|
|
* Hy REPL added. (PT)
|
|
|
|
|
* Doc templates added. (PT)
|
|
|
|
|
|
2013-04-07 18:47:07 +02:00
|
|
|
|
[ Language Changes ]
|
|
|
|
|
|
2013-04-07 19:24:19 +02:00
|
|
|
|
* 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)
|
|
|
|
|
|
2013-04-07 18:47:07 +02:00
|
|
|
|
|
|
|
|
|
Changes from Hy 0.9.0
|
|
|
|
|
|
|
|
|
|
[ Language Changes ]
|
|
|
|
|
|
2013-04-07 19:24:19 +02:00
|
|
|
|
* Add `throw' (PT)
|
|
|
|
|
* Add `try' (PT)
|
|
|
|
|
* add `catch' (PT)
|
|
|
|
|
|
2013-04-07 18:47:07 +02:00
|
|
|
|
|
|
|
|
|
Changes from Hy 0.8.2
|
|
|
|
|
|
2013-04-07 19:24:19 +02:00
|
|
|
|
[ Notes ]
|
|
|
|
|
|
|
|
|
|
* Complete rewrite of old-hy. (PT)
|