aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/compiler/default/phase/translation/scheme/primitive.jvm.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/lux/compiler/default/phase/translation/scheme/primitive.jvm.lux')
-rw-r--r--stdlib/source/lux/compiler/default/phase/translation/scheme/primitive.jvm.lux25
1 files changed, 25 insertions, 0 deletions
diff --git a/stdlib/source/lux/compiler/default/phase/translation/scheme/primitive.jvm.lux b/stdlib/source/lux/compiler/default/phase/translation/scheme/primitive.jvm.lux
new file mode 100644
index 000000000..c16c696c4
--- /dev/null
+++ b/stdlib/source/lux/compiler/default/phase/translation/scheme/primitive.jvm.lux
@@ -0,0 +1,25 @@
+(.module:
+ [lux (#- i64)]
+ [//
+ [runtime (#+ Operation)]
+ [// (#+ State)
+ [// ("operation/." Monad<Operation>)
+ [///
+ [host
+ ["_" scheme (#+ Expression)]]]]]])
+
+(def: #export bit
+ (-> Bit (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))