Skip to content

Release v0.1.dev15

Pre-release
Pre-release
Compare
Choose a tag to compare
@chrisrink10 chrisrink10 released this 22 Apr 12:50
ca78e9f

New Features

  • Added support for auto-resolving namespaces for keyword from the current namespace using the ::kw syntax (#576)
  • Added support for namespaced map syntax (#577)
  • Added support for numeric constant literals for NaN, positive infinity, and negative infinity (#582)
  • Added *basilisp-version* and *python-version* Vars to basilisp.core (#584)
  • Added support for function decorators to defn (#585)
  • Added the current Python version (:lpy36, :lpy37, etc.) as a default reader feature for reader conditionals (#585)
  • Added default reader features for matching Python version ranges (:lpy36+, :lpy38-, etc.) (#593)
  • Added lazy-cat function for lazily concatenating sequences (#588)
  • Added support for writing EDN strings from basilisp.edn (#600)
  • Added a persistent queue data type (#606)
  • Added support for transducers (#601)
  • Added support for Python 3.9 (#608)
  • Added support for 3-way comparators (#609)

Changed

  • Moved basilisp.lang.runtime.to_seq to basilisp.lang.seq so it can be used within that module and by basilisp.lang.runtime without circular import (#588)
  • Keyword hashes are now pre-computed when they are created, so they do not need to be recomputed again to be fetched from the intern cache (#592)
  • The compiler now uses the pre-computed hash to lookup keywords directly, which should improve lookup time for repeated invocations (#592)
  • Symbol hashes are now pre-computed when they are created (#592)
  • Moved basilisp.core.template to basilisp.template to match Clojure (#599)
  • Refactor compiler to use functools.singledispatch for type based dispatch (#605)
  • Rename List, Map, Set, and Vector to PersistentList, PersistentMap, PersistentSet, and PersistentVector respectively (#605)

Bug Fixes

  • Fixed a bug where def forms did not permit recursive references to the def'ed Vars (#578)
  • Fixed a bug where concat could cause a RecursionEror if used on a LazySeq instance which itself calls concat (#588)
  • Fixed a bug where map literals in function reader macro forms caused errors during reading (#599)
  • Fixed a bug where some-> and some->> threading macros would thread nil first arguments (#599)

Removed

  • Removed pyfunctional dependency in favor of Python standard library functions (#589)

Other

  • Basilisp uses poetry for dependency and virtual environment management, as well as for publishing to PyPI (#616)