blob: d0d8199259e7f7b5eee1545b5f9c5d9cd881485b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
(.module:
[lux (#- i64)
[abstract
[monad (#+ do)]]
[target
[jvm
["|" descriptor]
["." constant]
["_" program (#+ Program)]]]
[macro
["." template]]]
["." // #_
["#." runtime]])
(def: #export (bit value)
(-> Bit (Program Any))
(_.getstatic "java.lang.Boolean"
(if value "TRUE" "FALSE")
(|.object "java.lang.Boolean")))
(template [<name> <inputT> <ldc> <class> <inputD>]
[(def: #export (<name> value)
(-> <inputT> (Program Any))
(do _.monad
[_ (`` (|> value (~~ (template.splice <ldc>))))]
(_.invokestatic <class> "valueOf"
(list <inputD>)
(|.object <class>))))]
[i64 (I64 Any) [.int constant.long _.ldc/long] "java.lang.Long" |.long]
[f64 Frac [constant.double _.ldc/double] "java.lang.Double" |.double]
)
(def: #export text _.ldc/string)
|