aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/tool/compiler/phase/translation/scheme/primitive.jvm.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/lux/tool/compiler/phase/translation/scheme/primitive.jvm.lux')
-rw-r--r--stdlib/source/lux/tool/compiler/phase/translation/scheme/primitive.jvm.lux34
1 files changed, 14 insertions, 20 deletions
diff --git a/stdlib/source/lux/tool/compiler/phase/translation/scheme/primitive.jvm.lux b/stdlib/source/lux/tool/compiler/phase/translation/scheme/primitive.jvm.lux
index dc643bcbc..86bf44c0f 100644
--- a/stdlib/source/lux/tool/compiler/phase/translation/scheme/primitive.jvm.lux
+++ b/stdlib/source/lux/tool/compiler/phase/translation/scheme/primitive.jvm.lux
@@ -1,25 +1,19 @@
(.module:
- [lux (#- i64)]
+ [lux (#- i64)
+ [host
+ ["_" scheme (#+ Expression)]]]
[//
[runtime (#+ Operation)]
- [// (#+ State)
- ["//." // ("#/." monad)
- [///
- [host
- ["_" scheme (#+ Expression)]]]]]])
+ [//
+ ["//." // ("#/." monad)]]])
-(def: #export bit
- (-> Bit (Operation Expression))
- (|>> _.bool /////wrap))
+(do-template [<name> <type> <code>]
+ [(def: #export <name>
+ (-> <type> (Operation Expression))
+ (|>> <code> /////wrap))]
-(def: #export i64
- (-> (I64 Any) (Operation Expression))
- (|>> .int _.int /////wrap))
-
-(def: #export f64
- (-> Frac (Operation Expression))
- (|>> _.float /////wrap))
-
-(def: #export text
- (-> Text (Operation Expression))
- (|>> _.string /////wrap))
+ [bit Bit _.bool]
+ [i64 Int _.int]
+ [f64 Frac _.float]
+ [text Text _.string]
+ )