diff options
Diffstat (limited to '')
15 files changed, 93 insertions, 95 deletions
diff --git a/new-luxc/test/test/luxc/common.lux b/new-luxc/test/test/luxc/common.lux index 84d912145..1215e669f 100644 --- a/new-luxc/test/test/luxc/common.lux +++ b/new-luxc/test/test/luxc/common.lux @@ -1,8 +1,8 @@ (;module: lux (lux [io]) - (luxc ["&;" host] - (lang [";L" translation]))) + (luxc (lang ["&;" host] + [";L" translation]))) (def: #export (init-compiler _) (-> Top Compiler) diff --git a/new-luxc/test/test/luxc/lang/analysis/case.lux b/new-luxc/test/test/luxc/lang/analysis/case.lux index 66646754e..ee8b9b74d 100644 --- a/new-luxc/test/test/luxc/lang/analysis/case.lux +++ b/new-luxc/test/test/luxc/lang/analysis/case.lux @@ -17,12 +17,12 @@ [type "type/" Eq<Type>] (type ["tc" check])) test) - (luxc ["&" base] - (lang ["la" analysis] + (luxc ["&" lang] + (lang ["@;" module] + ["la" analysis] (analysis [";A" expression] ["@" case] - ["@;" common])) - ["@;" module]) + ["@;" common]))) (.. common) (test/luxc common)) diff --git a/new-luxc/test/test/luxc/lang/analysis/common.lux b/new-luxc/test/test/luxc/lang/analysis/common.lux index 937ed4cda..086a0bd31 100644 --- a/new-luxc/test/test/luxc/lang/analysis/common.lux +++ b/new-luxc/test/test/luxc/lang/analysis/common.lux @@ -5,9 +5,9 @@ (data ["e" error]) [meta] (meta [code])) - (luxc ["&" base] - (lang (analysis [";A" expression])) - [eval]) + (luxc ["&" lang] + (lang (analysis [";A" expression]) + [eval])) (test/luxc common)) (def: gen-unit diff --git a/new-luxc/test/test/luxc/lang/analysis/function.lux b/new-luxc/test/test/luxc/lang/analysis/function.lux index 1a2f13458..e08e7a9bd 100644 --- a/new-luxc/test/test/luxc/lang/analysis/function.lux +++ b/new-luxc/test/test/luxc/lang/analysis/function.lux @@ -14,12 +14,12 @@ (meta [code] [type "type/" Eq<Type>]) test) - (luxc ["&" base] - (lang ["la" analysis] + (luxc ["&" lang] + (lang ["@;" module] + ["la" analysis] (analysis [";A" expression] ["@" function] - ["@;" common])) - ["@;" module]) + ["@;" common]))) (.. common) (test/luxc common)) diff --git a/new-luxc/test/test/luxc/lang/analysis/primitive.lux b/new-luxc/test/test/luxc/lang/analysis/primitive.lux index 41dc9fada..8e1329eb6 100644 --- a/new-luxc/test/test/luxc/lang/analysis/primitive.lux +++ b/new-luxc/test/test/luxc/lang/analysis/primitive.lux @@ -16,9 +16,9 @@ (meta [code] [type "type/" Eq<Type>]) test) - (luxc ["&" base] - ["&;" module] - (lang ["~" analysis] + (luxc ["&" lang] + (lang ["&;" module] + ["~" analysis] (analysis [";A" expression] ["@" primitive] ["@;" common]))) diff --git a/new-luxc/test/test/luxc/lang/analysis/procedure/common.lux b/new-luxc/test/test/luxc/lang/analysis/procedure/common.lux index b992ca2d6..dae39228f 100644 --- a/new-luxc/test/test/luxc/lang/analysis/procedure/common.lux +++ b/new-luxc/test/test/luxc/lang/analysis/procedure/common.lux @@ -13,14 +13,14 @@ (meta [code] [type "type/" Eq<Type>]) test) - (luxc ["&" base] - ["&;" scope] - ["&;" module] - [";L" eval] - (lang ["~" analysis] + (luxc ["&" lang] + (lang ["&;" scope] + ["&;" module] + ["~" analysis] (analysis [";A" expression] ["@" procedure] - ["@;" common]))) + ["@;" common]) + [";L" eval])) (../.. common) (test/luxc common)) @@ -243,9 +243,9 @@ (test "Can replace a text inside of a larger one (all times)." (check-success+ "lux text replace-all" (list subjectC paramC replacementC) Text)) (test "Can obtain the character code of a text at a given index." - (check-success+ "lux text char" (list subjectC fromC) Nat)) + (check-success+ "lux text char" (list subjectC fromC) (type (Maybe Nat)))) (test "Can clip a piece of text between 2 indices." - (check-success+ "lux text clip" (list subjectC fromC toC) Text)) + (check-success+ "lux text clip" (list subjectC fromC toC) (type (Maybe Text)))) )))) (context: "Array procedures" diff --git a/new-luxc/test/test/luxc/lang/analysis/procedure/host.jvm.lux b/new-luxc/test/test/luxc/lang/analysis/procedure/host.jvm.lux index 0f8848a21..3d5da350a 100644 --- a/new-luxc/test/test/luxc/lang/analysis/procedure/host.jvm.lux +++ b/new-luxc/test/test/luxc/lang/analysis/procedure/host.jvm.lux @@ -17,16 +17,16 @@ (meta [code] [type]) test) - (luxc ["&" base] - ["&;" scope] - ["&;" module] - [";L" eval] - (lang ["~" analysis] + (luxc ["&" lang] + (lang ["&;" scope] + ["&;" module] + ["~" analysis] (analysis [";A" expression] ["@;" common] ["@" procedure] (procedure ["@;" host])) - (translation ["@;" runtime]))) + (translation ["@;" runtime]) + [";L" eval])) (../.. common) (test/luxc common)) diff --git a/new-luxc/test/test/luxc/lang/analysis/reference.lux b/new-luxc/test/test/luxc/lang/analysis/reference.lux index f6021e184..15e5af44f 100644 --- a/new-luxc/test/test/luxc/lang/analysis/reference.lux +++ b/new-luxc/test/test/luxc/lang/analysis/reference.lux @@ -8,9 +8,9 @@ [meta #+ Monad<Meta>] (meta [type "type/" Eq<Type>]) test) - (luxc ["&;" scope] - ["&;" module] - (lang ["~" analysis] + (luxc (lang ["&;" scope] + ["&;" module] + ["~" analysis] (analysis [";A" expression] ["@" reference] ["@;" common]))) diff --git a/new-luxc/test/test/luxc/lang/analysis/structure.lux b/new-luxc/test/test/luxc/lang/analysis/structure.lux index 507b61995..b299872ca 100644 --- a/new-luxc/test/test/luxc/lang/analysis/structure.lux +++ b/new-luxc/test/test/luxc/lang/analysis/structure.lux @@ -17,12 +17,12 @@ [type "type/" Eq<Type>] (type ["tc" check])) test) - (luxc ["&" base] - (lang ["la" analysis] + (luxc ["&" lang] + (lang ["@;" module] + ["la" analysis] (analysis [";A" expression] ["@" structure] - ["@;" common])) - ["@;" module]) + ["@;" common]))) (.. common) (test/luxc common)) @@ -58,13 +58,12 @@ false))) (test "Can analyse sum through bound type-vars." (|> (&;with-scope - (@common;with-var - (function [[var-id varT]] - (do meta;Monad<Meta> - [_ (&;with-type-env - (tc;check varT variantT))] - (&;with-expected-type varT - (@;analyse-sum analyse choice valueC)))))) + (do meta;Monad<Meta> + [[_ varT] (&;with-type-env tc;var) + _ (&;with-type-env + (tc;check varT variantT))] + (&;with-expected-type varT + (@;analyse-sum analyse choice valueC)))) (meta;run (init-compiler [])) (case> (^multi (#e;Success [_ sumA]) [(la;unfold-variant sumA) @@ -76,10 +75,10 @@ false))) (test "Cannot analyse sum through unbound type-vars." (|> (&;with-scope - (@common;with-var - (function [[var-id varT]] - (&;with-expected-type varT - (@;analyse-sum analyse choice valueC))))) + (do meta;Monad<Meta> + [[_ varT] (&;with-type-env tc;var)] + (&;with-expected-type varT + (@;analyse-sum analyse choice valueC)))) (meta;run (init-compiler [])) (case> (#e;Success _) false @@ -152,13 +151,12 @@ false))) (test "Can analyse product through bound type-vars." (|> (&;with-scope - (@common;with-var - (function [[var-id varT]] - (do meta;Monad<Meta> - [_ (&;with-type-env - (tc;check varT (type;tuple (list/map product;left primitives))))] - (&;with-expected-type varT - (@;analyse-product analyse (list/map product;right primitives))))))) + (do meta;Monad<Meta> + [[_ varT] (&;with-type-env tc;var) + _ (&;with-type-env + (tc;check varT (type;tuple (list/map product;left primitives))))] + (&;with-expected-type varT + (@;analyse-product analyse (list/map product;right primitives))))) (meta;run (init-compiler [])) (case> (#e;Success [_ tupleA]) (n.= size (list;size (la;unfold-tuple tupleA))) diff --git a/new-luxc/test/test/luxc/lang/analysis/type.lux b/new-luxc/test/test/luxc/lang/analysis/type.lux index e93068ea3..6d89582e8 100644 --- a/new-luxc/test/test/luxc/lang/analysis/type.lux +++ b/new-luxc/test/test/luxc/lang/analysis/type.lux @@ -16,14 +16,14 @@ (meta [code] [type "type/" Eq<Type>]) test) - (luxc ["&" base] - ["&;" module] - (lang ["~" analysis] + (luxc ["&" lang] + (lang ["&;" module] + ["~" analysis] (analysis [";A" expression] ["@" type] ["@;" common]) - (translation ["@;" runtime])) - [eval]) + (translation ["@;" runtime]) + [eval])) (.. common) (test/luxc common)) diff --git a/new-luxc/test/test/luxc/lang/syntax.lux b/new-luxc/test/test/luxc/lang/syntax.lux index 195fed2ca..0f2306eb1 100644 --- a/new-luxc/test/test/luxc/lang/syntax.lux +++ b/new-luxc/test/test/luxc/lang/syntax.lux @@ -80,20 +80,20 @@ other code^] ($_ seq (test "Can parse Lux code." - (case (&;parse [default-cursor +0 (code;to-text sample)]) + (case (&;parse "" [default-cursor +0 (code;to-text sample)]) (#e;Error error) false (#e;Success [_ parsed]) (:: code;Eq<Code> = parsed sample))) (test "Can parse Lux multiple code nodes." - (case (&;parse [default-cursor +0 (format (code;to-text sample) " " - (code;to-text other))]) + (case (&;parse "" [default-cursor +0 (format (code;to-text sample) " " + (code;to-text other))]) (#e;Error error) false (#e;Success [remaining =sample]) - (case (&;parse remaining) + (case (&;parse "" remaining) (#e;Error error) false @@ -114,11 +114,11 @@ signed? r;bool #let [expected (|> numerator (f./ denominator) (f.* (if signed? -1.0 1.0)))]] (test "Can parse frac ratio syntax." - (case (&;parse [default-cursor +0 - (format (if signed? "-" "") - (%i (frac-to-int numerator)) - "/" - (%i (frac-to-int denominator)))]) + (case (&;parse "" [default-cursor +0 + (format (if signed? "-" "") + (%i (frac-to-int numerator)) + "/" + (%i (frac-to-int denominator)))]) (#e;Success [_ [_ (#;Frac actual)]]) (f.= expected actual) @@ -131,8 +131,8 @@ (do @ [expected (|> r;nat (:: @ map (n.% +1_000)))] (test "Can parse nat char syntax." - (case (&;parse [default-cursor +0 - (format "#" (%t (text;from-code expected)) "")]) + (case (&;parse "" [default-cursor +0 + (format "#" (%t (text;from-code expected)) "")]) (#e;Success [_ [_ (#;Nat actual)]]) (n.= expected actual) @@ -181,8 +181,8 @@ (let [bad-match (format (text;from-code x) "\n" (text;from-code y) "\n" (text;from-code z))] - (case (&;parse [default-cursor +0 - (format "\"" bad-match "\"")]) + (case (&;parse "" [default-cursor +0 + (format "\"" bad-match "\"")]) (#e;Error error) true @@ -195,9 +195,9 @@ good-output (format (text;from-code x) "\n" (text;from-code y) "\n" (text;from-code z))] - (case (&;parse [(|> default-cursor (update@ #;column (n.+ (n.dec offset-size)))) - +0 - (format "\"" good-input "\"")]) + (case (&;parse "" [(|> default-cursor (update@ #;column (n.+ (n.dec offset-size)))) + +0 + (format "\"" good-input "\"")]) (#e;Error error) false @@ -206,25 +206,25 @@ parsed (code;text good-output))))) (test "Can handle comments." - (case (&;parse [default-cursor +0 - (format comment (code;to-text sample))]) + (case (&;parse "" [default-cursor +0 + (format comment (code;to-text sample))]) (#e;Error error) false (#e;Success [_ parsed]) (:: code;Eq<Code> = parsed sample))) (test "Will reject unbalanced multi-line comments." - (and (case (&;parse [default-cursor +0 - (format "#(" "#(" unbalanced-comment ")#" - (code;to-text sample))]) + (and (case (&;parse "" [default-cursor +0 + (format "#(" "#(" unbalanced-comment ")#" + (code;to-text sample))]) (#e;Error error) true (#e;Success [_ parsed]) false) - (case (&;parse [default-cursor +0 - (format "#(" unbalanced-comment ")#" ")#" - (code;to-text sample))]) + (case (&;parse "" [default-cursor +0 + (format "#(" unbalanced-comment ")#" ")#" + (code;to-text sample))]) (#e;Error error) true diff --git a/new-luxc/test/test/luxc/lang/translation/primitive.lux b/new-luxc/test/test/luxc/lang/translation/primitive.lux index e8aaddb5a..40e98f109 100644 --- a/new-luxc/test/test/luxc/lang/translation/primitive.lux +++ b/new-luxc/test/test/luxc/lang/translation/primitive.lux @@ -11,8 +11,8 @@ [meta] (meta [code]) test) - (luxc [";L" host] - (lang ["ls" synthesis] + (luxc (lang [";L" host] + ["ls" synthesis] (translation [";T" expression] ["@;" runtime] ["@;" eval] diff --git a/new-luxc/test/test/luxc/lang/translation/procedure/host.jvm.lux b/new-luxc/test/test/luxc/lang/translation/procedure/host.jvm.lux index 0dd539120..c2b699ff2 100644 --- a/new-luxc/test/test/luxc/lang/translation/procedure/host.jvm.lux +++ b/new-luxc/test/test/luxc/lang/translation/procedure/host.jvm.lux @@ -16,8 +16,8 @@ (meta [code]) [host] test) - (luxc [";L" host] - (lang ["ls" synthesis] + (luxc (lang [";L" host] + ["ls" synthesis] (translation [";T" expression] ["@;" eval] ["@;" runtime] diff --git a/new-luxc/test/test/luxc/lang/translation/reference.lux b/new-luxc/test/test/luxc/lang/translation/reference.lux index 1aee7df46..50d6cffbf 100644 --- a/new-luxc/test/test/luxc/lang/translation/reference.lux +++ b/new-luxc/test/test/luxc/lang/translation/reference.lux @@ -9,15 +9,15 @@ [meta] (meta [code]) test) - (luxc (host ["$" jvm] - (jvm ["$i" inst])) - (lang ["ls" synthesis] + (luxc (lang ["_;" module] + (host ["$" jvm] + (jvm ["$i" inst])) + ["ls" synthesis] (translation [";T" statement] [";T" eval] [";T" expression] [";T" case] - [";T" runtime])) - ["_;" module]) + [";T" runtime]))) (test/luxc common)) (def: nilI $;Inst runtimeT;noneI) diff --git a/new-luxc/test/test/luxc/lang/translation/structure.lux b/new-luxc/test/test/luxc/lang/translation/structure.lux index f32ab40e1..d8f7bc98f 100644 --- a/new-luxc/test/test/luxc/lang/translation/structure.lux +++ b/new-luxc/test/test/luxc/lang/translation/structure.lux @@ -15,8 +15,8 @@ (meta [code]) [host] test) - (luxc [";L" host] - (lang ["ls" synthesis] + (luxc (lang [";L" host] + ["ls" synthesis] (translation [";T" expression] ["@;" eval] ["@;" runtime] |