(.module: [lux (#- nat int rev) [control monad]] ["." // (#+ Analysis Operation) [".A" type] ["/." //]]) ## [Analysers] (do-template [ ] [(def: #export ( value) (-> (Operation Analysis)) (do ///.Monad [_ (typeA.infer )] (wrap (#//.Primitive ( value)))))] [bit Bit #//.Bit] [nat Nat #//.Nat] [int Int #//.Int] [rev Rev #//.Rev] [frac Frac #//.Frac] [text Text #//.Text] ) (def: #export unit (Operation Analysis) (do ///.Monad [_ (typeA.infer Any)] (wrap (#//.Primitive #//.Unit))))