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
Convert Map to use immutables.Map rather than pyrsistent (#559)
Convert `basilisp.lang.map.Map` and `basilisp.lang.set.Set` to use `immutables.Map` under the hood, rather than the Python-only implementation provided by `pyrsistent`, which should offer some decent performance improvements for both types.
As another performance improvement, most of the basic runtime functions like `first`, `rest`, `cons`, et al were converted to single dispatch (using `@functools.singledispatch`), which should be a little faster than a series of `isinstance` checks.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,6 +17,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
17
17
* Added support for Volatiles (#460)
18
18
* Add JSON encoder and decoder in `basilisp.json` namespace (#484)
19
19
20
+
### Changed
21
+
* Basilisp set and map types are now backed by the HAMT provided by `immutables` (#557)
22
+
20
23
### Fixed
21
24
* Fixed a bug where the Basilisp AST nodes for return values of `deftype` members could be marked as _statements_ rather than _expressions_, resulting in an incorrect `nil` return (#523)
22
25
* Fixed a bug where `defonce` would throw a Python SyntaxError due to a superfluous `global` statement in the generated Python (#525)
@@ -27,6 +30,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
27
30
* Fixed a bug where not all builtin Basilisp types could be pickled (#518)
28
31
* Fixed a bug where `deftype` forms could not be created interfaces declared not at the top-level of a code block in a namespace (#376)
29
32
* Fixed multiple bugs relating to symbol resolution of `import`ed symbols in various contexts (#544)
33
+
* Fixed a bug where the `=` function did not respect the equality partition for various builtin collection types (#556)
0 commit comments