diff options
Diffstat (limited to '')
-rw-r--r-- | new-luxc/test/test/luxc/generator/procedure/common.jvm.lux | 161 |
1 files changed, 73 insertions, 88 deletions
diff --git a/new-luxc/test/test/luxc/generator/procedure/common.jvm.lux b/new-luxc/test/test/luxc/generator/procedure/common.jvm.lux index dde15b19b..7e36575d8 100644 --- a/new-luxc/test/test/luxc/generator/procedure/common.jvm.lux +++ b/new-luxc/test/test/luxc/generator/procedure/common.jvm.lux @@ -12,7 +12,8 @@ (coll ["a" array] [list])) ["r" math/random] - [meta #+ Monad<Meta>] + [meta] + (meta [code]) [host] test) (luxc (lang ["ls" synthesis]) @@ -32,9 +33,8 @@ (with-expansions [<binary> (do-template [<name> <reference>] [(test <name> (|> (do meta;Monad<Meta> - [sampleI (@;generate (#ls;Procedure <name> - (list (#ls;Nat subject) - (#ls;Nat param))))] + [sampleI (@;generate (` (<name> (~ (code;nat subject)) + (~ (code;nat param)))))] (@eval;eval sampleI)) (meta;run (init-compiler [])) (case> (#e;Success valueG) @@ -52,7 +52,7 @@ ($_ seq (test "bit count" (|> (do meta;Monad<Meta> - [sampleI (@;generate (#ls;Procedure "bit count" (list (#ls;Nat subject))))] + [sampleI (@;generate (` ("bit count" (~ (code;nat subject)))))] (@eval;eval sampleI)) (meta;run (init-compiler [])) (case> (#e;Success valueG) @@ -64,9 +64,9 @@ <binary> (test "bit shift-right" (|> (do meta;Monad<Meta> - [sampleI (@;generate (#ls;Procedure "bit shift-right" - (list (#ls;Int (nat-to-int subject)) - (#ls;Nat param))))] + [sampleI (@;generate (` ("bit shift-right" + (~ (code;int (nat-to-int subject))) + (~ (code;nat param)))))] (@eval;eval sampleI)) (meta;run (init-compiler [])) (case> (#e;Success valueG) @@ -82,64 +82,59 @@ (do @ [param (|> r;nat (r;filter (|>. (n.= +0) not))) subject r;nat] - (with-expansions [<nullary> (do-template [<name> <reference>] - [(test <name> - (|> (do meta;Monad<Meta> - [sampleI (@;generate (#ls;Procedure <name> (list)))] - (@eval;eval sampleI)) - (meta;run (init-compiler [])) - (case> (#e;Success valueG) - (n.= <reference> (:! Nat valueG)) + (`` ($_ seq + (~~ (do-template [<name> <reference>] + [(test <name> + (|> (do meta;Monad<Meta> + [sampleI (@;generate (` (<name>)))] + (@eval;eval sampleI)) + (meta;run (init-compiler [])) + (case> (#e;Success valueG) + (n.= <reference> (:! Nat valueG)) - _ - false)))] + _ + false)))] - ["nat min" nat/bottom] - ["nat max" nat/top] - ) - <unary> (do-template [<name> <type> <prepare> <comp>] - [(test <name> - (|> (do meta;Monad<Meta> - [sampleI (@;generate (#ls;Procedure <name> (list (#ls;Nat subject))))] - (@eval;eval sampleI)) - (meta;run (init-compiler [])) - (case> (#e;Success valueG) - (<comp> (<prepare> subject) (:! <type> valueG)) + ["nat min" nat/bottom] + ["nat max" nat/top] + )) + (~~ (do-template [<name> <type> <prepare> <comp>] + [(test <name> + (|> (do meta;Monad<Meta> + [sampleI (@;generate (` (<name> (~ (code;nat subject)))))] + (@eval;eval sampleI)) + (meta;run (init-compiler [])) + (case> (#e;Success valueG) + (<comp> (<prepare> subject) (:! <type> valueG)) - _ - false)))] + _ + false)))] - ["nat to-int" Int nat-to-int i.=] - ["nat to-char" Text text;from-code text/=] - ) - <binary> (do-template [<name> <reference> <outputT> <comp>] - [(test <name> - (|> (do Monad<Meta> - [runtime-bytecode @runtime;generate - sampleI (@;generate (#ls;Procedure <name> - (list (#ls;Nat subject) - (#ls;Nat param))))] - (@eval;eval sampleI)) - (meta;run (init-compiler [])) - (case> (#e;Success valueG) - (<comp> (<reference> param subject) (:! <outputT> valueG)) + ["nat to-int" Int nat-to-int i.=] + ["nat to-char" Text text;from-code text/=] + )) + (~~ (do-template [<name> <reference> <outputT> <comp>] + [(test <name> + (|> (do meta;Monad<Meta> + [runtime-bytecode @runtime;generate + sampleI (@;generate (` (<name> (~ (code;nat subject)) (~ (code;nat param)))))] + (@eval;eval sampleI)) + (meta;run (init-compiler [])) + (case> (#e;Success valueG) + (<comp> (<reference> param subject) (:! <outputT> valueG)) - _ - false)))] + _ + false)))] - ["nat +" n.+ Nat n.=] - ["nat -" n.- Nat n.=] - ["nat *" n.* Nat n.=] - ["nat /" n./ Nat n.=] - ["nat %" n.% Nat n.=] - ["nat =" n.= Bool bool/=] - ["nat <" n.< Bool bool/=] - )] - ($_ seq - <nullary> - <unary> - <binary> - ))))) + ["nat +" n.+ Nat n.=] + ["nat -" n.- Nat n.=] + ["nat *" n.* Nat n.=] + ["nat /" n./ Nat n.=] + ["nat %" n.% Nat n.=] + ["nat =" n.= Bool bool/=] + ["nat <" n.< Bool bool/=] + )) + ))))) (context: "Int procedures" (<| (times +100) @@ -149,7 +144,7 @@ (with-expansions [<nullary> (do-template [<name> <reference>] [(test <name> (|> (do meta;Monad<Meta> - [sampleI (@;generate (#ls;Procedure <name> (list)))] + [sampleI (@;generate (` (<name>)))] (@eval;eval sampleI)) (meta;run (init-compiler [])) (case> (#e;Success valueG) @@ -164,7 +159,7 @@ <unary> (do-template [<name> <type> <prepare> <comp>] [(test <name> (|> (do meta;Monad<Meta> - [sampleI (@;generate (#ls;Procedure <name> (list (#ls;Int subject))))] + [sampleI (@;generate (` (<name> (~ (code;int subject)))))] (@eval;eval sampleI)) (meta;run (init-compiler [])) (case> (#e;Success valueG) @@ -178,11 +173,9 @@ ) <binary> (do-template [<name> <reference> <outputT> <comp>] [(test <name> - (|> (do Monad<Meta> + (|> (do meta;Monad<Meta> [runtime-bytecode @runtime;generate - sampleI (@;generate (#ls;Procedure <name> - (list (#ls;Int subject) - (#ls;Int param))))] + sampleI (@;generate (` (<name> (~ (code;int subject)) (~ (code;int param)))))] (@eval;eval sampleI)) (meta;run (init-compiler [])) (case> (#e;Success valueG) @@ -212,11 +205,9 @@ subject r;frac] (with-expansions [<binary> (do-template [<name> <reference> <outputT> <comp>] [(test <name> - (|> (do Monad<Meta> + (|> (do meta;Monad<Meta> [runtime-bytecode @runtime;generate - sampleI (@;generate (#ls;Procedure <name> - (list (#ls;Frac subject) - (#ls;Frac param))))] + sampleI (@;generate (` (<name> (~ (code;frac subject)) (~ (code;frac param)))))] (@eval;eval sampleI)) (meta;run (init-compiler [])) (case> (#e;Success valueG) @@ -245,7 +236,7 @@ (with-expansions [<nullary> (do-template [<name> <test>] [(test <name> (|> (do meta;Monad<Meta> - [sampleI (@;generate (#ls;Procedure <name> (list)))] + [sampleI (@;generate (` (<name>)))] (@eval;eval sampleI)) (meta;run (init-compiler [])) (case> (#e;Success valueG) @@ -263,9 +254,9 @@ ) <unary> (do-template [<name> <type> <prepare> <comp>] [(test <name> - (|> (do Monad<Meta> + (|> (do meta;Monad<Meta> [runtime-bytecode @runtime;generate - sampleI (@;generate (#ls;Procedure <name> (list (#ls;Frac subject))))] + sampleI (@;generate (` (<name> (~ (code;frac subject)))))] (@eval;eval sampleI)) (meta;run (init-compiler [])) (case> (#e;Success valueG) @@ -281,11 +272,9 @@ <nullary> <unary> (test "frac encode|decode" - (|> (do Monad<Meta> + (|> (do meta;Monad<Meta> [runtime-bytecode @runtime;generate - sampleI (@;generate (|> (#ls;Frac subject) - (list) (#ls;Procedure "frac encode") - (list) (#ls;Procedure "frac decode")))] + sampleI (@;generate (` ("frac decode" ("frac encode" (~ (code;frac subject))))))] (@eval;eval sampleI)) (meta;run (init-compiler [])) (case> (^multi (#e;Success valueG) @@ -313,7 +302,7 @@ (~~ (do-template [<name> <reference>] [(test <name> (|> (do meta;Monad<Meta> - [sampleI (@;generate (#ls;Procedure <name> (list)))] + [sampleI (@;generate (` (<name>)))] (@eval;eval sampleI)) (meta;run (init-compiler [])) (case> (#e;Success valueG) @@ -327,9 +316,9 @@ )) (~~ (do-template [<name> <type> <prepare> <comp>] [(test <name> - (|> (do Monad<Meta> + (|> (do meta;Monad<Meta> [runtime-bytecode @runtime;generate - sampleI (@;generate (#ls;Procedure <name> (list (#ls;Deg subject))))] + sampleI (@;generate (` (<name> (~ (code;deg subject)))))] (@eval;eval sampleI)) (meta;run (init-compiler [])) (case> (#e;Success valueG) @@ -342,11 +331,9 @@ )) (~~ (do-template [<name> <reference> <outputT> <comp>] [(test <name> - (|> (do Monad<Meta> + (|> (do meta;Monad<Meta> [runtime-bytecode @runtime;generate - sampleI (@;generate (#ls;Procedure <name> - (list (#ls;Deg subject) - (#ls;Deg param))))] + sampleI (@;generate (` (<name> (~ (code;deg subject)) (~ (code;deg param)))))] (@eval;eval sampleI)) (meta;run (init-compiler [])) (case> (#e;Success valueG) @@ -365,11 +352,9 @@ )) (~~ (do-template [<name> <reference> <outputT> <comp>] [(test <name> - (|> (do Monad<Meta> + (|> (do meta;Monad<Meta> [runtime-bytecode @runtime;generate - sampleI (@;generate (#ls;Procedure <name> - (list (#ls;Deg subject) - (#ls;Nat special))))] + sampleI (@;generate (` (<name> (~ (code;deg subject)) (~ (code;nat special)))))] (@eval;eval sampleI)) (meta;run (init-compiler [])) (case> (#e;Success valueG) |