Make a new release
skx opened this issue · comments
There have been a whole bunch of changes, albeit at reduced speed, so time for a release.
I could look at other lisps forever, so I will continue doing that in the background and leave #115 open for a while longer.
- e.g. Looked at "Ale" and saw this:
- Equality in Ale ≠ Equality in Go - https://www.ale-lang.org/ffi/
- Which lead to me fixing my implementation in #127.
- Updated the LSP support to only calculate possible completions once.
- Updated our CI process to run the lisp-specific test-cases on PRs
- Implemented in #113
- Added
string<
,string=
, and similar methods.- Implemented in #116.
- Added flexible
sort-by
method- Also implemented in #116.
- Implemented
cos
,sin
, andtan
, as well as variants along withpi
.- Implemented in #117.
- Added extra argument testing to
(random)
and(base)
- With test-cases and fuzz-testing for more fixes.
- Implemented in #118.
- Fixed crashes with empty special forms, e.g. "
(print (do))
" and(print (let*()))
.- Fuzzing now looks good, though of course it is impossible to say:
fuzz: elapsed: 19h4m10s, execs: 5319853 (303/sec), new interesting: 492 (total: 4095)
fuzz: elapsed: 19h4m12s, execs: 5319918 (40/sec), new interesting: 492 (total: 4095)
- Fuzzing now looks good, though of course it is impossible to say:
- Allow loading a file with "(require 'foo)"
- Added
stack:push
,stack:pop
, etc.- Implemented in #120.
- Added a config-package, holding helpers for STDIN/STDOUT.
- Added
(version)
. - Added hash/digest functions in #126
(md5)
,(sha1)
, and(sha256)
.
- Hashes are converted to strings with their keys sorted.
- Implemented in #127
- This allows the following code to return "true", as expected:
(eq { :name "Steve" :surname "Kemp" } { :surname "Kemp" :name "Steve" })
New release made: