| Age | Commit message (Collapse) | Author |
|
this is done by setting the ABI version in the ELF header. many thanks to nortti for checking that things otherwise work, and validating that the approach makes sense in terms of FreeBSD's cultural expectations.
Irenes don't have the ability to easily test this on our end, but this is an easy step that can improve compatibility.
Force-Push: yes
Change-Id: I3d55ed240c050839b8a11312f151d0809aef9031
|
|
this was the subject of a bunch of thought. in most languages, we'd argue against having a text-based "include" feature, because there should also be a module system, and textual include subverts the module system because you can't assume everyone will use it.
however, Evocation already very strongly encourages thinking of a program as a sequence of operations (this is after all the definition of a catenative language), and in particular the transformation system already relies very heavily on programs-as-text. so, it seems appropriate for Forth in general and for Evocation in particular.
plus it was easy to implement, because all the infrastructure for it already existed to support the transformation system
Force-Push: yes
Change-Id: I76f778e44b8189ac7052890c881654d971e43c8d
|
|
this had been interfering with intended behavior when hitting EOF. the intent was that key returns 0, then word also returns 0, and finally interpret or the active transformation also notices it's supposed to exit. consume was leaving a stray value on the stack, which prevented all of that.
with this, it should be possible to remove the magic-word end delimiters for the transformations. end of an era :) that'll happen in a followup CL.
Force-Push: yes
Change-Id: Ib87afcf9199cc982250c4e66761c5fb056164fb7
|
|
there was never a good reason for them not to be
plus, the formerly bespoke ones use the generic helpers now; sys-open and sys-close are implemented; and a bug in push-input-buffer and pop-output-buffer is fixed
unfortunately these were breaking changes, so there's another evoke.hex in this one
Change-Id: Ifad58fc2fd757adcf89a69c59575565a10406ec2
Force-Push: yes
|
|
and also sys-write didn't used to return a result
this required a little massaging to make it build, the host evoke needed to not actually pass the file descriptor in evoke.e. for posterity: this was fixed by changing it everywhere else as a one-off, then changing it there and using the intermediate version to build the one being checked in now.
this kind of weirdness is a thing we get the freedom to do because of the bootstrapped distribution model, though we still strongly prefer not to do it unless necessary. this breaking change would have had to happen at some point, so it's considered acceptable.
the size of the diff to evoke.hex is larger than ideal. this raises the need to have a policy for when to regenerate it. since this is a breaking change, it's mandatory. it also seems important to commit a regenerated copy when a release is tagged. it will probably turn out to be a good idea to not regenerate it excessively, otherwise. it's possible that in the long run it might make sense to add name-mapping functionality to hex, just to make the diffs smaller.
Force-Push: yes
Change-Id: I2648b2577c5c21b126e46405e9888b5cb59aa0b7
|
|
this is the first-ever release! wow :33333
have fun y'all!!!!
Force-Push: yes
Change-Id: Ifc95e4e63e4ee477b4c23d83a82f7a1e050f7925
|