blob: 9d6ee05e776367ddf6c79aeb485f6d5ce7ac4d39 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
(;module:
lux
(lux (control [monad #+ do])
[macro])
[../base]
(.. [analyser]
[synthesizer]
(generator [expr]
[eval])))
(def: #export (eval type exprC)
../base;Eval
(do macro;Monad<Lux>
[exprA (../base;with-expected-type type
(analyser;analyser eval exprC))
#let [exprS (synthesizer;synthesize exprA)]
exprI (expr;generate exprS)]
(eval;eval exprI)))
|