Release v0.2.0
Added
- Added the
CollReduce
andKVReduce
protocols inbasilisp.core.protocols
and implementedreduce
in terms of those protocols (#927) - Added support for custom data readers (#924)
- Added
*default-data-reader-fn*
(#924) - Added
basilisp.pprint/print-table
function (#983) - Added
basilisp.core/read-seq
function (#986, #999) - Added various compiler arguments to CLI commands (#989)
- Added support for destructuring namespaced symbols using the
:ns/syms
syntax and non-keyword values in standard associative destructuring forms (#836)
Changed
- Improved on the nREPL server exception messages by matching that of the REPL user-friendly format (#968)
- Types created via
deftype
andreify
may declare supertypes as abstract (taking precedence over trueabc.ABC
types) and specify their member list using^:abstract-members
metadata (#942) - Load functions (
load
,load-file
,load-reader
, etc.) now return the value of the last form evaluated. (#984) - nREPL server no longer hangs waiting for client connections to close on exit (#1002)
- Align
basilisp.core/deref
with Clojure to by updating the timeout input argument to be in milliseconds instead of seconds (#1007)
Fixed
- Fix inconsistent behavior with
basilisp.core/with
when thebody
contains more than one form (#981) - Fix an issue with
basilisp.core/time
failing when called outsidebasilisp.core
(#991) - Fix an issue with
basilisp.core/promise
where a thread waiting for a value from another thread might not wake up immediately upon delivery (#983). - Fix using keyword as a function not returning the default value in some cases (#997)
- Fix an issue where Python
SyntaxWarning
s would be emitted for certain compiled code (#996) - Fix an issue where 2- and 3-arity
range
invocations returned unexpected results (#1004)
Removed
- Removed
python-dateutil
andreaderwriterlock
as dependencies, switching to standard library components instead (#976)
Other
- Run PyPy CI checks on Github Actions rather than CircleCI (#971)
Full Changelog: v0.1.1...v0.2.0