Releases: gatlin/precursor-ts
v1.0.0
Biggest changes are adding TSDoc and TypeDoc and actually writing useful documentation. Additionally, the Value / Kont type hierarchy was changed and clarified. Some typos were fixed in the README, which was greatly simplified, and also I did a lot of unprofessional commits directly to main to test some packaging issues.
Regardless of how it came to be, here it is: the first version of Precursor I'm comfortable with people using.
v0.7.0: no more state
The CESKM class no longer stores its final result on the class as a result
property; rather, now step
returns an IteratorResult
.
v0.6.0
API changes:
CESKM
constructor
CESKM
no longer has a constructor, and thus no longer expects a program when an instance is constructed. Instead,
make_initial_state()
now has a single argument
I'm not quite sure why but before, any given (derived-)instance of CESKM
would be bound to one single Cbpv
control expression, and make_initial_state
was kind of silly and unnecessary.
In keeping with the intended purpose of the library, make_initial_state
is now a coalgebra taking Cbpv
expressions to State
s suitable for usage in a state machine transition.
Other changes:
friendship with jest ended, TAP is my new best friend now
Tap is simple and I simply like it. I have started adopting it in other projects and I would prefer to stick to one testing suite.
new values and continuations
redefine values and continuations (#24) * redefining value and continuation types, and giving letks multiple bound symbols now * updating example accordingly * cleanup * removing redundant output paths for the machine result Value * removing redundant output paths for the machine result Value * fixing a regression * fixing a regression * idk * version bump * preparing for release
example finally worth a damn
v0.4.2 improved example, linted
v0.4.0
ES Modules
v0.3.1 version 0.3.1
Cleaned up env and store, streamlined types, and some jargon changes.
The convention for the builtin parser is now that primops will be prefixed with op:
not prim:
. Also they're just op
s now, in common language as well as in the name of the CESKM
method.
No more builtin values
Generic values (#9) * redefining Value (and thus CESKM) to be more general * much, much better readme * readme bikeshedding * undoing readme bikeshedding * Kont<T> is now 'tagless' * slowly but surely improving the readme; package.json * a little more readme finesse
internal representation fiddling, new primops
v0.1.6 v0.1.6