diff options
author | The Lux Programming Language | 2017-12-02 14:33:40 -0400 |
---|---|---|
committer | GitHub | 2017-12-02 14:33:40 -0400 |
commit | a3687e36a71ebbc3069260e904e47272933a48a1 (patch) | |
tree | 0783fac3f94ea4765dfc91b0fe85b9b1a37cb5d8 /new-luxc/test | |
parent | 0ea9403e482b7f01df9e634ae2533b20ef56a9ab (diff) | |
parent | c72e120e8c2c300411c0cb07ecb3b6bc32e0cb24 (diff) |
Merge pull request #42 from LuxLang/context_sensitive_macro_expansion
Context sensitive macro expansion
Diffstat (limited to 'new-luxc/test')
-rw-r--r-- | new-luxc/test/test/luxc/lang/synthesis/function.lux | 4 | ||||
-rw-r--r-- | new-luxc/test/test/luxc/lang/translation/case.lux | 2 | ||||
-rw-r--r-- | new-luxc/test/test/luxc/lang/translation/function.lux | 10 |
3 files changed, 8 insertions, 8 deletions
diff --git a/new-luxc/test/test/luxc/lang/synthesis/function.lux b/new-luxc/test/test/luxc/lang/synthesis/function.lux index eaae351f0..52a9d78db 100644 --- a/new-luxc/test/test/luxc/lang/synthesis/function.lux +++ b/new-luxc/test/test/luxc/lang/synthesis/function.lux @@ -66,7 +66,7 @@ [total-args prediction bodyA] (recur (n/inc num-args) (list/map (function [pick] (maybe.assume (list.nth pick global-env))) picks))] - (wrap [total-args prediction (` ("lux function" [(~@ (list/map (|>> variableL.captured code.int) picks))] + (wrap [total-args prediction (` ("lux function" [(~+ (list/map (|>> variableL.captured code.int) picks))] (~ bodyA)))])) (do @ [chosen (pick (list.size global-env))] @@ -74,7 +74,7 @@ (maybe.assume (dict.get chosen resolver)) (la.var (variableL.captured chosen))])))))))] (wrap [total-args prediction (` ("lux function" - [(~@ (list/map code.int absolute-env))] + [(~+ (list/map code.int absolute-env))] (~ bodyA)))]) )) diff --git a/new-luxc/test/test/luxc/lang/translation/case.lux b/new-luxc/test/test/luxc/lang/translation/case.lux index 9921a2797..3bc4664e8 100644 --- a/new-luxc/test/test/luxc/lang/translation/case.lux +++ b/new-luxc/test/test/luxc/lang/translation/case.lux @@ -44,7 +44,7 @@ [size (|> r.nat (:: @ map (|>> (n/% struct-limit) (n/max +2)))) idx (|> r.nat (:: @ map (n/% size))) [subS subP] gen-case - #let [caseS (` [(~@ (list.concat (list (list.repeat idx (' [])) + #let [caseS (` [(~+ (list.concat (list (list.repeat idx (' [])) (list subS) (list.repeat (|> size n/dec (n/- idx)) (' [])))))]) caseP (if (tail? size idx) diff --git a/new-luxc/test/test/luxc/lang/translation/function.lux b/new-luxc/test/test/luxc/lang/translation/function.lux index 1c3dc6f83..d61c85f58 100644 --- a/new-luxc/test/test/luxc/lang/translation/function.lux +++ b/new-luxc/test/test/luxc/lang/translation/function.lux @@ -49,7 +49,7 @@ (test "Can read arguments." (|> (do macro.Monad<Meta> [runtime-bytecode @runtime.translate - sampleI (expressionT.translate (` ("lux call" (~ functionS) (~@ argsS))))] + sampleI (expressionT.translate (` ("lux call" (~ functionS) (~+ argsS))))] (@eval.eval sampleI)) (macro.run (init-compiler [])) (case> (#e.Success valueT) @@ -65,8 +65,8 @@ postS (list.drop partial-arity argsS)] runtime-bytecode @runtime.translate sampleI (expressionT.translate (` ("lux call" - ("lux call" (~ functionS) (~@ preS)) - (~@ postS))))] + ("lux call" (~ functionS) (~+ preS)) + (~+ postS))))] (@eval.eval sampleI)) (macro.run (init-compiler [])) (case> (#e.Success valueT) @@ -85,10 +85,10 @@ (|> arg n/inc (n/- super-arity) nat-to-int)) sub-arity (|> arity (n/- super-arity)) functionS (` ("lux function" (~ (code.nat super-arity)) [] - ("lux function" (~ (code.nat sub-arity)) [(~@ (list/map code.int env))] + ("lux function" (~ (code.nat sub-arity)) [(~+ (list/map code.int env))] ((~ (code.int arg-var))))))] runtime-bytecode @runtime.translate - sampleI (expressionT.translate (` ("lux call" (~ functionS) (~@ argsS))))] + sampleI (expressionT.translate (` ("lux call" (~ functionS) (~+ argsS))))] (@eval.eval sampleI)) (macro.run (init-compiler [])) (case> (#e.Success valueT) |