Release v0.1.dev15
Pre-release
Pre-release
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 tobasilisp.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
tobasilisp.lang.seq
so it can be used within that module and bybasilisp.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
tobasilisp.template
to match Clojure (#599) - Refactor compiler to use
functools.singledispatch
for type based dispatch (#605) - Rename
List
,Map
,Set
, andVector
toPersistentList
,PersistentMap
,PersistentSet
, andPersistentVector
respectively (#605)
Bug Fixes
- Fixed a bug where
def
forms did not permit recursive references to thedef
'ed Vars (#578) - Fixed a bug where
concat
could cause aRecursionEror
if used on aLazySeq
instance which itself callsconcat
(#588) - Fixed a bug where map literals in function reader macro forms caused errors during reading (#599)
- Fixed a bug where
some->
andsome->>
threading macros would threadnil
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)