blob: b091a2f370124d36466aae9158cc2611f4a5c6b9 (
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
|
(;module:
lux
(lux (control monad)
[io #- run]
(data [text "T/" Eq<Text>]
text/format)
[macro #+ Monad<Lux>])
(luxc ["&" base]
["&;" module]
["&;" scope]
(compiler ["&;" expr])))
(def: #export (compile-def def-name def-value def-meta)
(-> Text Code Code (Lux Unit))
(do Monad<Lux>
[=def-value (&expr;compile def-value)
=def-meta (&expr;compile def-meta)]
(undefined)))
(def: #export (compile-program prog-args prog-body)
(-> Text Code (Lux Unit))
(do Monad<Lux>
[=prog-body (&scope;with-local [prog-args (type (List Text))]
(&expr;compile prog-body))]
(undefined)))
|