aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/lang/translation/scheme/primitive.jvm.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/lux/lang/translation/scheme/primitive.jvm.lux22
1 files changed, 22 insertions, 0 deletions
diff --git a/stdlib/source/lux/lang/translation/scheme/primitive.jvm.lux b/stdlib/source/lux/lang/translation/scheme/primitive.jvm.lux
new file mode 100644
index 000000000..ac775fa82
--- /dev/null
+++ b/stdlib/source/lux/lang/translation/scheme/primitive.jvm.lux
@@ -0,0 +1,22 @@
+(.module:
+ [lux #- i64]
+ [/// #+ State]
+ (//// [compiler #+ "operation/" Monad<Operation>]
+ (host ["_" scheme #+ Expression]))
+ [//runtime #+ Operation])
+
+(def: #export bool
+ (-> Bool (Operation Expression))
+ (|>> _.bool operation/wrap))
+
+(def: #export i64
+ (-> (I64 Any) (Operation Expression))
+ (|>> .int _.int operation/wrap))
+
+(def: #export f64
+ (-> Frac (Operation Expression))
+ (|>> _.float operation/wrap))
+
+(def: #export text
+ (-> Text (Operation Expression))
+ (|>> _.string operation/wrap))