(.module: lux (lux [macro "meta/" Monad]) (luxc (lang (host [scheme #+ Expression]))) [//] (// [".T" runtime])) (def: #export translate-bool (-> Bool (Meta Expression)) (|>> scheme.bool meta/wrap)) (def: #export translate-int (-> Int (Meta Expression)) (|>> scheme.int meta/wrap)) (def: #export translate-nat (-> Nat (Meta Expression)) (|>> (:! Int) scheme.int meta/wrap)) (def: #export translate-deg (-> Deg (Meta Expression)) (|>> (:! Int) scheme.int meta/wrap)) (def: #export translate-frac (-> Frac (Meta Expression)) (|>> scheme.float meta/wrap)) (def: #export translate-text (-> Text (Meta Expression)) (|>> scheme.string meta/wrap))