about summary refs log tree commit diff
path: root/compilation
AgeCommit message (Collapse)Author
7 daysrework the interface to "enchant" to support different kinds of executablesIrene Knapp
so, in particular, "hex" now builds with the new syntax to implement this, "enchant" now passes the full structure through to "output-contents", which makes it easier to extend. additionally, when inscribing, the source of "evoke" needs to be included in the scope of the hex transform even when the program being compiled is something else, so that it can carefully interfere with the other transforms. this is now implemented, though in an inelegant way that could do with some cleanup. (that last sentence could be the slogan of the whole project :D) Change-Id: I553afadba350a62d6e97a21df2b3e821685b9c0c Force-Push: yes
8 daysyessssssssssss, nice clean invocation nowIrene Knapp
Force-Push: yes Change-Id: Id3bfde4a2053c9f07fd596def8381afc505949eb
8 daysmove to a struct-based definition of compilation inputsIrene Knapp
the migration process was a pain - order of operations for the rebuild was rough to figure out - but the actual implementation is way easier than all that stack juggling Force-Push: yes Change-Id: I8bbe4dfb39e5f0ed69f9759e87ac6ab79ec7558b
8 daystrack the filename of an input bufferIrene Knapp
this also includes some slightly better facilities for handling temporary strings Change-Id: Idf5e6fd8ade675d7ceb73264d10895fe8da578d6 Force-Push: yes
9 daysreduce long-string-comment-wrap-thresholdIrene Knapp
it looks better this way, subjectively Force-Push: yes Change-Id: Iab60ad726cd8711326a19839bd6f8141238f23a7
9 daysuse the new x' everywhere it's applicableIrene Knapp
you may infer from the size of the CL that we've been wanting this for QUITE A WHILE Force-Push: yes Change-Id: Iaa6ff8f40bd4020a75b81aadd87874cc8d512123
9 daysimplement x'Irene Knapp
this word is like ' and is shorthand to look up an execution token Force-Push: yes Change-Id: I672eb0c56f8eadc02a8aca14c2b5c6028a218b1b
9 daysrefactor the compilation harnessIrene Knapp
it's more declarative now. however, at the moment it only produces the one type of executable, so it's only for building "evoke", not "hex". hopefully that can be fixed soon. Change-Id: Id970b9952fcd73ba6da4fa503ae2f784afe1b8a7 Force-Push: yes
9 daysoops, missing line from the boot-source header textIrene Knapp
Force-Push: yes Change-Id: I1418c077e16cd9d7d1e1ac99ff85e5e78b38768d
9 daysfix comment position in the boot-source dictionary entry headerIrene Knapp
Force-Push: yes Change-Id: I94592083435e024d9a87122f4d5529cdb98f8e06
9 daysadd everything in compilation/ to the boot-sourceIrene Knapp
this means it's now always available it does make evoke.hex significantly larger! Force-Push: yes Change-Id: I4017b2a666fd456b851dc1b77d1ee7ef5360b35b
9 daysspecial comment formatting for hex dumps of very long stringsIrene Knapp
this will help with the boot-source there's a lot of nuanced decisions that go into this; the comments explain in depth Change-Id: I391c937a04398115849f4308940d3b4df519c9ab Force-Push: yes
10 daysuse regular comment entries with the new string syntax for stringsIrene Knapp
Change-Id: I2a903031c08c1182c0c4811e7b137c2db08195fe Force-Push: yes
10 dayskeep a running size count of the metadata entry arrayIrene Knapp
and use it where appropriate this substantially reduces the runtime of the hex transform Change-Id: I910dd3bfaf669ff2c96646d52664824268025108 Force-Push: yes
10 daysadd a new hex comment template syntax for stringsIrene Knapp
now strings no longer have to be a hardcoded feature, though they still are. this was part of a larger exploration most of which turned out not to be the best immediate direction, so the parts that are worth keeping are being checked in now to allow exploring in a different direction. Force-Push: yes Change-Id: Iafe70bd5b3f5756e1d9f3c0b400d7644d3149054
2026-09-29add a constant string "boot-source" which is run at startupIrene Knapp
this will allow us to have compiled-in code that wouldn't run under the transforms, though we don't add anything of substance just yet this strategy was used early in bring-up, in the historical flatassembler version of Evocation, so the design space of it is already well-explored in Irenes' head. how pleasant. :) Force-Push: yes Change-Id: I722cddb77657df9ca518c0d9841aa587bf63feb3
2026-09-28move all the source files into subdirectoriesIrene Knapp
and rename one, linux-dynamic.e to language/dynamic/linux.e. also make sure all references in comments and documentation refer to the new locations and names. this directory structure reflects code organization which had existed in Irenes' head, but was likely not obvious to other readers. now hopefully it is more discoverable. Force-Push: yes Change-Id: Icfef3eae812a50fe20202191999e68e1f7db445a