aboutsummaryrefslogtreecommitdiff
path: root/new-luxc
diff options
context:
space:
mode:
authorEduardo Julian2017-11-01 00:51:45 -0400
committerEduardo Julian2017-11-01 00:51:45 -0400
commit012f6bd41e527479dddbccbdab10daa78fd9a0fd (patch)
tree621f344a09acd52736f343d94582b3f1a2f0c5f9 /new-luxc
parent71d7a4c7206155e09f3e1e1d8699561ea6967382 (diff)
- Re-organized code-generation, and re-named it "translation".
Diffstat (limited to 'new-luxc')
-rw-r--r--new-luxc/source/luxc/eval.lux12
-rw-r--r--new-luxc/source/luxc/host.jvm.lux25
-rw-r--r--new-luxc/source/luxc/lang/analysis/expression.lux8
-rw-r--r--new-luxc/source/luxc/lang/translation.lux (renamed from new-luxc/source/luxc/generator.lux)30
-rw-r--r--new-luxc/source/luxc/lang/translation/case.jvm.lux (renamed from new-luxc/source/luxc/generator/case.jvm.lux)0
-rw-r--r--new-luxc/source/luxc/lang/translation/common.jvm.lux (renamed from new-luxc/source/luxc/generator/common.jvm.lux)0
-rw-r--r--new-luxc/source/luxc/lang/translation/eval.jvm.lux (renamed from new-luxc/source/luxc/generator/eval.jvm.lux)23
-rw-r--r--new-luxc/source/luxc/lang/translation/expression.jvm.lux (renamed from new-luxc/source/luxc/generator/expression.jvm.lux)52
-rw-r--r--new-luxc/source/luxc/lang/translation/function.jvm.lux (renamed from new-luxc/source/luxc/generator/function.jvm.lux)30
-rw-r--r--new-luxc/source/luxc/lang/translation/primitive.jvm.lux (renamed from new-luxc/source/luxc/generator/primitive.jvm.lux)4
-rw-r--r--new-luxc/source/luxc/lang/translation/procedure.jvm.lux (renamed from new-luxc/source/luxc/generator/procedure.jvm.lux)0
-rw-r--r--new-luxc/source/luxc/lang/translation/procedure/common.jvm.lux (renamed from new-luxc/source/luxc/generator/procedure/common.jvm.lux)13
-rw-r--r--new-luxc/source/luxc/lang/translation/procedure/host.jvm.lux (renamed from new-luxc/source/luxc/generator/procedure/host.jvm.lux)4
-rw-r--r--new-luxc/source/luxc/lang/translation/reference.jvm.lux (renamed from new-luxc/source/luxc/generator/reference.jvm.lux)14
-rw-r--r--new-luxc/source/luxc/lang/translation/runtime.jvm.lux (renamed from new-luxc/source/luxc/generator/runtime.jvm.lux)14
-rw-r--r--new-luxc/source/luxc/lang/translation/statement.jvm.lux (renamed from new-luxc/source/luxc/generator/statement.jvm.lux)16
-rw-r--r--new-luxc/source/luxc/lang/translation/structure.jvm.lux (renamed from new-luxc/source/luxc/generator/structure.jvm.lux)4
-rw-r--r--new-luxc/source/program.lux4
-rw-r--r--new-luxc/test/test/luxc/common.lux4
-rw-r--r--new-luxc/test/test/luxc/lang/analysis/procedure/host.jvm.lux4
-rw-r--r--new-luxc/test/test/luxc/lang/analysis/type.lux4
-rw-r--r--new-luxc/test/test/luxc/lang/translation/case.lux (renamed from new-luxc/test/test/luxc/generator/case.lux)24
-rw-r--r--new-luxc/test/test/luxc/lang/translation/function.lux (renamed from new-luxc/test/test/luxc/generator/function.lux)28
-rw-r--r--new-luxc/test/test/luxc/lang/translation/primitive.lux (renamed from new-luxc/test/test/luxc/generator/primitive.lux)22
-rw-r--r--new-luxc/test/test/luxc/lang/translation/procedure/common.jvm.lux (renamed from new-luxc/test/test/luxc/generator/procedure/common.jvm.lux)112
-rw-r--r--new-luxc/test/test/luxc/lang/translation/procedure/host.jvm.lux (renamed from new-luxc/test/test/luxc/generator/procedure/host.jvm.lux)158
-rw-r--r--new-luxc/test/test/luxc/lang/translation/reference.lux (renamed from new-luxc/test/test/luxc/generator/reference.lux)38
-rw-r--r--new-luxc/test/test/luxc/lang/translation/structure.lux (renamed from new-luxc/test/test/luxc/generator/structure.lux)34
-rw-r--r--new-luxc/test/tests.lux16
29 files changed, 347 insertions, 350 deletions
diff --git a/new-luxc/source/luxc/eval.lux b/new-luxc/source/luxc/eval.lux
index baac56c64..82c355151 100644
--- a/new-luxc/source/luxc/eval.lux
+++ b/new-luxc/source/luxc/eval.lux
@@ -3,10 +3,10 @@
(lux (control [monad #+ do])
[meta])
(luxc (lang (analysis [";A" expression])
- (synthesis [";S" expression])))
- [../base]
- (.. (generator [";G" expression]
- [eval])))
+ (synthesis [";S" expression])
+ (translation [";T" expression]
+ [";T" eval])))
+ [../base])
(def: #export (eval type exprC)
../base;Eval
@@ -14,5 +14,5 @@
[exprA (../base;with-expected-type type
(expressionA;analyser eval exprC))
#let [exprS (expressionS;synthesize exprA)]
- exprI (expressionG;generate exprS)]
- (eval;eval exprI)))
+ exprI (expressionT;generate exprS)]
+ (evalT;eval exprI)))
diff --git a/new-luxc/source/luxc/host.jvm.lux b/new-luxc/source/luxc/host.jvm.lux
index b74c9748c..2cbdf5883 100644
--- a/new-luxc/source/luxc/host.jvm.lux
+++ b/new-luxc/source/luxc/host.jvm.lux
@@ -11,8 +11,7 @@
[host #+ do-to object]
[io])
(luxc ["&" base]
- (generator ["&&;" common])
- ))
+ (lang (translation [";T" common]))))
(host;import java.lang.reflect.AccessibleObject
(setAccessible [boolean] void))
@@ -48,7 +47,7 @@
(error! error)))
(def: (define-class class-name byte-code loader)
- (-> Text &&common;Bytecode ClassLoader (e;Error Object))
+ (-> Text commonT;Bytecode ClassLoader (e;Error Object))
(Method.invoke [loader
(array;from-list (list (:! Object class-name)
(:! Object byte-code)
@@ -57,11 +56,11 @@
ClassLoader::defineClass))
(def: (fetch-byte-code class-name store)
- (-> Text &&common;Class-Store (Maybe &&common;Bytecode))
+ (-> Text commonT;Class-Store (Maybe commonT;Bytecode))
(|> store A;get io;run (dict;get class-name)))
(def: (memory-class-loader store)
- (-> &&common;Class-Store ClassLoader)
+ (-> commonT;Class-Store ClassLoader)
(object ClassLoader []
[]
(ClassLoader (findClass [class-name String]) Class
@@ -79,13 +78,13 @@
(error! (format "Class not found: " class-name))))))
(def: #export init-host
- (io;IO &&common;Host)
- (io;io (let [store (: &&common;Class-Store
+ (io;IO commonT;Host)
+ (io;io (let [store (: commonT;Class-Store
(A;atom (dict;new text;Hash<Text>)))]
- {#&&common;loader (memory-class-loader store)
- #&&common;store store
- #&&common;function-class #;None
- #&&common;artifacts (dict;new text;Hash<Text>)})))
+ {#commonT;loader (memory-class-loader store)
+ #commonT;store store
+ #commonT;function-class #;None
+ #commonT;artifacts (dict;new text;Hash<Text>)})))
(def: #export class-loader
(Meta ClassLoader)
@@ -93,8 +92,8 @@
(#e;Success [compiler
(|> compiler
(get@ #;host)
- (:! &&common;Host)
- (get@ #&&common;loader))])))
+ (:! commonT;Host)
+ (get@ #commonT;loader))])))
(def: #export runtime-class Text "LuxRuntime")
(def: #export function-class Text "LuxFunction")
diff --git a/new-luxc/source/luxc/lang/analysis/expression.lux b/new-luxc/source/luxc/lang/analysis/expression.lux
index e3a623089..de0e49dbc 100644
--- a/new-luxc/source/luxc/lang/analysis/expression.lux
+++ b/new-luxc/source/luxc/lang/analysis/expression.lux
@@ -11,9 +11,9 @@
[host])
(luxc ["&" base]
[";L" host]
- (lang ["la" analysis])
- ["&;" module]
- (generator [";G" common]))
+ (lang ["la" analysis]
+ (translation [";T" common]))
+ ["&;" module])
(.. [";A" common]
[";A" function]
[";A" primitive]
@@ -37,7 +37,7 @@
(def: (call-macro macro inputs)
(-> Macro (List Code) (Meta (List Code)))
(do meta;Monad<Meta>
- [class (commonG;load-class hostL;function-class)]
+ [class (commonT;load-class hostL;function-class)]
(function [compiler]
(do e;Monad<Error>
[apply-method (Class.getMethod ["apply" _apply-args] class)
diff --git a/new-luxc/source/luxc/generator.lux b/new-luxc/source/luxc/lang/translation.lux
index e9b6c4d3f..4fcc3ccb2 100644
--- a/new-luxc/source/luxc/generator.lux
+++ b/new-luxc/source/luxc/lang/translation.lux
@@ -18,12 +18,12 @@
(lang ["&;" syntax]
(analysis [";A" expression]
[";A" common])
- (synthesis [";S" expression]))
- (generator ["&&;" runtime]
- ["&&;" statement]
- ["&&;" common]
- [";G" expression]
- ["&&;" eval])
+ (synthesis [";S" expression])
+ (translation [";T" runtime]
+ [";T" statement]
+ [";T" common]
+ [";T" expression]
+ [";T" eval]))
))
(def: analyse
@@ -41,8 +41,8 @@
[[_ metaA] (&;with-scope
(&;with-expected-type Code
(analyse metaC)))
- metaI (expressionG;generate (expressionS;synthesize metaA))
- metaV (&&eval;eval metaI)
+ metaI (expressionT;generate (expressionS;synthesize metaA))
+ metaV (evalT;eval metaI)
[_ valueT valueA] (&;with-scope
(if (meta;type? (:! Code metaV))
(&;with-expected-type Type
@@ -51,9 +51,9 @@
(wrap [Type valueA])))
(commonA;with-unknown-type
(analyse valueC))))
- valueI (expressionG;generate (expressionS;synthesize valueA))
+ valueI (expressionT;generate (expressionS;synthesize valueA))
_ (&;with-scope
- (&&statement;generate-def def-name valueT valueI metaI (:! Code metaV)))]
+ (statementT;generate-def def-name valueT valueI metaI (:! Code metaV)))]
(wrap []))
(^ [_ (#;Form (list [_ (#;Text "lux program")]
@@ -63,8 +63,8 @@
[[_ programA] (&;with-scope
(&;with-expected-type (type (io;IO Unit))
(analyse programC)))
- programI (expressionG;generate (expressionS;synthesize programA))]
- (&&statement;generate-program program-args programI))
+ programI (expressionT;generate (expressionS;synthesize programA))]
+ (statementT;generate-program program-args programI))
_
(&;fail (format "Unrecognized statement: " (%code code)))))
@@ -106,7 +106,7 @@
(case (meta;run' compiler
(do meta;Monad<Meta>
[[_ artifacts _] (&module;with-module module-hash module-name
- (&&common;with-artifacts
+ (commonT;with-artifacts
(with-active-compilation [module-name
file-name
file-content]
@@ -146,7 +146,7 @@
#;mode #;Build})
(def: #export (init-compiler host)
- (-> &&common;Host Compiler)
+ (-> commonT;Host Compiler)
{#;info init-info
#;source [init-cursor +0 ""]
#;cursor init-cursor
@@ -162,7 +162,7 @@
(def: #export (generate-program program target sources)
(-> Text File (List File) (T;Task Unit))
(do T;Monad<Task>
- [compiler (|> (case (&&runtime;generate (init-compiler (io;run hostL;init-host)))
+ [compiler (|> (case (runtimeT;generate (init-compiler (io;run hostL;init-host)))
(#e;Error error)
(T;fail error)
diff --git a/new-luxc/source/luxc/generator/case.jvm.lux b/new-luxc/source/luxc/lang/translation/case.jvm.lux
index a9ea4482a..a9ea4482a 100644
--- a/new-luxc/source/luxc/generator/case.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/case.jvm.lux
diff --git a/new-luxc/source/luxc/generator/common.jvm.lux b/new-luxc/source/luxc/lang/translation/common.jvm.lux
index 1870530c2..1870530c2 100644
--- a/new-luxc/source/luxc/generator/common.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/common.jvm.lux
diff --git a/new-luxc/source/luxc/generator/eval.jvm.lux b/new-luxc/source/luxc/lang/translation/eval.jvm.lux
index 2f0ce1c24..9514741f8 100644
--- a/new-luxc/source/luxc/generator/eval.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/eval.jvm.lux
@@ -1,9 +1,8 @@
(;module:
lux
(lux (control monad)
- (data ["R" error]
- text/format)
- [meta #+ Monad<Meta> "Meta/" Monad<Meta>]
+ (data text/format)
+ [meta]
[host #+ do-to])
(luxc ["&" base]
(host ["$" jvm]
@@ -11,8 +10,8 @@
["$d" def]
["$i" inst]))
(lang ["la" analysis]
- ["ls" synthesis])
- (generator ["&;" common])
+ ["ls" synthesis]
+ (translation [";T" common]))
))
(host;import java.lang.Object)
@@ -56,26 +55,26 @@
(def: #export (eval valueI)
(-> $;Inst (Meta Top))
- (do Monad<Meta>
+ (do meta;Monad<Meta>
[class-name (:: @ map %code (meta;gensym "eval"))
#let [writer (|> (do-to (ClassWriter.new ClassWriter.COMPUTE_MAXS)
- (ClassWriter.visit [&common;bytecode-version
+ (ClassWriter.visit [commonT;bytecode-version
(i.+ Opcodes.ACC_PUBLIC Opcodes.ACC_SUPER)
class-name
(host;null)
"java/lang/Object"
(host;null)]))
($d;field #$;Public ($_ $;++F $;finalF $;staticF)
- &common;value-field &common;$Object)
+ commonT;value-field commonT;$Object)
($d;method #$;Public ($_ $;++M $;staticM $;strictM)
"<clinit>"
($t;method (list) #;None (list))
(|>. valueI
- ($i;PUTSTATIC class-name &common;value-field &common;$Object)
+ ($i;PUTSTATIC class-name commonT;value-field commonT;$Object)
$i;RETURN)))
bytecode (ClassWriter.toByteArray [] (do-to writer (ClassWriter.visitEnd [])))]
- _ (&common;store-class class-name bytecode)
- class (&common;load-class class-name)]
+ _ (commonT;store-class class-name bytecode)
+ class (commonT;load-class class-name)]
(wrap (|> class
- (Class.getField [&common;value-field])
+ (Class.getField [commonT;value-field])
(Field.get (host;null))))))
diff --git a/new-luxc/source/luxc/generator/expression.jvm.lux b/new-luxc/source/luxc/lang/translation/expression.jvm.lux
index 798998510..af66d4994 100644
--- a/new-luxc/source/luxc/generator/expression.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/expression.jvm.lux
@@ -10,15 +10,15 @@
(luxc ["&" base]
(host ["$" jvm])
(lang ["ls" synthesis]
- [";L" variable #+ Variable Register])
- (generator ["&;" common]
- ["&;" primitive]
- ["&;" structure]
- ["&;" eval]
- ["&;" procedure]
- ["&;" function]
- ["&;" reference]
- [";G" case])))
+ (translation [";T" common]
+ [";T" primitive]
+ [";T" structure]
+ [";T" eval]
+ [";T" procedure]
+ [";T" function]
+ [";T" reference]
+ [";T" case])
+ [";L" variable #+ Variable Register])))
(exception: #export Unrecognized-Synthesis)
@@ -26,7 +26,7 @@
(-> ls;Synthesis (Meta $;Inst))
(case synthesis
(^code [])
- &primitive;generate-unit
+ primitiveT;generate-unit
(^code [(~ singleton)])
(generate singleton)
@@ -34,42 +34,42 @@
(^template [<tag> <generator>]
[_ (<tag> value)]
(<generator> value))
- ([#;Bool &primitive;generate-bool]
- [#;Nat &primitive;generate-nat]
- [#;Int &primitive;generate-int]
- [#;Deg &primitive;generate-deg]
- [#;Frac &primitive;generate-frac]
- [#;Text &primitive;generate-text])
+ ([#;Bool primitiveT;generate-bool]
+ [#;Nat primitiveT;generate-nat]
+ [#;Int primitiveT;generate-int]
+ [#;Deg primitiveT;generate-deg]
+ [#;Frac primitiveT;generate-frac]
+ [#;Text primitiveT;generate-text])
(^code ((~ [_ (#;Nat tag)]) (~ [_ (#;Bool last?)]) (~ valueS)))
- (&structure;generate-variant generate tag last? valueS)
+ (structureT;generate-variant generate tag last? valueS)
(^code [(~@ members)])
- (&structure;generate-tuple generate members)
+ (structureT;generate-tuple generate members)
(^ [_ (#;Form (list [_ (#;Int var)]))])
(if (variableL;captured? var)
- (&reference;generate-captured var)
- (&reference;generate-variable var))
+ (referenceT;generate-captured var)
+ (referenceT;generate-variable var))
[_ (#;Symbol definition)]
- (&reference;generate-definition definition)
+ (referenceT;generate-definition definition)
(^code ("lux let" (~ [_ (#;Nat register)]) (~ inputS) (~ exprS)))
- (caseG;generate-let generate register inputS exprS)
+ (caseT;generate-let generate register inputS exprS)
(^code ("lux case" (~ inputS) (~ pathPS)))
- (caseG;generate-case generate inputS pathPS)
+ (caseT;generate-case generate inputS pathPS)
(^multi (^code ("lux function" (~ [_ (#;Nat arity)]) [(~@ environment)] (~ bodyS)))
[(s;run environment (p;some s;int)) (#e;Success environment)])
- (&function;generate-function generate environment arity bodyS)
+ (functionT;generate-function generate environment arity bodyS)
(^code ("lux call" (~ functionS) (~@ argsS)))
- (&function;generate-call generate functionS argsS)
+ (functionT;generate-call generate functionS argsS)
(^code ((~ [_ (#;Text procedure)]) (~@ argsS)))
- (&procedure;generate-procedure generate procedure argsS)
+ (procedureT;generate-procedure generate procedure argsS)
_
(&;throw Unrecognized-Synthesis (%code synthesis))
diff --git a/new-luxc/source/luxc/generator/function.jvm.lux b/new-luxc/source/luxc/lang/translation/function.jvm.lux
index 310f4d7a0..35c88e4ed 100644
--- a/new-luxc/source/luxc/generator/function.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/function.jvm.lux
@@ -12,9 +12,9 @@
["$i" inst]))
(lang ["la" analysis]
["ls" synthesis]
- [";L" variable #+ Variable])
- (generator ["&;" common]
- ["&;" runtime])))
+ (translation [";T" common]
+ [";T" runtime])
+ [";L" variable #+ Variable])))
(def: arity-field Text "arity")
@@ -57,7 +57,7 @@
(def: get-amount-of-partialsI
$;Inst
(|>. ($i;ALOAD +0)
- ($i;GETFIELD hostL;function-class &runtime;partials-field $t;int)))
+ ($i;GETFIELD hostL;function-class runtimeT;partials-field $t;int)))
(def: (load-fieldI class field)
(-> Text Text $;Inst)
@@ -72,13 +72,13 @@
(def: (applysI start amount)
(-> $;Register Nat $;Inst)
- (let [max-args (n.min amount &runtime;num-apply-variants)
- later-applysI (if (n.> &runtime;num-apply-variants amount)
- (applysI (n.+ &runtime;num-apply-variants start) (n.- &runtime;num-apply-variants amount))
+ (let [max-args (n.min amount runtimeT;num-apply-variants)
+ later-applysI (if (n.> runtimeT;num-apply-variants amount)
+ (applysI (n.+ runtimeT;num-apply-variants start) (n.- runtimeT;num-apply-variants amount))
id)]
(|>. ($i;CHECKCAST hostL;function-class)
(inputsI start max-args)
- ($i;INVOKEVIRTUAL hostL;function-class &runtime;apply-method (&runtime;apply-signature max-args) false)
+ ($i;INVOKEVIRTUAL hostL;function-class runtimeT;apply-method (runtimeT;apply-signature max-args) false)
later-applysI)))
(def: (inc-intI by)
@@ -256,7 +256,7 @@
$i;ARETURN))
))))
$i;fuse)]
- ($d;method #$;Public $;noneM &runtime;apply-method (&runtime;apply-signature apply-arity)
+ ($d;method #$;Public $;noneM runtimeT;apply-method (runtimeT;apply-signature apply-arity)
(|>. get-amount-of-partialsI
($i;TABLESWITCH 0 (|> num-partials n.dec nat-to-int)
@default @labels)
@@ -272,16 +272,16 @@
(Meta [$;Def $;Inst]))
(do meta;Monad<Meta>
[@begin $i;make-label
- bodyI (&common;with-function class (generate body))
+ bodyI (commonT;with-function class (generate body))
#let [env-size (list;size env)
applyD (: $;Def
(if (poly-arg? arity)
- (|> (n.min arity &runtime;num-apply-variants)
+ (|> (n.min arity runtimeT;num-apply-variants)
(list;n.range +1)
(list/map (with-apply class env arity @begin bodyI))
(list& (with-implementation arity @begin bodyI))
$d;fuse)
- ($d;method #$;Public $;strictM &runtime;apply-method (&runtime;apply-signature +1)
+ ($d;method #$;Public $;strictM runtimeT;apply-method (runtimeT;apply-signature +1)
(|>. ($i;label @begin)
bodyI
$i;ARETURN))))
@@ -302,7 +302,7 @@
(do meta;Monad<Meta>
[function-class (:: @ map %code (meta;gensym "function"))
[functionD instanceI] (with-function generate function-class env arity body)
- _ (&common;store-class function-class
+ _ (commonT;store-class function-class
($d;class #$;V1.6 #$;Public $;finalC
function-class (list)
($;simple-class hostL;function-class) (list)
@@ -323,11 +323,11 @@
(do meta;Monad<Meta>
[functionI (generate functionS)
argsI (monad;map @ generate argsS)
- #let [applyI (|> (segment &runtime;num-apply-variants argsI)
+ #let [applyI (|> (segment runtimeT;num-apply-variants argsI)
(list/map (function [chunkI+]
(|>. ($i;CHECKCAST hostL;function-class)
($i;fuse chunkI+)
- ($i;INVOKEVIRTUAL hostL;function-class &runtime;apply-method (&runtime;apply-signature (list;size chunkI+)) false))))
+ ($i;INVOKEVIRTUAL hostL;function-class runtimeT;apply-method (runtimeT;apply-signature (list;size chunkI+)) false))))
$i;fuse)]]
(wrap (|>. functionI
applyI))))
diff --git a/new-luxc/source/luxc/generator/primitive.jvm.lux b/new-luxc/source/luxc/lang/translation/primitive.jvm.lux
index 637f46a85..72b5f4e9d 100644
--- a/new-luxc/source/luxc/generator/primitive.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/primitive.jvm.lux
@@ -9,8 +9,8 @@
(jvm ["$i" inst]
["$t" type]))
(lang ["la" analysis]
- ["ls" synthesis])
- (generator ["&;" common]))
+ ["ls" synthesis]
+ (translation [";T" common])))
[../runtime])
(def: #export generate-unit
diff --git a/new-luxc/source/luxc/generator/procedure.jvm.lux b/new-luxc/source/luxc/lang/translation/procedure.jvm.lux
index 973f0e968..973f0e968 100644
--- a/new-luxc/source/luxc/generator/procedure.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/procedure.jvm.lux
diff --git a/new-luxc/source/luxc/generator/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/procedure/common.jvm.lux
index dffbcb64e..80becb058 100644
--- a/new-luxc/source/luxc/generator/procedure/common.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/procedure/common.jvm.lux
@@ -16,9 +16,8 @@
["$d" def]
["$i" inst]))
(lang ["la" analysis]
- ["ls" synthesis])
- (generator ["&;" common]
- ["&;" runtime])))
+ ["ls" synthesis]
+ (translation [";T" runtime]))))
(host;import java.lang.Long
(#static MIN_VALUE Long)
@@ -193,11 +192,11 @@
$i;AALOAD
$i;DUP
($i;IFNULL @is-null)
- &runtime;someI
+ runtimeT;someI
($i;GOTO @end)
($i;label @is-null)
$i;POP
- &runtime;noneI
+ runtimeT;noneI
($i;label @end))))
(def: (array//put [arrayI idxI elemI])
@@ -400,11 +399,11 @@
($i;int -1)
($i;IF_ICMPEQ @not-found)
lux-intI
- &runtime;someI
+ runtimeT;someI
($i;GOTO @end)
($i;label @not-found)
$i;POP
- &runtime;noneI
+ runtimeT;noneI
($i;label @end))))]
[text//index "indexOf"]
diff --git a/new-luxc/source/luxc/generator/procedure/host.jvm.lux b/new-luxc/source/luxc/lang/translation/procedure/host.jvm.lux
index 9222b2e4a..c222e42cf 100644
--- a/new-luxc/source/luxc/generator/procedure/host.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/procedure/host.jvm.lux
@@ -22,9 +22,7 @@
["$i" inst]))
(lang ["la" analysis]
(analysis (procedure ["&;" host]))
- ["ls" synthesis])
- (generator ["&;" common]
- ["&;" runtime]))
+ ["ls" synthesis]))
["@" ../common])
(do-template [<name> <inst>]
diff --git a/new-luxc/source/luxc/generator/reference.jvm.lux b/new-luxc/source/luxc/lang/translation/reference.jvm.lux
index 9af511167..7c42f9f08 100644
--- a/new-luxc/source/luxc/generator/reference.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/reference.jvm.lux
@@ -8,18 +8,18 @@
(jvm ["$t" type]
["$i" inst]))
(lang ["ls" synthesis]
- [";L" variable #+ Variable])
- (generator [";G" common]
- [";G" function])))
+ [";L" variable #+ Variable]
+ (translation [";T" common]
+ [";T" function]))))
(def: #export (generate-captured variable)
(-> Variable (Meta $;Inst))
(do meta;Monad<Meta>
- [function-class commonG;function]
+ [function-class commonT;function]
(wrap (|>. ($i;ALOAD +0)
($i;GETFIELD function-class
- (|> variable i.inc (i.* -1) int-to-nat functionG;captured)
- commonG;$Object)))))
+ (|> variable i.inc (i.* -1) int-to-nat functionT;captured)
+ commonT;$Object)))))
(def: #export (generate-variable variable)
(-> Variable (Meta $;Inst))
@@ -28,4 +28,4 @@
(def: #export (generate-definition [def-module def-name])
(-> Ident (Meta $;Inst))
(let [bytecode-name (format def-module "/" (&;normalize-name def-name))]
- (meta/wrap ($i;GETSTATIC bytecode-name commonG;value-field commonG;$Object))))
+ (meta/wrap ($i;GETSTATIC bytecode-name commonT;value-field commonT;$Object))))
diff --git a/new-luxc/source/luxc/generator/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/runtime.jvm.lux
index 4b57e802e..e5d237fc7 100644
--- a/new-luxc/source/luxc/generator/runtime.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/runtime.jvm.lux
@@ -13,8 +13,8 @@
["$d" def]
["$i" inst]))
(lang ["la" analysis]
- ["ls" synthesis])
- (generator ["&;" common])))
+ ["ls" synthesis]
+ (translation [";T" common]))))
(host;import java.lang.Object)
(host;import java.lang.String)
@@ -556,7 +556,7 @@
)))
(def: generate-runtime
- (Meta &common;Bytecode)
+ (Meta commonT;Bytecode)
(do meta;Monad<Meta>
[_ (wrap [])
#let [bytecode ($d;class #$;V1.6 #$;Public $;finalC hostL;runtime-class (list) ["java.lang.Object" (list)] (list)
@@ -566,11 +566,11 @@
deg-methods
pm-methods
io-methods))]
- _ (&common;store-class hostL;runtime-class bytecode)]
+ _ (commonT;store-class hostL;runtime-class bytecode)]
(wrap bytecode)))
(def: generate-function
- (Meta &common;Bytecode)
+ (Meta commonT;Bytecode)
(do meta;Monad<Meta>
[_ (wrap [])
#let [applyI (|> (list;n.range +2 num-apply-variants)
@@ -597,11 +597,11 @@
($i;PUTFIELD hostL;function-class partials-field $t;int)
$i;RETURN))
applyI))]
- _ (&common;store-class hostL;function-class bytecode)]
+ _ (commonT;store-class hostL;function-class bytecode)]
(wrap bytecode)))
(def: #export generate
- (Meta [&common;Bytecode &common;Bytecode])
+ (Meta [commonT;Bytecode commonT;Bytecode])
(do meta;Monad<Meta>
[runtime-bc generate-runtime
function-bc generate-function]
diff --git a/new-luxc/source/luxc/generator/statement.jvm.lux b/new-luxc/source/luxc/lang/translation/statement.jvm.lux
index e91e99fc9..0234d738c 100644
--- a/new-luxc/source/luxc/generator/statement.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/statement.jvm.lux
@@ -17,8 +17,8 @@
(jvm ["$t" type]
["$d" def]
["$i" inst]))
- (generator ["&;" eval]
- ["&;" common])))
+ (lang (translation [";T" eval]
+ [";T" common]))))
(exception: #export Invalid-Definition-Value)
@@ -44,16 +44,16 @@
bytecode-name
(list) ["java.lang.Object" (list)]
(list)
- (|>. ($d;field #$;Public ($;++F $;finalF $;staticF) &common;value-field &common;$Object)
+ (|>. ($d;field #$;Public ($;++F $;finalF $;staticF) commonT;value-field commonT;$Object)
($d;method #$;Public $;staticM "<clinit>" ($t;method (list) #;None (list))
(|>. valueI
- ($i;PUTSTATIC bytecode-name &common;value-field &common;$Object)
+ ($i;PUTSTATIC bytecode-name commonT;value-field commonT;$Object)
$i;RETURN))))]
- _ (&common;store-class class-name bytecode)
- class (&common;load-class class-name)
+ _ (commonT;store-class class-name bytecode)
+ class (commonT;load-class class-name)
valueV (: (Meta Top)
(case (do e;Monad<Error>
- [field (Class.getField [&common;value-field] class)]
+ [field (Class.getField [commonT;value-field] class)]
(Field.get [#;None] field))
(#e;Success #;None)
(&;throw Invalid-Definition-Value (format current-module ";" def-name))
@@ -73,7 +73,7 @@
(&module;declare-tags tags (meta;export? metaV) (:! Type valueV)))
(wrap []))
#let [_ (log! (format "DEF " current-module ";" def-name))]]
- (&common;record-artifact bytecode-name bytecode)))
+ (commonT;record-artifact bytecode-name bytecode)))
(def: #export (generate-program program-args programI)
(-> Text $;Inst (Meta Unit))
diff --git a/new-luxc/source/luxc/generator/structure.jvm.lux b/new-luxc/source/luxc/lang/translation/structure.jvm.lux
index 96d5767c6..c3e07fd55 100644
--- a/new-luxc/source/luxc/generator/structure.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/structure.jvm.lux
@@ -12,8 +12,8 @@
["$d" def]
["$i" inst]))
(lang ["la" analysis]
- ["ls" synthesis])
- (generator ["&;" common]))
+ ["ls" synthesis]
+ (translation [";T" common])))
[../runtime])
(def: $Object $;Type ($t;class "java.lang.Object" (list)))
diff --git a/new-luxc/source/program.lux b/new-luxc/source/program.lux
index e660b4158..142e8b566 100644
--- a/new-luxc/source/program.lux
+++ b/new-luxc/source/program.lux
@@ -8,7 +8,7 @@
text/format)
[io #- run]
[cli #+ program: CLI])
- (luxc ["&;" generator]))
+ (luxc (lang [";L" translation])))
## (type: Compilation
## {#program &;Path
@@ -53,3 +53,5 @@
(#e;Success output)
(wrap output))))
+
+
diff --git a/new-luxc/test/test/luxc/common.lux b/new-luxc/test/test/luxc/common.lux
index 5b6fed8ec..84d912145 100644
--- a/new-luxc/test/test/luxc/common.lux
+++ b/new-luxc/test/test/luxc/common.lux
@@ -2,8 +2,8 @@
lux
(lux [io])
(luxc ["&;" host]
- [";G" generator]))
+ (lang [";L" translation])))
(def: #export (init-compiler _)
(-> Top Compiler)
- (generatorG;init-compiler (io;run &host;init-host)))
+ (translationL;init-compiler (io;run &host;init-host)))
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 333a60353..cda281e04 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
@@ -25,8 +25,8 @@
(analysis [";A" expression]
["@;" common]
["@" procedure]
- (procedure ["@;" host])))
- (generator ["@;" runtime]))
+ (procedure ["@;" host]))
+ (translation ["@;" runtime])))
(../.. common)
(test/luxc common))
diff --git a/new-luxc/test/test/luxc/lang/analysis/type.lux b/new-luxc/test/test/luxc/lang/analysis/type.lux
index 649c33fef..78107ecb6 100644
--- a/new-luxc/test/test/luxc/lang/analysis/type.lux
+++ b/new-luxc/test/test/luxc/lang/analysis/type.lux
@@ -21,8 +21,8 @@
(lang ["~" analysis]
(analysis [";A" expression]
["@" type]
- ["@;" common]))
- (generator ["@;" runtime])
+ ["@;" common])
+ (translation ["@;" runtime]))
[eval])
(.. common)
(test/luxc common))
diff --git a/new-luxc/test/test/luxc/generator/case.lux b/new-luxc/test/test/luxc/lang/translation/case.lux
index e4201a30b..3a8608ea7 100644
--- a/new-luxc/test/test/luxc/generator/case.lux
+++ b/new-luxc/test/test/luxc/lang/translation/case.lux
@@ -10,12 +10,12 @@
[meta]
(meta [code])
test)
- (luxc (lang ["ls" synthesis])
- (generator ["@" case]
- [";G" expression]
- ["@;" eval]
- ["@;" runtime]
- ["@;" common]))
+ (luxc (lang ["ls" synthesis]
+ (translation ["@" case]
+ [";T" expression]
+ ["@;" eval]
+ ["@;" runtime]
+ ["@;" common])))
(test/luxc common))
(def: struct-limit Nat +10)
@@ -71,7 +71,7 @@
(test "Can generate pattern-matching."
(|> (do meta;Monad<Meta>
[runtime-bytecode @runtime;generate
- sampleI (@;generate-case expressionG;generate
+ sampleI (@;generate-case expressionT;generate
valueS
(` ("lux case alt"
("lux case seq" (~ pathS)
@@ -80,22 +80,22 @@
("lux case exec" false)))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (:! Bool valueG)
+ (case> (#e;Success valueT)
+ (:! Bool valueT)
(#e;Error error)
false)))
(test "Can bind values."
(|> (do meta;Monad<Meta>
[runtime-bytecode @runtime;generate
- sampleI (@;generate-case expressionG;generate
+ sampleI (@;generate-case expressionT;generate
(code;nat to-bind)
(` ("lux case seq" ("lux case bind" +0)
("lux case exec" (0)))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (n.= to-bind (:! Nat valueG))
+ (case> (#e;Success valueT)
+ (n.= to-bind (:! Nat valueT))
_
false)))))))
diff --git a/new-luxc/test/test/luxc/generator/function.lux b/new-luxc/test/test/luxc/lang/translation/function.lux
index 2db2719b7..1896adff3 100644
--- a/new-luxc/test/test/luxc/generator/function.lux
+++ b/new-luxc/test/test/luxc/lang/translation/function.lux
@@ -13,11 +13,11 @@
(meta [code])
[host]
test)
- (luxc (lang ["ls" synthesis])
- (generator [";G" expression]
- ["@;" eval]
- ["@;" runtime]
- ["@;" common]))
+ (luxc (lang ["ls" synthesis]
+ (translation [";T" expression]
+ ["@;" eval]
+ ["@;" runtime]
+ ["@;" common])))
(test/luxc common))
(def: arity-limit Nat +10)
@@ -49,11 +49,11 @@
(test "Can read arguments."
(|> (do meta;Monad<Meta>
[runtime-bytecode @runtime;generate
- sampleI (expressionG;generate (` ("lux call" (~ functionS) (~@ argsS))))]
+ sampleI (expressionT;generate (` ("lux call" (~ functionS) (~@ argsS))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (n.= arg-value (:! Nat valueG))
+ (case> (#e;Success valueT)
+ (n.= arg-value (:! Nat valueT))
(#e;Error error)
false)))
@@ -64,13 +64,13 @@
preS (list;take partial-arity argsS)
postS (list;drop partial-arity argsS)]
runtime-bytecode @runtime;generate
- sampleI (expressionG;generate (` ("lux call"
+ sampleI (expressionT;generate (` ("lux call"
("lux call" (~ functionS) (~@ preS))
(~@ postS))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (n.= arg-value (:! Nat valueG))
+ (case> (#e;Success valueT)
+ (n.= arg-value (:! Nat valueT))
(#e;Error error)
false))))
@@ -88,11 +88,11 @@
("lux function" (~ (code;nat sub-arity)) [(~@ (list/map code;int env))]
((~ (code;int arg-var))))))]
runtime-bytecode @runtime;generate
- sampleI (expressionG;generate (` ("lux call" (~ functionS) (~@ argsS))))]
+ sampleI (expressionT;generate (` ("lux call" (~ functionS) (~@ argsS))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (n.= arg-value (:! Nat valueG))
+ (case> (#e;Success valueT)
+ (n.= arg-value (:! Nat valueT))
(#e;Error error)
false))))
diff --git a/new-luxc/test/test/luxc/generator/primitive.lux b/new-luxc/test/test/luxc/lang/translation/primitive.lux
index 1ce93cee9..8604ed369 100644
--- a/new-luxc/test/test/luxc/generator/primitive.lux
+++ b/new-luxc/test/test/luxc/lang/translation/primitive.lux
@@ -12,11 +12,11 @@
(meta [code])
test)
(luxc [";L" host]
- (lang ["ls" synthesis])
- (generator [";G" expression]
- ["@;" runtime]
- ["@;" eval]
- ["@;" common]))
+ (lang ["ls" synthesis]
+ (translation [";T" expression]
+ ["@;" runtime]
+ ["@;" eval]
+ ["@;" common])))
(test/luxc common))
(context: "Primitives."
@@ -32,11 +32,11 @@
[<tests> (do-template [<desc> <type> <synthesis> <sample> <test>]
[(test (format "Can generate " <desc> ".")
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (<synthesis> <sample>))]
+ [sampleI (expressionT;generate (<synthesis> <sample>))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (<test> <sample> (:! <type> valueG))
+ (case> (#e;Success valueT)
+ (<test> <sample> (:! <type> valueT))
_
false)))]
@@ -50,11 +50,11 @@
($_ seq
(test "Can generate unit."
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (' []))]
+ [sampleI (expressionT;generate (' []))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (is hostL;unit (:! Text valueG))
+ (case> (#e;Success valueT)
+ (is hostL;unit (:! Text valueT))
_
false)))
diff --git a/new-luxc/test/test/luxc/generator/procedure/common.jvm.lux b/new-luxc/test/test/luxc/lang/translation/procedure/common.jvm.lux
index 0c24a4020..8c44007d0 100644
--- a/new-luxc/test/test/luxc/generator/procedure/common.jvm.lux
+++ b/new-luxc/test/test/luxc/lang/translation/procedure/common.jvm.lux
@@ -16,11 +16,11 @@
(meta [code])
[host]
test)
- (luxc (lang ["ls" synthesis])
- (generator [";G" expression]
- ["@;" eval]
- ["@;" runtime]
- ["@;" common]))
+ (luxc (lang ["ls" synthesis]
+ (translation [";T" expression]
+ ["@;" eval]
+ ["@;" runtime]
+ ["@;" common])))
(test/luxc common))
(context: "Bit procedures"
@@ -31,12 +31,12 @@
(with-expansions [<binary> (do-template [<name> <reference>]
[(test <name>
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` (<name> (~ (code;nat subject))
+ [sampleI (expressionT;generate (` (<name> (~ (code;nat subject))
(~ (code;nat param)))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (n.= (<reference> param subject) (:! Nat valueG))
+ (case> (#e;Success valueT)
+ (n.= (<reference> param subject) (:! Nat valueT))
_
false)))]
@@ -50,11 +50,11 @@
($_ seq
(test "bit count"
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` ("bit count" (~ (code;nat subject)))))]
+ [sampleI (expressionT;generate (` ("bit count" (~ (code;nat subject)))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (n.= (bit;count subject) (:! Nat valueG))
+ (case> (#e;Success valueT)
+ (n.= (bit;count subject) (:! Nat valueT))
_
false)))
@@ -62,14 +62,14 @@
<binary>
(test "bit shift-right"
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` ("bit shift-right"
+ [sampleI (expressionT;generate (` ("bit shift-right"
(~ (code;int (nat-to-int subject)))
(~ (code;nat param)))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
+ (case> (#e;Success valueT)
(i.= (bit;signed-shift-right param (nat-to-int subject))
- (:! Int valueG))
+ (:! Int valueT))
_
false)))
@@ -84,11 +84,11 @@
(~~ (do-template [<name> <reference>]
[(test <name>
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` (<name>)))]
+ [sampleI (expressionT;generate (` (<name>)))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (n.= <reference> (:! Nat valueG))
+ (case> (#e;Success valueT)
+ (n.= <reference> (:! Nat valueT))
_
false)))]
@@ -99,11 +99,11 @@
(~~ (do-template [<name> <type> <prepare> <comp>]
[(test <name>
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` (<name> (~ (code;nat subject)))))]
+ [sampleI (expressionT;generate (` (<name> (~ (code;nat subject)))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (<comp> (<prepare> subject) (:! <type> valueG))
+ (case> (#e;Success valueT)
+ (<comp> (<prepare> subject) (:! <type> valueT))
_
false)))]
@@ -115,11 +115,11 @@
[(test <name>
(|> (do meta;Monad<Meta>
[runtime-bytecode @runtime;generate
- sampleI (expressionG;generate (` (<name> (~ (code;nat subject)) (~ (code;nat param)))))]
+ sampleI (expressionT;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))
+ (case> (#e;Success valueT)
+ (<comp> (<reference> param subject) (:! <outputT> valueT))
_
false)))]
@@ -142,11 +142,11 @@
(with-expansions [<nullary> (do-template [<name> <reference>]
[(test <name>
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` (<name>)))]
+ [sampleI (expressionT;generate (` (<name>)))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (i.= <reference> (:! Int valueG))
+ (case> (#e;Success valueT)
+ (i.= <reference> (:! Int valueT))
_
false)))]
@@ -157,11 +157,11 @@
<unary> (do-template [<name> <type> <prepare> <comp>]
[(test <name>
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` (<name> (~ (code;int subject)))))]
+ [sampleI (expressionT;generate (` (<name> (~ (code;int subject)))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (<comp> (<prepare> subject) (:! <type> valueG))
+ (case> (#e;Success valueT)
+ (<comp> (<prepare> subject) (:! <type> valueT))
_
false)))]
@@ -173,11 +173,11 @@
[(test <name>
(|> (do meta;Monad<Meta>
[runtime-bytecode @runtime;generate
- sampleI (expressionG;generate (` (<name> (~ (code;int subject)) (~ (code;int param)))))]
+ sampleI (expressionT;generate (` (<name> (~ (code;int subject)) (~ (code;int param)))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (<comp> (<reference> param subject) (:! <outputT> valueG))
+ (case> (#e;Success valueT)
+ (<comp> (<reference> param subject) (:! <outputT> valueT))
_
false)))]
@@ -205,11 +205,11 @@
[(test <name>
(|> (do meta;Monad<Meta>
[runtime-bytecode @runtime;generate
- sampleI (expressionG;generate (` (<name> (~ (code;frac subject)) (~ (code;frac param)))))]
+ sampleI (expressionT;generate (` (<name> (~ (code;frac subject)) (~ (code;frac param)))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (<comp> (<reference> param subject) (:! <outputT> valueG))
+ (case> (#e;Success valueT)
+ (<comp> (<reference> param subject) (:! <outputT> valueT))
_
false)))]
@@ -234,11 +234,11 @@
(with-expansions [<nullary> (do-template [<name> <test>]
[(test <name>
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` (<name>)))]
+ [sampleI (expressionT;generate (` (<name>)))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (<test> (:! Frac valueG))
+ (case> (#e;Success valueT)
+ (<test> (:! Frac valueT))
_
false)))]
@@ -254,11 +254,11 @@
[(test <name>
(|> (do meta;Monad<Meta>
[runtime-bytecode @runtime;generate
- sampleI (expressionG;generate (` (<name> (~ (code;frac subject)))))]
+ sampleI (expressionT;generate (` (<name> (~ (code;frac subject)))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (<comp> (<prepare> subject) (:! <type> valueG))
+ (case> (#e;Success valueT)
+ (<comp> (<prepare> subject) (:! <type> valueT))
_
false)))]
@@ -272,11 +272,11 @@
(test "frac encode|decode"
(|> (do meta;Monad<Meta>
[runtime-bytecode @runtime;generate
- sampleI (expressionG;generate (` ("frac decode" ("frac encode" (~ (code;frac subject))))))]
+ sampleI (expressionT;generate (` ("frac decode" ("frac encode" (~ (code;frac subject))))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (^multi (#e;Success valueG)
- [(:! (Maybe Frac) valueG) (#;Some value)])
+ (case> (^multi (#e;Success valueT)
+ [(:! (Maybe Frac) valueT) (#;Some value)])
(f.= subject value)
_
@@ -300,11 +300,11 @@
(~~ (do-template [<name> <reference>]
[(test <name>
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` (<name>)))]
+ [sampleI (expressionT;generate (` (<name>)))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (d.= <reference> (:! Deg valueG))
+ (case> (#e;Success valueT)
+ (d.= <reference> (:! Deg valueT))
_
false)))]
@@ -316,11 +316,11 @@
[(test <name>
(|> (do meta;Monad<Meta>
[runtime-bytecode @runtime;generate
- sampleI (expressionG;generate (` (<name> (~ (code;deg subject)))))]
+ sampleI (expressionT;generate (` (<name> (~ (code;deg subject)))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (<comp> (<prepare> subject) (:! <type> valueG))
+ (case> (#e;Success valueT)
+ (<comp> (<prepare> subject) (:! <type> valueT))
_
false)))]
@@ -331,11 +331,11 @@
[(test <name>
(|> (do meta;Monad<Meta>
[runtime-bytecode @runtime;generate
- sampleI (expressionG;generate (` (<name> (~ (code;deg subject)) (~ (code;deg param)))))]
+ sampleI (expressionT;generate (` (<name> (~ (code;deg subject)) (~ (code;deg param)))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (<comp> (<reference> param subject) (:! <outputT> valueG))
+ (case> (#e;Success valueT)
+ (<comp> (<reference> param subject) (:! <outputT> valueT))
_
false)))]
@@ -352,11 +352,11 @@
[(test <name>
(|> (do meta;Monad<Meta>
[runtime-bytecode @runtime;generate
- sampleI (expressionG;generate (` (<name> (~ (code;deg subject)) (~ (code;nat special)))))]
+ sampleI (expressionT;generate (` (<name> (~ (code;deg subject)) (~ (code;nat special)))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (<comp> (<reference> special subject) (:! <outputT> valueG))
+ (case> (#e;Success valueT)
+ (<comp> (<reference> special subject) (:! <outputT> valueT))
_
false)))]
diff --git a/new-luxc/test/test/luxc/generator/procedure/host.jvm.lux b/new-luxc/test/test/luxc/lang/translation/procedure/host.jvm.lux
index 91b20d3d4..35453c44b 100644
--- a/new-luxc/test/test/luxc/generator/procedure/host.jvm.lux
+++ b/new-luxc/test/test/luxc/lang/translation/procedure/host.jvm.lux
@@ -17,11 +17,11 @@
[host]
test)
(luxc [";L" host]
- (lang ["ls" synthesis])
- (generator [";G" expression]
- ["@;" eval]
- ["@;" runtime]
- ["@;" common]))
+ (lang ["ls" synthesis]
+ (translation [";T" expression]
+ ["@;" eval]
+ ["@;" runtime]
+ ["@;" common])))
(test/luxc common))
(context: "Conversions [Part 1]"
@@ -32,11 +32,11 @@
(with-expansions [<2step> (do-template [<step1> <step2> <tag> <sample> <cast> <test>]
[(test (format <step1> " / " <step2>)
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (|> (~ (<tag> <sample>)) <step1> <step2> (`)))]
+ [sampleI (expressionT;generate (|> (~ (<tag> <sample>)) <step1> <step2> (`)))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (<test> <sample> (:! <cast> valueG))
+ (case> (#e;Success valueT)
+ (<test> <sample> (:! <cast> valueT))
(#e;Error error)
false)))]
@@ -63,11 +63,11 @@
(~~ (do-template [<step1> <step2> <step3> <tag> <sample> <cast> <test>]
[(test (format <step1> " / " <step2> " / " <step3>)
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (|> (~ (<tag> <sample>)) <step1> <step2> <step3> (`)))]
+ [sampleI (expressionT;generate (|> (~ (<tag> <sample>)) <step1> <step2> <step3> (`)))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (<test> <sample> (:! <cast> valueG))
+ (case> (#e;Success valueT)
+ (<test> <sample> (:! <cast> valueT))
(#e;Error error)
false)))]
@@ -89,11 +89,11 @@
(~~ (do-template [<step1> <step2> <step3> <step4> <tag> <sample> <cast> <test>]
[(test (format <step1> " / " <step2> " / " <step3>)
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (|> (~ (<tag> <sample>)) <step1> <step2> <step3> <step4> (`)))]
+ [sampleI (expressionT;generate (|> (~ (<tag> <sample>)) <step1> <step2> <step3> <step4> (`)))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (<test> <sample> (:! <cast> valueG))
+ (case> (#e;Success valueT)
+ (<test> <sample> (:! <cast> valueT))
(#e;Error error)
false)))]
@@ -127,14 +127,14 @@
(with-expansions [<tests> (do-template [<procedure> <reference>]
[(test <procedure>
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` (<post> ((~ (code;text <procedure>))
+ [sampleI (expressionT;generate (` (<post> ((~ (code;text <procedure>))
(<pre> (~ (<tag> subject)))
(<pre> (~ (<tag> param)))))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
+ (case> (#e;Success valueT)
(<test> (<reference> param subject)
- (:! <type> valueG))
+ (:! <type> valueT))
(#e;Error error)
false)))]
@@ -165,14 +165,14 @@
(~~ (do-template [<procedure> <reference>]
[(test <procedure>
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` (<post> ((~ (code;text <procedure>))
+ [sampleI (expressionT;generate (` (<post> ((~ (code;text <procedure>))
(<convert> (~ (code;nat subject)))
(<convert> (~ (code;nat param)))))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
+ (case> (#e;Success valueT)
(n.= (<reference> param subject)
- (:! Nat valueG))
+ (:! Nat valueT))
(#e;Error error)
false)))]
@@ -198,14 +198,14 @@
(~~ (do-template [<procedure> <reference> <type> <test> <pre-subject> <pre>]
[(test <procedure>
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` (<post> ((~ (code;text <procedure>))
+ [sampleI (expressionT;generate (` (<post> ((~ (code;text <procedure>))
(<convert> (~ (<pre> subject)))
("jvm convert long-to-int" (~ (code;nat shift)))))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
+ (case> (#e;Success valueT)
(<test> (<reference> shift (<pre-subject> subject))
- (:! <type> valueG))
+ (:! <type> valueT))
(#e;Error error)
false)))]
@@ -229,14 +229,14 @@
(with-expansions [<tests> (do-template [<procedure> <reference>]
[(test <procedure>
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` ((~ (code;text <procedure>))
+ [sampleI (expressionT;generate (` ((~ (code;text <procedure>))
(<pre> (~ (<tag> subject)))
(<pre> (~ (<tag> param))))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
+ (case> (#e;Success valueT)
(bool/= (<reference> param subject)
- (:! Bool valueG))
+ (:! Bool valueT))
(#e;Error error)
false)))]
@@ -283,7 +283,7 @@
(with-expansions [<array> (do-template [<class> <type> <value> <test> <input> <post>]
[(test <class>
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (|> (jvm//array//new +0 <class> size)
+ [sampleI (expressionT;generate (|> (jvm//array//new +0 <class> size)
(jvm//array//write <class> idx <input>)
(jvm//array//read <class> idx)
(~)
@@ -332,7 +332,7 @@
(with-expansions [<array> (do-template [<class> <type> <value> <test> <input> <post>]
[(test <class>
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (|> (jvm//array//new +0 <class> size)
+ [sampleI (expressionT;generate (|> (jvm//array//new +0 <class> size)
(jvm//array//write <class> idx <input>)
(jvm//array//read <class> idx)
(~)
@@ -340,8 +340,8 @@
(`)))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success outputG)
- (<test> <value> (:! <type> outputG))
+ (case> (#e;Success outputT)
+ (<test> <value> (:! <type> outputT))
(#e;Error error)
false)))]
@@ -360,25 +360,25 @@
[#let [inner (|> ("jvm array new" +0 "java.lang.Double" (~ (code;nat size)))
("jvm array write" "java.lang.Double" (~ (code;nat idx)) (~ (code;frac valueD)))
(`))]
- sampleI (expressionG;generate (|> ("jvm array new" +1 "java.lang.Double" (~ (code;nat size)))
+ sampleI (expressionT;generate (|> ("jvm array new" +1 "java.lang.Double" (~ (code;nat size)))
("jvm array write" "#Array" (~ (code;nat idx)) (~ inner))
("jvm array read" "#Array" (~ (code;nat idx)))
("jvm array read" "java.lang.Double" (~ (code;nat idx)))
(`)))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success outputG)
- (f.= valueD (:! Frac outputG))
+ (case> (#e;Success outputT)
+ (f.= valueD (:! Frac outputT))
(#e;Error error)
false)))
(test "jvm array length"
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` ("jvm array length" ("jvm array new" +0 "java.lang.Object" (~ (code;nat size))))))]
+ [sampleI (expressionT;generate (` ("jvm array length" ("jvm array new" +0 "java.lang.Object" (~ (code;nat size))))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success outputG)
- (n.= size (:! Nat outputG))
+ (case> (#e;Success outputT)
+ (n.= size (:! Nat outputT))
(#e;Error error)
false)))
@@ -424,70 +424,70 @@
($_ seq
(test "jvm object null"
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` ("jvm object null?" ("jvm object null"))))]
+ [sampleI (expressionT;generate (` ("jvm object null?" ("jvm object null"))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success outputG)
- (:! Bool outputG)
+ (case> (#e;Success outputT)
+ (:! Bool outputT)
(#e;Error error)
false)))
(test "jvm object null?"
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` ("jvm object null?" (~ (code;int sample)))))]
+ [sampleI (expressionT;generate (` ("jvm object null?" (~ (code;int sample)))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success outputG)
- (not (:! Bool outputG))
+ (case> (#e;Success outputT)
+ (not (:! Bool outputT))
(#e;Error error)
false)))
(test "jvm object synchronized"
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` ("jvm object synchronized" (~ (code;int monitor)) (~ (code;int sample)))))]
+ [sampleI (expressionT;generate (` ("jvm object synchronized" (~ (code;int monitor)) (~ (code;int sample)))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success outputG)
- (i.= sample (:! Int outputG))
+ (case> (#e;Success outputT)
+ (i.= sample (:! Int outputT))
(#e;Error error)
false)))
(test "jvm object throw"
(|> (do meta;Monad<Meta>
[_ @runtime;generate
- sampleI (expressionG;generate (` ("lux try" ("lux function" +1 []
+ sampleI (expressionT;generate (` ("lux try" ("lux function" +1 []
("jvm object throw" ("jvm member invoke constructor"
"java.lang.Throwable"
(~ exception-message$)))))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success outputG)
- (case (:! (e;Error Top) outputG)
+ (case> (#e;Success outputT)
+ (case (:! (e;Error Top) outputT)
(#e;Error error)
(text;contains? exception-message error)
- (#e;Success outputG)
+ (#e;Success outputT)
false)
(#e;Error error)
false)))
(test "jvm object class"
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` ("jvm object class" (~ (code;text class)))))]
+ [sampleI (expressionT;generate (` ("jvm object class" (~ (code;text class)))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success outputG)
- (|> outputG (:! Class) (Class.getName []) (text/= class))
+ (case> (#e;Success outputT)
+ (|> outputT (:! Class) (Class.getName []) (text/= class))
(#e;Error error)
false)))
(test "jvm object instance?"
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` ("jvm object instance?" (~ (code;text instance-class)) (~ instance))))]
+ [sampleI (expressionT;generate (` ("jvm object instance?" (~ (code;text instance-class)) (~ instance))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success outputG)
- (:! Bool outputG)
+ (case> (#e;Success outputT)
+ (:! Bool outputT)
(#e;Error error)
false)))
@@ -513,44 +513,44 @@
($_ seq
(test "jvm member static get"
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` ("jvm convert int-to-long" ("jvm member static get" "java.util.GregorianCalendar" "AD" "int"))))]
+ [sampleI (expressionT;generate (` ("jvm convert int-to-long" ("jvm member static get" "java.util.GregorianCalendar" "AD" "int"))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success outputG)
- (i.= GregorianCalendar.AD (:! Int outputG))
+ (case> (#e;Success outputT)
+ (i.= GregorianCalendar.AD (:! Int outputT))
(#e;Error error)
false)))
(test "jvm member static put"
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` ("jvm member static put" "java.awt.datatransfer.DataFlavor" "allHtmlFlavor" "java.awt.datatransfer.DataFlavor"
+ [sampleI (expressionT;generate (` ("jvm member static put" "java.awt.datatransfer.DataFlavor" "allHtmlFlavor" "java.awt.datatransfer.DataFlavor"
("jvm member static get" "java.awt.datatransfer.DataFlavor" "allHtmlFlavor" "java.awt.datatransfer.DataFlavor"))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success outputG)
- (is hostL;unit (:! Text outputG))
+ (case> (#e;Success outputT)
+ (is hostL;unit (:! Text outputT))
(#e;Error error)
false)))
(test "jvm member virtual get"
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` ("jvm member virtual get" "org.omg.CORBA.ValueMember" "name" "java.lang.String" (~ value-memberS))))]
+ [sampleI (expressionT;generate (` ("jvm member virtual get" "org.omg.CORBA.ValueMember" "name" "java.lang.String" (~ value-memberS))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success outputG)
- (text/= sample-string (:! Text outputG))
+ (case> (#e;Success outputT)
+ (text/= sample-string (:! Text outputT))
(#e;Error error)
false)))
(test "jvm member virtual put"
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` ("jvm member virtual get" "org.omg.CORBA.ValueMember" "name" "java.lang.String"
+ [sampleI (expressionT;generate (` ("jvm member virtual get" "org.omg.CORBA.ValueMember" "name" "java.lang.String"
("jvm member virtual put" "org.omg.CORBA.ValueMember" "name" "java.lang.String"
(~ (code;text other-sample-string)) (~ value-memberS)))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success outputG)
- (text/= other-sample-string (:! Text outputG))
+ (case> (#e;Success outputT)
+ (text/= other-sample-string (:! Text outputT))
(#e;Error error)
false)))
@@ -571,43 +571,43 @@
($_ seq
(test "jvm member invoke static"
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` ("jvm member invoke static" "java.lang.Long" "decode" "java.lang.Long" (~ coded-intS))))]
+ [sampleI (expressionT;generate (` ("jvm member invoke static" "java.lang.Long" "decode" "java.lang.Long" (~ coded-intS))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success outputG)
- (i.= sample (:! Int outputG))
+ (case> (#e;Success outputT)
+ (i.= sample (:! Int outputT))
(#e;Error error)
false)))
(test "jvm member invoke virtual"
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` ("jvm member invoke virtual" "java.lang.Object" "equals" "boolean"
+ [sampleI (expressionT;generate (` ("jvm member invoke virtual" "java.lang.Object" "equals" "boolean"
(~ (code;int sample)) (~ object-longS))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success outputG)
- (:! Bool outputG)
+ (case> (#e;Success outputT)
+ (:! Bool outputT)
(#e;Error error)
false)))
(test "jvm member invoke interface"
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (` ("jvm member invoke interface" "java.util.Collection" "add" "boolean"
+ [sampleI (expressionT;generate (` ("jvm member invoke interface" "java.util.Collection" "add" "boolean"
(~ array-listS) (~ object-longS))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success outputG)
- (:! Bool outputG)
+ (case> (#e;Success outputT)
+ (:! Bool outputT)
(#e;Error error)
false)))
(test "jvm member invoke constructor"
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate array-listS)]
+ [sampleI (expressionT;generate array-listS)]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success outputG)
- (host;instance? ArrayList (:! Object outputG))
+ (case> (#e;Success outputT)
+ (host;instance? ArrayList (:! Object outputT))
(#e;Error error)
false)))
diff --git a/new-luxc/test/test/luxc/generator/reference.lux b/new-luxc/test/test/luxc/lang/translation/reference.lux
index dd522839b..0bc2bb325 100644
--- a/new-luxc/test/test/luxc/generator/reference.lux
+++ b/new-luxc/test/test/luxc/lang/translation/reference.lux
@@ -11,28 +11,28 @@
test)
(luxc (host ["$" jvm]
(jvm ["$i" inst]))
- (lang ["ls" synthesis])
- ["_;" module]
- (generator [";G" statement]
- [";G" eval]
- [";G" expression]
- [";G" case]
- [";G" runtime]))
+ (lang ["ls" synthesis]
+ (translation [";T" statement]
+ [";T" eval]
+ [";T" expression]
+ [";T" case]
+ [";T" runtime]))
+ ["_;" module])
(test/luxc common))
-(def: nilI $;Inst runtimeG;noneI)
+(def: nilI $;Inst runtimeT;noneI)
(def: cursorI
$;Inst
(|>. ($i;int 3)
- ($i;array runtimeG;$Tuple)
+ ($i;array runtimeT;$Tuple)
$i;DUP ($i;int 0) ($i;string "") $i;AASTORE
$i;DUP ($i;int 1) ($i;long 0) ($i;wrap #$;Long) $i;AASTORE
$i;DUP ($i;int 2) ($i;long 0) ($i;wrap #$;Long) $i;AASTORE))
(def: empty-metaI
(|>. ($i;int 2)
- ($i;array runtimeG;$Tuple)
+ ($i;array runtimeT;$Tuple)
$i;DUP ($i;int 0) cursorI $i;AASTORE
$i;DUP ($i;int 1) nilI $i;AASTORE))
@@ -47,12 +47,12 @@
(test "Can refer to definitions."
(|> (do meta;Monad<Meta>
[_ (_module;with-module +0 module-name
- (statementG;generate-def def-name Int valueI empty-metaI (' {})))
- sampleI (expressionG;generate (code;symbol [module-name def-name]))]
- (evalG;eval sampleI))
+ (statementT;generate-def def-name Int valueI empty-metaI (' {})))
+ sampleI (expressionT;generate (code;symbol [module-name def-name]))]
+ (evalT;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (i.= def-value (:! Int valueG))
+ (case> (#e;Success valueT)
+ (i.= def-value (:! Int valueT))
(#e;Error error)
false)))
@@ -66,14 +66,14 @@
($_ seq
(test "Can refer to local variables/registers."
(|> (do meta;Monad<Meta>
- [sampleI (caseG;generate-let expressionG;generate
+ [sampleI (caseT;generate-let expressionT;generate
register
(code;int value)
(` ((~ (code;int (nat-to-int register))))))]
- (evalG;eval sampleI))
+ (evalT;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success outputG)
- (i.= value (:! Int outputG))
+ (case> (#e;Success outputT)
+ (i.= value (:! Int outputT))
(#e;Error error)
false)))
diff --git a/new-luxc/test/test/luxc/generator/structure.lux b/new-luxc/test/test/luxc/lang/translation/structure.lux
index 7c342dbc4..a8f74ec6a 100644
--- a/new-luxc/test/test/luxc/generator/structure.lux
+++ b/new-luxc/test/test/luxc/lang/translation/structure.lux
@@ -16,11 +16,11 @@
[host]
test)
(luxc [";L" host]
- (lang ["ls" synthesis])
- (generator [";G" expression]
- ["@;" eval]
- ["@;" runtime]
- ["@;" common]))
+ (lang ["ls" synthesis]
+ (translation [";T" expression]
+ ["@;" eval]
+ ["@;" runtime]
+ ["@;" common])))
(test/luxc common))
(host;import java.lang.Integer)
@@ -67,13 +67,13 @@
members (r;list size gen-primitive)]
(test "Can generate tuple."
(|> (do meta;Monad<Meta>
- [sampleI (expressionG;generate (code;tuple members))]
+ [sampleI (expressionT;generate (code;tuple members))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (let [valueG (:! (Array Top) valueG)]
- (and (n.= size (array;size valueG))
- (list;every? corresponds? (list;zip2 members (array;to-list valueG)))))
+ (case> (#e;Success valueT)
+ (let [valueT (:! (Array Top) valueT)]
+ (and (n.= size (array;size valueT))
+ (list;every? corresponds? (list;zip2 members (array;to-list valueT)))))
_
false))))))
@@ -88,15 +88,15 @@
(test "Can generate variant."
(|> (do meta;Monad<Meta>
[runtime-bytecode @runtime;generate
- sampleI (expressionG;generate (` ((~ (code;nat tag)) (~ (code;bool last?)) (~ member))))]
+ sampleI (expressionT;generate (` ((~ (code;nat tag)) (~ (code;bool last?)) (~ member))))]
(@eval;eval sampleI))
(meta;run (init-compiler []))
- (case> (#e;Success valueG)
- (let [valueG (:! (Array Top) valueG)]
- (and (n.= +3 (array;size valueG))
- (let [_tag (:! Integer (maybe;assume (array;read +0 valueG)))
- _last? (array;read +1 valueG)
- _value (:! Top (maybe;assume (array;read +2 valueG)))]
+ (case> (#e;Success valueT)
+ (let [valueT (:! (Array Top) valueT)]
+ (and (n.= +3 (array;size valueT))
+ (let [_tag (:! Integer (maybe;assume (array;read +0 valueT)))
+ _last? (array;read +1 valueT)
+ _value (:! Top (maybe;assume (array;read +2 valueT)))]
(and (n.= tag (|> _tag host;i2l int-to-nat))
(case _last?
(#;Some _last?')
diff --git a/new-luxc/test/tests.lux b/new-luxc/test/tests.lux
index 5ec79d1e5..88d89ad90 100644
--- a/new-luxc/test/tests.lux
+++ b/new-luxc/test/tests.lux
@@ -19,14 +19,14 @@
(case ["_;S" special])
["_;S" function]
["_;S" procedure]
- ["_;S" loop]))
- (generator ["_;G" primitive]
- ["_;G" structure]
- ["_;G" case]
- ["_;G" function]
- ["_;G" reference]
- (procedure ["_;G" common]
- ["_;G" host]))
+ ["_;S" loop])
+ (translation ["_;T" primitive]
+ ["_;T" structure]
+ ["_;T" case]
+ ["_;T" function]
+ ["_;T" reference]
+ (procedure ["_;T" common]
+ ["_;T" host])))
)))
(program: args