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