(.module: [library [lux (#- Module) [control ["<>" parser ["" binary (#+ Parser)]]] [data ["." text] [collection [set (#+ Set)]] [format ["." binary (#+ Writer)]]] [world [file (#+ Path)]]]] [// ["." artifact (#+ Registry)]]) (type: #export Module Text) (type: #export Descriptor {#name Module #file Path #hash Nat #state Module_State #references (Set Module) #registry Registry}) (def: #export writer (Writer Descriptor) ($_ binary.and binary.text binary.text binary.nat binary.any (binary.set binary.text) artifact.writer )) (def: #export parser (Parser Descriptor) ($_ <>.and .text .text .nat (\ <>.monad wrap #.Cached) (.set text.hash .text) artifact.parser ))