diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/lux/lang/compiler/default/cache.lux | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/stdlib/source/lux/lang/compiler/default/cache.lux b/stdlib/source/lux/lang/compiler/default/cache.lux new file mode 100644 index 000000000..a878e1615 --- /dev/null +++ b/stdlib/source/lux/lang/compiler/default/cache.lux @@ -0,0 +1,33 @@ +(.module: + lux + (lux (data (format [binary #+ Binary])))) + +(def: definition + (Binary Definition) + ($_ binary.seq binary.type binary.code binary.any)) + +(def: alias + (Binary [Text Text]) + (binary.seq binary.text binary.text)) + +## TODO: Remove #module-hash, #imports & #module-state ASAP. +## TODO: Not just from this parser, but from the lux.Module type. +(def: #export module + (Binary Module) + ($_ binary.seq + ## #module-hash + (binary.ignore +0) + ## #module-aliases + (binary.list ..alias) + ## #definitions + (binary.list (binary.seq binary.text ..definition)) + ## #imports + (binary.list binary.text) + ## #tags + (binary.ignore (list)) + ## #types + (binary.ignore (list)) + ## #module-annotations + (binary.maybe binary.code) + ## #module-state + (binary.ignore #.Cached))) |