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