about summary refs log tree commit diff
path: root/compilation
AgeCommit message (Collapse)Author
2026-10-06rework 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
2026-10-05yessssssssssss, nice clean invocation nowIrene Knapp
Force-Push: yes Change-Id: Id3bfde4a2053c9f07fd596def8381afc505949eb
2026-10-05move 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
2026-10-05track the filename of an input bufferIrene Knapp
this also includes some slightly better facilities for handling temporary strings Change-Id: Idf5e6fd8ade675d7ceb73264d10895fe8da578d6 Force-Push: yes
2026-10-05reduce long-string-comment-wrap-thresholdIrene Knapp
it looks better this way, subjectively Force-Push: yes Change-Id: Iab60ad726cd8711326a19839bd6f8141238f23a7
2026-10-05use 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
2026-10-05implement x'Irene Knapp
this word is like ' and is shorthand to look up an execution token Force-Push: yes Change-Id: I672eb0c56f8eadc02a8aca14c2b5c6028a218b1b
2026-10-05refactor 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
2026-10-04oops, missing line from the boot-source header textIrene Knapp
Force-Push: yes Change-Id: I1418c077e16cd9d7d1e1ac99ff85e5e78b38768d
2026-10-04fix comment position in the boot-source dictionary entry headerIrene Knapp
Force-Push: yes Change-Id: I94592083435e024d9a87122f4d5529cdb98f8e06
2026-10-04add 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
2026-10-04special 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
2026-10-04use regular comment entries with the new string syntax for stringsIrene Knapp
Change-Id: I2a903031c08c1182c0c4811e7b137c2db08195fe Force-Push: yes
2026-10-04keep 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
2026-10-03add 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