Skip to content

Commit 0f7bfc9

Browse files
authored
Refactor compiler with singledispatch (#605)
Some small changes: * Refactor the Analyzer and Generator to use `functools.singledispatch` for some type based dispatch rather than a tree of `if isinstance(...)` branches. * Rename `List`, `Map`, `Set`, and `Vector` to `PersistentList`, `PersistentMap`, `PersistentSet`, and `PersistentVector` respectively.
1 parent 9a4d5b3 commit 0f7bfc9

27 files changed

+881
-795
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2222
* The compiler now uses the pre-computed hash to lookup keywords directly, which should improve lookup time for repeated invocations (#592)
2323
* Symbol hashes are now pre-computed when they are created (#592)
2424
* Moved `basilisp.core.template` to `basilisp.template` to match Clojure (#599)
25+
* Refactor compiler to use `functools.singledispatch` for type based dispatch (#605)
26+
* Rename `List`, `Map`, `Set`, and `Vector` to `PersistentList`, `PersistentMap`, `PersistentSet`, and `PersistentVector` respectively (#605)
2527

2628
### Fixed
2729
* Fixed a bug where `def` forms did not permit recursive references to the `def`'ed Vars (#578)

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ pypy-shell:
4444
@docker run -it \
4545
--mount src=`pwd`,target=/usr/src/app,type=bind \
4646
--workdir /usr/src/app \
47-
pypy:3.6-7.0-slim-jessie \
47+
pypy:3.6-7.3-slim-buster \
4848
/bin/sh -c 'pip install -e . && basilisp repl'
4949

5050

0 commit comments

Comments
 (0)