36 lines
2.2 KiB
Markdown
36 lines
2.2 KiB
Markdown
# Change Log
|
|
All notable changes to this project will be documented in this file. This change log follows the conventions of [keepachangelog.com](http://keepachangelog.com/).
|
|
|
|
## [0.3.0] - 2023-04-10
|
|
|
|
### Changed
|
|
|
|
- Added property lists in the exact format used by Lisp 1.5;
|
|
- Added `ASSOC`, `EFFACE`, `MAPLIST`, `PROG`, and other functions;
|
|
- Where there are both interpreted (`EXPR`) and Clojure (`SUBR`) implementations of the same function, the `EXPR` is preferred (it is planned to make this configurable if/when there is a working compiler);
|
|
- More error messages/diagnostics are now printed in Old English (it is planned to implement internationalisation so that you can switch to messages you actually understand);
|
|
- Documentation improvements.
|
|
|
|
## [0.2.1] - 2023-03-30
|
|
|
|
### Changed
|
|
- this is fundamentally a working Lisp. The reader reads S-Expressions fully and M-Expressions at least partially. It is not (yet) a feature complete Lisp 1.5.
|
|
|
|
### Added
|
|
- working `EVAL`, `APPLY`, `READ` and 24 other basic functions, of which at least four are not actually parts of the Lisp 1.5 specification. However, sufficient are present to allow the
|
|
vast majority of Lisp 1.5 functions to be defined.
|
|
|
|
### Known to be missing
|
|
|
|
- the array feature: `ARRAY`: planned, but not yet implemented.
|
|
- constants: `CSET`, `CSETQ`: planned, but not yet implemented.
|
|
- the compiler: `COMMON`, `COMPILE`, `LAP`, `OPDEFINE`, `READLAP`, `SPECIAL`, `UNCOMMON`, `UNSPECIAL`: not currently planned.
|
|
- property lists: `ATTRIB`, `GETPROP`, `PUTPROP`; these are planned, but not yet implemented.
|
|
- obsolete hardware related functions: `PUNCH`; not currently planned.
|
|
- memory debugging: `COUNT`; not currently planned.
|
|
- character I/O functions: `ADVANCE`, `CLEARBUFF`, `ENDREAD`, `INTERN`, `MKNAM`, `NUMOB`, `STARTREAD`, `UNPACK`; These are planned, but depend on working character I/O at Clojure level, which depends on JLine and looks like a lot of work.
|
|
- character classifying predicates: `LITER`, `DIGIT`, `OPCHAR`, `DASH`; these are planned but will probably wait for character I/O. Characters are not at this stage first class objects.
|
|
|
|
[Unreleased]: https://github.com/your-name/beowulf/compare/0.1.1...HEAD
|
|
[0.1.1]: https://github.com/your-name/beowulf/compare/0.1.0...0.1.1
|