diff options
Diffstat (limited to 'new-luxc/source/luxc/lang')
49 files changed, 204 insertions, 257 deletions
diff --git a/new-luxc/source/luxc/lang/analysis/type.lux b/new-luxc/source/luxc/lang/analysis/type.lux index c3296fd21..6d89dd5ef 100644 --- a/new-luxc/source/luxc/lang/analysis/type.lux +++ b/new-luxc/source/luxc/lang/analysis/type.lux @@ -23,5 +23,5 @@ (do macro.Monad<Meta> [actualT (eval Type type) _ (&.infer (:! Type actualT))] - (&.with-type Top + (&.with-type Any (analyse value)))) diff --git a/new-luxc/source/luxc/lang/extension.lux b/new-luxc/source/luxc/lang/extension.lux index ef7a4f864..254dd18ca 100644 --- a/new-luxc/source/luxc/lang/extension.lux +++ b/new-luxc/source/luxc/lang/extension.lux @@ -27,7 +27,7 @@ (type: #export Analysis (-> (-> Code (Meta Code)) - (-> Type Code (Meta Top)) + (-> Type Code (Meta Any)) (List Code) (Meta Code))) (type: #export Synthesis @@ -39,7 +39,7 @@ (-> (List Code) (Meta Code))) (type: #export Statement - (-> (List Code) (Meta Top))) + (-> (List Code) (Meta Any))) (type: #export Extensions {#analysis (Dict Text Analysis) @@ -61,9 +61,9 @@ (|> compiler (get@ #.extensions) (:! Extensions))]))) (def: (set extensions) - (-> Extensions (Meta Top)) + (-> Extensions (Meta Any)) (function (_ compiler) - (#e.Success [(set@ #.extensions (:! Bottom extensions) compiler) + (#e.Success [(set@ #.extensions (:! Nothing extensions) compiler) []]))) (do-template [<name> <type> <category> <exception>] @@ -99,7 +99,7 @@ (do-template [<name> <type> <category> <exception>] [(def: #export (<name> name extension) - (-> Text <type> (Meta Top)) + (-> Text <type> (Meta Any)) (do macro.Monad<Meta> [extensions ..get _ (//.assert <exception> name diff --git a/new-luxc/source/luxc/lang/extension/analysis/common.lux b/new-luxc/source/luxc/lang/extension/analysis/common.lux index 9f2ac5aa8..f22cdcdd1 100644 --- a/new-luxc/source/luxc/lang/extension/analysis/common.lux +++ b/new-luxc/source/luxc/lang/extension/analysis/common.lux @@ -191,9 +191,9 @@ Bundle (<| (prefix "io") (|> (dict.new text.Hash<Text>) - (install "log" (unary Text Top)) - (install "error" (unary Text Bottom)) - (install "exit" (unary Int Bottom)) + (install "log" (unary Text Any)) + (install "error" (unary Text Nothing)) + (install "exit" (unary Int Nothing)) (install "current-time" (nullary Int))))) (def: bit-procs @@ -410,7 +410,7 @@ (do macro.Monad<Meta> [[thread-id threadT] (&.with-type-env tc.var) [var-id varT] (&.with-type-env tc.var)] - ((binary varT (type (Box threadT varT)) Top proc) + ((binary varT (type (Box threadT varT)) Any proc) analyse eval args)))) (def: box-procs @@ -427,7 +427,7 @@ (<| (prefix "process") (|> (dict.new text.Hash<Text>) (install "parallelism-level" (nullary Nat)) - (install "schedule" (binary Nat (type (io.IO Top)) Top)) + (install "schedule" (binary Nat (type (io.IO Any)) Any)) ))) (def: #export procedures diff --git a/new-luxc/source/luxc/lang/extension/analysis/host.jvm.lux b/new-luxc/source/luxc/lang/extension/analysis/host.jvm.lux index 08ad014be..9ef06a4b1 100644 --- a/new-luxc/source/luxc/lang/extension/analysis/host.jvm.lux +++ b/new-luxc/source/luxc/lang/extension/analysis/host.jvm.lux @@ -477,12 +477,12 @@ (case args (^ (list exceptionC)) (do macro.Monad<Meta> - [_ (&.infer Bottom) + [_ (&.infer Nothing) [exceptionT exceptionA] (&common.with-unknown-type (analyse exceptionC)) exception-class (check-object exceptionT) ? (sub-class? "java.lang.Throwable" exception-class) - _ (: (Meta Top) + _ (: (Meta Any) (if ? (wrap []) (&.throw Non-Throwable exception-class)))] @@ -571,7 +571,7 @@ (java-type-to-lux-type mappings bound) _ - (macro/wrap Top))) + (macro/wrap Any))) (host.instance? Class java-type) (let [java-type (:! (Class Object) java-type) @@ -818,7 +818,7 @@ (case [classC fieldC] [[_ (#.Text class)] [_ (#.Text field)]] (do macro.Monad<Meta> - [_ (&.infer Top) + [_ (&.infer Any) [fieldT final?] (static-field class field) _ (&.assert Cannot-Set-Final-Field (format class "#" field) (not final?)) @@ -1130,7 +1130,7 @@ (def: (invoke//special proc) (-> Text ///.Analysis) (function (_ analyse eval args) - (case (: (e.Error [(List Code) [Text Text Code (List [Text Code]) Top]]) + (case (: (e.Error [(List Code) [Text Text Code (List [Text Code]) Any]]) (p.run args ($_ p.seq s.text s.text s.any (p.some (s.tuple (p.seq s.text s.any))) s.end!))) (#e.Success [_ [class method objectC argsTC _]]) (do macro.Monad<Meta> diff --git a/new-luxc/source/luxc/lang/extension/statement.lux b/new-luxc/source/luxc/lang/extension/statement.lux index f607ac154..a92995630 100644 --- a/new-luxc/source/luxc/lang/extension/statement.lux +++ b/new-luxc/source/luxc/lang/extension/statement.lux @@ -52,7 +52,7 @@ (wrap [annsI (:! Code annsV)]))) (def: (ensure-valid-alias def-name annotations value) - (-> Text Code Code (Meta Top)) + (-> Text Code Code (Meta Any)) (case [annotations value] (^multi [[_ (#.Record pairs)] [_ (#.Symbol _)]] (|> pairs list.size (n/= +1))) @@ -76,7 +76,7 @@ (do @ [_ (ensure-valid-alias def-name annotationsV valueC) _ (lang.with-scope - (statementT.translate-def def-name Bottom id annotationsV))] + (statementT.translate-def def-name Nothing id annotationsV))] (wrap [])) #.None @@ -107,7 +107,7 @@ (do macro.Monad<Meta> [[_ programA] (<| lang.with-scope (scopeL.with-local [args (type (List Text))]) - (lang.with-type (type (IO Top))) + (lang.with-type (type (IO Any))) (expressionA.analyser evalL.eval programC)) syntheses //.all-syntheses programI (expressionT.translate (expressionS.synthesize syntheses programA)) diff --git a/new-luxc/source/luxc/lang/host.jvm.lux b/new-luxc/source/luxc/lang/host.jvm.lux index 5819e5126..01afaeccc 100644 --- a/new-luxc/source/luxc/lang/host.jvm.lux +++ b/new-luxc/source/luxc/lang/host.jvm.lux @@ -97,13 +97,13 @@ (.function (_ compiler) (let [old (:! commonT.Host (get@ #.host compiler))] (case (expr (set@ #.host - (:! Bottom (set@ #commonT.anchor (#.Some anchor) old)) + (:! Nothing (set@ #commonT.anchor (#.Some anchor) old)) compiler)) (#e.Success [compiler' output]) (#e.Success [(update@ #.host (|>> (:! commonT.Host) (set@ #commonT.anchor (get@ #commonT.anchor old)) - (:! Bottom)) + (:! Nothing)) compiler') output]) @@ -129,13 +129,13 @@ (.function (_ compiler) (let [old (:! commonT.Host (get@ #.host compiler))] (case (expr (set@ #.host - (:! Bottom (set@ #commonT.context [(&.normalize-name name) +0] old)) + (:! Nothing (set@ #commonT.context [(&.normalize-name name) +0] old)) compiler)) (#e.Success [compiler' output]) (#e.Success [(update@ #.host (|>> (:! commonT.Host) (set@ #commonT.context (get@ #commonT.context old)) - (:! Bottom)) + (:! Nothing)) compiler') output]) @@ -149,13 +149,13 @@ [old-name old-sub] (get@ #commonT.context old) new-name (format old-name "$" (%i (nat-to-int old-sub)))] (case (expr (set@ #.host - (:! Bottom (set@ #commonT.context [new-name +0] old)) + (:! Nothing (set@ #commonT.context [new-name +0] old)) compiler)) (#e.Success [compiler' output]) (#e.Success [(update@ #.host (|>> (:! commonT.Host) (set@ #commonT.context [old-name (n/inc old-sub)]) - (:! Bottom)) + (:! Nothing)) compiler') [new-name output]]) diff --git a/new-luxc/source/luxc/lang/host/common-lisp.lux b/new-luxc/source/luxc/lang/host/common-lisp.lux index 7ae024a07..3ba69314d 100644 --- a/new-luxc/source/luxc/lang/host/common-lisp.lux +++ b/new-luxc/source/luxc/lang/host/common-lisp.lux @@ -8,8 +8,8 @@ (coll [list "list/" Functor<List> Fold<List>])) (type abstract))) -(abstract: #export Single {} Top) -(abstract: #export Poly {} Top) +(abstract: #export Single {} Any) +(abstract: #export Poly {} Any) (abstract: #export (Var kind) {} diff --git a/new-luxc/source/luxc/lang/host/jvm.lux b/new-luxc/source/luxc/lang/host/jvm.lux index 3fb55d2f9..20dd4c37b 100644 --- a/new-luxc/source/luxc/lang/host/jvm.lux +++ b/new-luxc/source/luxc/lang/host/jvm.lux @@ -122,7 +122,7 @@ ## Labels (def: #export new-label - (-> Top Label) + (-> Any Label) org/objectweb/asm/Label::new) (def: #export (simple-class name) diff --git a/new-luxc/source/luxc/lang/host/php.lux b/new-luxc/source/luxc/lang/host/php.lux index 982989320..603888d3e 100644 --- a/new-luxc/source/luxc/lang/host/php.lux +++ b/new-luxc/source/luxc/lang/host/php.lux @@ -7,11 +7,11 @@ (coll [list "list/" Functor<List> Fold<List>])) (type abstract))) -(abstract: Global' {} Top) -(abstract: Var' {} Top) -(abstract: Computation' {} Top) -(abstract: (Expression' k) {} Top) -(abstract: Statement' {} Top) +(abstract: Global' {} Any) +(abstract: Var' {} Any) +(abstract: Computation' {} Any) +(abstract: (Expression' k) {} Any) +(abstract: Statement' {} Any) (abstract: (Code' k) {} diff --git a/new-luxc/source/luxc/lang/host/python.lux b/new-luxc/source/luxc/lang/host/python.lux index 128de5811..b2b639cb2 100644 --- a/new-luxc/source/luxc/lang/host/python.lux +++ b/new-luxc/source/luxc/lang/host/python.lux @@ -7,9 +7,9 @@ (coll [list "list/" Functor<List> Fold<List>])) (type abstract))) -(abstract: #export Single {} Top) -(abstract: #export Poly {} Top) -(abstract: #export Keyword {} Top) +(abstract: #export Single {} Any) +(abstract: #export Poly {} Any) +(abstract: #export Keyword {} Any) (abstract: #export (Var kind) {} diff --git a/new-luxc/source/luxc/lang/host/r.lux b/new-luxc/source/luxc/lang/host/r.lux index 76e80d3d9..960063a11 100644 --- a/new-luxc/source/luxc/lang/host/r.lux +++ b/new-luxc/source/luxc/lang/host/r.lux @@ -8,8 +8,8 @@ (coll [list "list/" Functor<List> Fold<List>])) (type abstract))) -(abstract: #export Single {} Top) -(abstract: #export Poly {} Top) +(abstract: #export Single {} Any) +(abstract: #export Poly {} Any) (abstract: #export (Var kind) {} diff --git a/new-luxc/source/luxc/lang/host/scheme.lux b/new-luxc/source/luxc/lang/host/scheme.lux index 218903ca0..7c8c67ab0 100644 --- a/new-luxc/source/luxc/lang/host/scheme.lux +++ b/new-luxc/source/luxc/lang/host/scheme.lux @@ -8,8 +8,8 @@ (coll [list "list/" Functor<List> Fold<List>])) (type abstract))) -(abstract: #export Single {} Top) -(abstract: #export Poly {} Top) +(abstract: #export Single {} Any) +(abstract: #export Poly {} Any) (abstract: #export (Var kind) {} diff --git a/new-luxc/source/luxc/lang/init.lux b/new-luxc/source/luxc/lang/init.lux deleted file mode 100644 index da8fc9c07..000000000 --- a/new-luxc/source/luxc/lang/init.lux +++ /dev/null @@ -1,53 +0,0 @@ -(.module: - lux - [//] - (// [".L" extension] - (extension [".E" analysis] - [".E" synthesis] - [".E" translation] - [".E" statement]) - (translation (jvm [".T" common])))) - -(def: #export (cursor file) - (-> Text Cursor) - [file +1 +0]) - -(def: #export (source file code) - (-> Text Text Source) - [(cursor file) +0 code]) - -(def: dummy-source - Source - [.dummy-cursor +0 ""]) - -(def: #export type-context - Type-Context - {#.ex-counter +0 - #.var-counter +0 - #.var-bindings (list)}) - -(def: #export info - Info - {#.target (for {"JVM" "JVM" - "JS" "JS"}) - #.version //.version - #.mode #.Build}) - -(def: #export (compiler host) - (-> Top Lux) - {#.info ..info - #.source dummy-source - #.cursor .dummy-cursor - #.current-module #.None - #.modules (list) - #.scopes (list) - #.type-context ..type-context - #.expected #.None - #.seed +0 - #.scope-type-vars (list) - #.extensions (:! Bottom - {#extensionL.analysis analysisE.defaults - #extensionL.synthesis synthesisE.defaults - #extensionL.translation translationE.defaults - #extensionL.statement statementE.defaults}) - #.host (:! Bottom host)}) diff --git a/new-luxc/source/luxc/lang/translation.lux b/new-luxc/source/luxc/lang/translation.lux index 0899eccf2..0ed495c31 100644 --- a/new-luxc/source/luxc/lang/translation.lux +++ b/new-luxc/source/luxc/lang/translation.lux @@ -130,7 +130,7 @@ (&.throw Unrecognized-Statement (%code code)))) (def: (forgive-eof action) - (-> (Meta Top) (Meta Top)) + (-> (Meta Any) (Meta Any)) (function (_ compiler) (case (action compiler) (#e.Error error) @@ -172,7 +172,7 @@ e.assume)))}) ## (def: (write-module target-dir file-name module-name module artifacts) -## (-> File Text Text Module Artifacts (Process Top)) +## (-> File Text Text Module Artifacts (Process Any)) ## (do io.Monad<Process> ## [_ (monad.map @ (product.uncurry (&io.write target-dir)) ## (dict.entries artifacts))] @@ -269,7 +269,7 @@ (translate-module sources target prelude compiler))) (def: #export (translate-program sources target program) - (-> (List File) File Text (Process Top)) + (-> (List File) File Text (Process Any)) (do io.Monad<Process> [compiler (initialize sources target) _ (translate-module sources target program compiler) diff --git a/new-luxc/source/luxc/lang/translation/common-lisp.lux b/new-luxc/source/luxc/lang/translation/common-lisp.lux index 704dfe91e..1ae046d33 100644 --- a/new-luxc/source/luxc/lang/translation/common-lisp.lux +++ b/new-luxc/source/luxc/lang/translation/common-lisp.lux @@ -52,7 +52,7 @@ (type: #export Host {#context [Text Nat] #anchor (Maybe Anchor) - #loader (-> Expression (Error Top)) + #loader (-> Expression (Error Any)) #interpreter (-> Expression (Error LispObject)) #module-buffer (Maybe StringBuilder) #program-buffer StringBuilder}) @@ -80,12 +80,12 @@ (def: #export r-module-name Text (format "module" file-extension)) (def: #export init-module-buffer - (Meta Top) + (Meta Any) (function (_ compiler) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #module-buffer (#.Some (StringBuilder::new []))) - (:! Bottom)) + (:! Nothing)) compiler) []]))) @@ -96,13 +96,13 @@ [old-name old-sub] (get@ #context old) new-name (format old-name "f___" (%i (nat-to-int old-sub)))] (case (expr (set@ #.host - (:! Bottom (set@ #context [new-name +0] old)) + (:! Nothing (set@ #context [new-name +0] old)) compiler)) (#e.Success [compiler' output]) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #context [old-name (n/inc old-sub)]) - (:! Bottom)) + (:! Nothing)) compiler') [new-name output]]) @@ -124,13 +124,13 @@ (function (_ compiler) (let [old (:! Host (get@ #.host compiler))] (case (expr (set@ #.host - (:! Bottom (set@ #anchor (#.Some anchor) old)) + (:! Nothing (set@ #anchor (#.Some anchor) old)) compiler)) (#e.Success [compiler' output]) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #anchor (get@ #anchor old)) - (:! Bottom)) + (:! Nothing)) compiler') output]) @@ -174,7 +174,7 @@ (#e.Success output) (#e.Success [compiler output])))))] - [load! #loader Top] + [load! #loader Any] [interpret #interpreter LispObject] ) @@ -187,7 +187,7 @@ (lang.normalize-name (format module "$" name))) (def: #export (save code) - (-> Expression (Meta Top)) + (-> Expression (Meta Any)) (do macro.Monad<Meta> [module-buffer module-buffer #let [_ (Appendable::append [(:! CharSequence (_.expression code))] @@ -197,7 +197,7 @@ (def: #export run interpret) (def: #export (save-module! target) - (-> File (Meta (Process Top))) + (-> File (Meta (Process Any))) (do macro.Monad<Meta> [module macro.current-module-name module-buffer module-buffer diff --git a/new-luxc/source/luxc/lang/translation/common-lisp/eval.jvm.lux b/new-luxc/source/luxc/lang/translation/common-lisp/eval.jvm.lux index ee2aac932..eef9a985f 100644 --- a/new-luxc/source/luxc/lang/translation/common-lisp/eval.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/common-lisp/eval.jvm.lux @@ -24,7 +24,7 @@ (#static forName [String] #try (Class Object))) (def: _0 - Top + Any (case (Class::forName "org.armedbear.lisp.Symbol") (#e.Success _) (log! "LOADED") @@ -71,23 +71,23 @@ (elt [int] LispObject)) (def: (parse-tuple lux-object host-object) - (-> (-> Object (Error Top)) SimpleVector (Error Top)) + (-> (-> Object (Error Any)) SimpleVector (Error Any)) (let [size (:! Nat (SimpleVector::length [] host-object))] (loop [idx +0 - output (:! (Array Top) (array.new size))] + output (:! (Array Any) (array.new size))] (if (n/< size idx) (case (lux-object (SimpleVector::elt [(:! Int idx)] host-object)) (#e.Error error) (#e.Error error) (#e.Success lux-value) - (recur (n/inc idx) (array.write idx (:! Top lux-value) output))) + (recur (n/inc idx) (array.write idx (:! Any lux-value) output))) (#e.Success output))))) (def: (variant tag flag value) - (-> Nat Bool Top Top) + (-> Nat Bool Any Any) [(Long::intValue [] (:! Long tag)) - (: Top + (: Any (if flag //.unit (host.null))) @@ -98,7 +98,7 @@ (cdr LispObject)) (def: (parse-variant lux-object host-object) - (-> (-> Object (Error Top)) Cons (Error Top)) + (-> (-> Object (Error Any)) Cons (Error Any)) (let [variant-tag (Cons::car host-object)] (if (and (host.instance? org/armedbear/lisp/Symbol variant-tag) (text/= //.variant-tag (Symbol::getName [] (:! Symbol variant-tag)))) @@ -113,7 +113,7 @@ (ex.throw invalid-variant (:! Text (Object::toString [] (:! Object host-object))))))) (def: (lux-object host-object) - (-> Object (Error Top)) + (-> Object (Error Any)) (cond (host.instance? org/armedbear/lisp/Bignum host-object) (#e.Success (Bignum::longValue [] (:! Bignum host-object))) @@ -144,7 +144,7 @@ (ex.throw Unknown-Kind-Of-Host-Object (:! Object host-object)))) (def: #export (eval code) - (-> Expression (Meta Top)) + (-> Expression (Meta Any)) (function (_ compiler) (let [interpreter (|> compiler (get@ #.host) (:! //.Host) (get@ #//.interpreter))] (case (interpreter code) diff --git a/new-luxc/source/luxc/lang/translation/common-lisp/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/common-lisp/runtime.jvm.lux index 96393c970..1819a8601 100644 --- a/new-luxc/source/luxc/lang/translation/common-lisp/runtime.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/common-lisp/runtime.jvm.lux @@ -365,7 +365,7 @@ (def: #export artifact Text (format prefix //.file-extension)) (def: #export translate - (Meta (Process Top)) + (Meta (Process Any)) (do macro.Monad<Meta> [_ //.init-module-buffer _ (//.save runtime)] diff --git a/new-luxc/source/luxc/lang/translation/common-lisp/statement.jvm.lux b/new-luxc/source/luxc/lang/translation/common-lisp/statement.jvm.lux index e73d88c96..dab065e62 100644 --- a/new-luxc/source/luxc/lang/translation/common-lisp/statement.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/common-lisp/statement.jvm.lux @@ -11,7 +11,7 @@ [".T" eval])) (def: #export (translate-def name expressionT expressionO metaV) - (-> Text Type Expression Code (Meta Top)) + (-> Text Type Expression Code (Meta Any)) (do macro.Monad<Meta> [current-module macro.current-module-name #let [def-ident [current-module name]]] diff --git a/new-luxc/source/luxc/lang/translation/js.lux b/new-luxc/source/luxc/lang/translation/js.lux index 3e9b1b143..edca93d10 100644 --- a/new-luxc/source/luxc/lang/translation/js.lux +++ b/new-luxc/source/luxc/lang/translation/js.lux @@ -90,12 +90,12 @@ (def: #export module-js-name Text "module.js") (def: #export init-module-buffer - (Meta Top) + (Meta Any) (function (_ compiler) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #module-buffer (#.Some (StringBuilder::new []))) - (:! Bottom)) + (:! Nothing)) compiler) []]))) @@ -106,13 +106,13 @@ [old-name old-sub] (get@ #context old) new-name (format old-name "$" (%i (nat-to-int old-sub)))] (case (expr (set@ #.host - (:! Bottom (set@ #context [new-name +0] old)) + (:! Nothing (set@ #context [new-name +0] old)) compiler)) (#e.Success [compiler' output]) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #context [old-name (n/inc old-sub)]) - (:! Bottom)) + (:! Nothing)) compiler') [new-name output]]) @@ -134,13 +134,13 @@ (function (_ compiler) (let [old (:! Host (get@ #.host compiler))] (case (expr (set@ #.host - (:! Bottom (set@ #anchor (#.Some anchor) old)) + (:! Nothing (set@ #anchor (#.Some anchor) old)) compiler)) (#e.Success [compiler' output]) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #anchor (get@ #anchor old)) - (:! Bottom)) + (:! Nothing)) compiler') output]) @@ -173,7 +173,7 @@ (#e.Success [compiler (|> compiler (get@ #.host) (:! Host) (get@ #program-buffer))]))) (def: (execute code) - (-> Expression (Meta Top)) + (-> Expression (Meta Any)) (function (_ compiler) (case (|> compiler (get@ #.host) @@ -187,7 +187,7 @@ (#e.Success [compiler []])))) (def: (::toString js-object) - (-> Top JSObject) + (-> Any JSObject) (object [] AbstractJSObject [] [] (AbstractJSObject (isFunction) boolean @@ -317,7 +317,7 @@ (format (module-name module) "$" (lang.normalize-name name))) (def: #export (save-js code) - (-> JS (Meta Top)) + (-> JS (Meta Any)) (do macro.Monad<Meta> [module-buffer module-buffer #let [_ (Appendable::append [(:! CharSequence code)] @@ -325,11 +325,11 @@ (execute code))) (def: #export (save-definition name code) - (-> Ident Expression (Meta Top)) + (-> Ident Expression (Meta Any)) (save-js (format "var " (definition-name name) " = " code ";\n"))) (def: #export (save-module! target) - (-> File (Meta (Process Top))) + (-> File (Meta (Process Any))) (do macro.Monad<Meta> [module macro.current-module-name module-buffer module-buffer diff --git a/new-luxc/source/luxc/lang/translation/js/eval.jvm.lux b/new-luxc/source/luxc/lang/translation/js/eval.jvm.lux index 5b2499eb0..04121b944 100644 --- a/new-luxc/source/luxc/lang/translation/js/eval.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/js/eval.jvm.lux @@ -73,7 +73,7 @@ #.None)) (def: (variant lux-object js-object) - (-> (-> Object (Error Top)) ScriptObjectMirror (Maybe Top)) + (-> (-> Object (Error Any)) ScriptObjectMirror (Maybe Any)) (case [(JSObject::getMember [//.variant-tag-field] js-object) (JSObject::getMember [//.variant-flag-field] js-object) (JSObject::getMember [//.variant-value-field] js-object)] @@ -88,7 +88,7 @@ #.None)) (def: (array lux-object js-object) - (-> (-> Object (Error Top)) ScriptObjectMirror (Maybe (Array Object))) + (-> (-> Object (Error Any)) ScriptObjectMirror (Maybe (Array Object))) (if (JSObject::isArray [] js-object) (let [init-num-keys (int-to-nat (ScriptObjectMirror::size [] js-object))] (loop [num-keys init-num-keys @@ -112,7 +112,7 @@ #.None)) (def: (lux-object js-object) - (-> Object (Error Top)) + (-> Object (Error Any)) (`` (cond (host.null? js-object) (ex.throw Null-Has-No-Lux-Representation "") @@ -160,7 +160,7 @@ (ex.throw Unknown-Kind-Of-JS-Object (Object::toString [] (:! Object js-object)))))) (def: #export (eval code) - (-> Expression (Meta Top)) + (-> Expression (Meta Any)) (function (_ compiler) (case (|> compiler (get@ #.host) diff --git a/new-luxc/source/luxc/lang/translation/js/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/js/runtime.jvm.lux index 1839a1a5e..2c7303c31 100644 --- a/new-luxc/source/luxc/lang/translation/js/runtime.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/js/runtime.jvm.lux @@ -727,7 +727,7 @@ (def: #export artifact Text (format prefix ".js")) (def: #export translate - (Meta (Process Top)) + (Meta (Process Any)) (do macro.Monad<Meta> [_ //.init-module-buffer _ (//.save-js runtime)] diff --git a/new-luxc/source/luxc/lang/translation/js/statement.jvm.lux b/new-luxc/source/luxc/lang/translation/js/statement.jvm.lux index e15e4379a..849ae76c2 100644 --- a/new-luxc/source/luxc/lang/translation/js/statement.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/js/statement.jvm.lux @@ -11,7 +11,7 @@ [".T" eval])) (def: #export (translate-def name expressionT expressionJS metaV) - (-> Text Type Expression Code (Meta Top)) + (-> Text Type Expression Code (Meta Any)) (do macro.Monad<Meta> [current-module macro.current-module-name #let [def-ident [current-module name]]] diff --git a/new-luxc/source/luxc/lang/translation/jvm/common.jvm.lux b/new-luxc/source/luxc/lang/translation/jvm/common.jvm.lux index 29db94d07..1d8da2893 100644 --- a/new-luxc/source/luxc/lang/translation/jvm/common.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/jvm/common.jvm.lux @@ -66,13 +66,13 @@ (case (action (update@ #.host (|>> (:! Host) (set@ #artifacts (dict.new text.Hash<Text>)) - (:! Bottom)) + (:! Nothing)) compiler)) (#e.Success [compiler' output]) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #artifacts (|> (get@ #.host compiler) (:! Host) (get@ #artifacts))) - (:! Bottom)) + (:! Nothing)) compiler') [(|> compiler' (get@ #.host) (:! Host) (get@ #artifacts)) output]]) @@ -81,19 +81,19 @@ (#e.Error error)))) (def: #export (record-artifact name content) - (-> Text Blob (Meta Top)) + (-> Text Blob (Meta Any)) (function (_ compiler) (if (|> compiler (get@ #.host) (:! Host) (get@ #artifacts) (dict.contains? name)) (ex.throw Cannot-Overwrite-Artifact name) (#e.Success [(update@ #.host (|>> (:! Host) (update@ #artifacts (dict.put name content)) - (:! Bottom)) + (:! Nothing)) compiler) []])))) (def: #export (store-class name byte-code) - (-> Text Bytecode (Meta Top)) + (-> Text Bytecode (Meta Any)) (function (_ compiler) (let [store (|> (get@ #.host compiler) (:! Host) @@ -116,7 +116,7 @@ (def: #export $Object $.Type ($t.class "java.lang.Object" (list))) (def: #export (load-definition compiler) - (-> Lux (-> Ident Blob (Error Top))) + (-> Lux (-> Ident Blob (Error Any))) (function (_ (^@ def-ident [def-module def-name]) def-bytecode) (let [normal-name (format (lang.normalize-name def-name) (%n (text/hash def-name))) class-name (format (text.replace-all "/" "." def-module) "." normal-name)] diff --git a/new-luxc/source/luxc/lang/translation/jvm/eval.jvm.lux b/new-luxc/source/luxc/lang/translation/jvm/eval.jvm.lux index c326895a2..d8e8ffd5e 100644 --- a/new-luxc/source/luxc/lang/translation/jvm/eval.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/jvm/eval.jvm.lux @@ -21,7 +21,7 @@ (getField [String] Field)) (def: #export (eval valueI) - (-> $.Inst (Meta Top)) + (-> $.Inst (Meta Any)) (do macro.Monad<Meta> [current-module macro.current-module-name class-name (:: @ map %code (macro.gensym (format current-module "/eval"))) diff --git a/new-luxc/source/luxc/lang/translation/jvm/statement.jvm.lux b/new-luxc/source/luxc/lang/translation/jvm/statement.jvm.lux index 4400c1e90..4c52231f3 100644 --- a/new-luxc/source/luxc/lang/translation/jvm/statement.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/jvm/statement.jvm.lux @@ -37,7 +37,7 @@ (getField [String] #try Field)) (def: #export (translate-def def-name valueT valueI metaV) - (-> Text Type $.Inst Code (Meta Top)) + (-> Text Type $.Inst Code (Meta Any)) (do macro.Monad<Meta> [current-module macro.current-module-name #let [def-ident [current-module def-name]]] @@ -65,7 +65,7 @@ $i.RETURN))))] _ (commonT.store-class class-name bytecode) class (commonT.load-class class-name) - valueV (: (Meta Top) + valueV (: (Meta Any) (case (do e.Monad<Error> [field (Class::getField [commonT.value-field] class)] (Field::get [#.None] field)) @@ -93,7 +93,7 @@ (commonT.record-artifact (format bytecode-name ".class") bytecode))))) (def: #export (translate-program programI) - (-> $.Inst (Meta Top)) + (-> $.Inst (Meta Any)) (let [nilI runtimeT.noneI num-inputsI (|>> ($i.ALOAD +0) $i.ARRAYLENGTH) decI (|>> ($i.int 1) $i.ISUB) diff --git a/new-luxc/source/luxc/lang/translation/lua.lux b/new-luxc/source/luxc/lang/translation/lua.lux index 5d25fb864..94a703300 100644 --- a/new-luxc/source/luxc/lang/translation/lua.lux +++ b/new-luxc/source/luxc/lang/translation/lua.lux @@ -78,7 +78,7 @@ (type: #export Host {#context [Text Nat] #anchor (Maybe Anchor) - #interpreter (-> Text (Error Top)) + #interpreter (-> Text (Error Any)) #module-buffer (Maybe StringBuilder) #program-buffer StringBuilder}) @@ -104,12 +104,12 @@ (def: #export lua-module-name Text "module.lua") (def: #export init-module-buffer - (Meta Top) + (Meta Any) (function (_ compiler) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #module-buffer (#.Some (StringBuilder::new []))) - (:! Bottom)) + (:! Nothing)) compiler) []]))) @@ -120,13 +120,13 @@ [old-name old-sub] (get@ #context old) new-name (format old-name "___" (%i (nat-to-int old-sub)))] (case (expr (set@ #.host - (:! Bottom (set@ #context [new-name +0] old)) + (:! Nothing (set@ #context [new-name +0] old)) compiler)) (#e.Success [compiler' output]) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #context [old-name (n/inc old-sub)]) - (:! Bottom)) + (:! Nothing)) compiler') [new-name output]]) @@ -148,13 +148,13 @@ (function (_ compiler) (let [old (:! Host (get@ #.host compiler))] (case (expr (set@ #.host - (:! Bottom (set@ #anchor (#.Some anchor) old)) + (:! Nothing (set@ #anchor (#.Some anchor) old)) compiler)) (#e.Success [compiler' output]) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #anchor (get@ #anchor old)) - (:! Bottom)) + (:! Nothing)) compiler') output]) @@ -187,7 +187,7 @@ (#e.Success [compiler (|> compiler (get@ #.host) (:! Host) (get@ #program-buffer))]))) (def: (execute code) - (-> Expression (Meta Top)) + (-> Expression (Meta Any)) (function (_ compiler) (let [interpreter (|> compiler (get@ #.host) (:! Host) (get@ #interpreter))] (case (interpreter code) @@ -208,7 +208,7 @@ (lang.normalize-name (format module "$" name))) (def: #export (save code) - (-> Lua (Meta Top)) + (-> Lua (Meta Any)) (do macro.Monad<Meta> [module-buffer module-buffer #let [_ (Appendable::append [(:! CharSequence code)] @@ -216,7 +216,7 @@ (execute code))) (def: #export (save-module! target) - (-> File (Meta (Process Top))) + (-> File (Meta (Process Any))) (do macro.Monad<Meta> [module macro.current-module-name module-buffer module-buffer diff --git a/new-luxc/source/luxc/lang/translation/lua/eval.jvm.lux b/new-luxc/source/luxc/lang/translation/lua/eval.jvm.lux index cc267e7d5..68b41e6d7 100644 --- a/new-luxc/source/luxc/lang/translation/lua/eval.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/lua/eval.jvm.lux @@ -38,7 +38,7 @@ (host.import net/sandius/rembulan/impl/DefaultTable) (def: (variant lux-object host-object) - (-> (-> Object (Error Top)) DefaultTable (Maybe Top)) + (-> (-> Object (Error Any)) DefaultTable (Maybe Any)) (case [(Table::get-key [//.variant-tag-field] host-object) (Table::get-key [//.variant-flag-field] host-object) (Table::get-key [//.variant-value-field] host-object)] @@ -46,14 +46,14 @@ [(lux-object value) (#.Some value)]) (#.Some [(Long::intValue [] (:! Long tag)) - (: Top (case ?flag (#.Some _) "" #.None (host.null))) + (: Any (case ?flag (#.Some _) "" #.None (host.null))) value]) _ #.None)) (def: (array lux-object host-object) - (-> (-> Object (Error Top)) DefaultTable (Maybe (Array Object))) + (-> (-> Object (Error Any)) DefaultTable (Maybe (Array Object))) (let [init-num-keys (:! Nat (Table::rawlen [] host-object))] (loop [num-keys init-num-keys idx +0 @@ -74,7 +74,7 @@ (#.Some output))))) (def: (lux-object host-object) - (-> Object (Error Top)) + (-> Object (Error Any)) (cond (host.null? host-object) (ex.throw Null-Has-No-Lux-Representation "") @@ -106,7 +106,7 @@ )) (def: #export (eval code) - (-> Expression (Meta Top)) + (-> Expression (Meta Any)) (function (_ compiler) (let [interpreter (|> compiler (get@ #.host) (:! //.Host) (get@ #//.interpreter))] (case (interpreter (format "return " code ";")) diff --git a/new-luxc/source/luxc/lang/translation/lua/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/lua/runtime.jvm.lux index 70b498dfa..ace528429 100644 --- a/new-luxc/source/luxc/lang/translation/lua/runtime.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/lua/runtime.jvm.lux @@ -386,7 +386,7 @@ (def: #export artifact Text (format prefix ".lua")) (def: #export translate - (Meta (Process Top)) + (Meta (Process Any)) (do macro.Monad<Meta> [_ //.init-module-buffer _ (//.save runtime)] diff --git a/new-luxc/source/luxc/lang/translation/lua/statement.jvm.lux b/new-luxc/source/luxc/lang/translation/lua/statement.jvm.lux index ee0725014..3a438ae65 100644 --- a/new-luxc/source/luxc/lang/translation/lua/statement.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/lua/statement.jvm.lux @@ -11,7 +11,7 @@ [".T" eval])) (def: #export (translate-def name expressionT expressionO metaV) - (-> Text Type Expression Code (Meta Top)) + (-> Text Type Expression Code (Meta Any)) (do macro.Monad<Meta> [current-module macro.current-module-name #let [def-ident [current-module name]]] diff --git a/new-luxc/source/luxc/lang/translation/php.lux b/new-luxc/source/luxc/lang/translation/php.lux index 8cbcaad3a..50bfd5289 100644 --- a/new-luxc/source/luxc/lang/translation/php.lux +++ b/new-luxc/source/luxc/lang/translation/php.lux @@ -54,7 +54,7 @@ (type: #export Host {#context [Text Nat] #anchor (Maybe Anchor) - #loader (-> Statement (Error Top)) + #loader (-> Statement (Error Any)) #interpreter (-> Expression (Error Object)) #module-buffer (Maybe StringBuilder) #program-buffer StringBuilder}) @@ -77,12 +77,12 @@ (def: #export module-name Text (format "module" extension)) (def: #export init-module-buffer - (Meta Top) + (Meta Any) (function (_ compiler) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #module-buffer (#.Some (StringBuilder::new []))) - (:! Bottom)) + (:! Nothing)) compiler) []]))) @@ -93,13 +93,13 @@ [old-name old-sub] (get@ #context old) new-name (format old-name "___" (%i (nat-to-int old-sub)))] (case (expr (set@ #.host - (:! Bottom (set@ #context [new-name +0] old)) + (:! Nothing (set@ #context [new-name +0] old)) compiler)) (#e.Success [compiler' output]) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #context [old-name (n/inc old-sub)]) - (:! Bottom)) + (:! Nothing)) compiler') [new-name output]]) @@ -121,13 +121,13 @@ (function (_ compiler) (let [old (:! Host (get@ #.host compiler))] (case (expr (set@ #.host - (:! Bottom (set@ #anchor (#.Some anchor) old)) + (:! Nothing (set@ #anchor (#.Some anchor) old)) compiler)) (#e.Success [compiler' output]) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #anchor (get@ #anchor old)) - (:! Bottom)) + (:! Nothing)) compiler') output]) @@ -171,7 +171,7 @@ (#e.Success output) (#e.Success [compiler output])))))] - [load! #loader Statement Top] + [load! #loader Statement Any] [interpret #interpreter Expression Object] ) @@ -186,7 +186,7 @@ (lang.normalize-name (format module "$" name))) (def: #export (save code) - (-> Statement (Meta Top)) + (-> Statement (Meta Any)) (do macro.Monad<Meta> [module-buffer module-buffer #let [_ (Appendable::append [(:! CharSequence (_.code code))] @@ -194,7 +194,7 @@ (load! code))) (def: #export (save-module! target) - (-> File (Meta (Process Top))) + (-> File (Meta (Process Any))) (do macro.Monad<Meta> [module macro.current-module-name module-buffer module-buffer diff --git a/new-luxc/source/luxc/lang/translation/php/eval.jvm.lux b/new-luxc/source/luxc/lang/translation/php/eval.jvm.lux index c6ff1a880..48c09c6c0 100644 --- a/new-luxc/source/luxc/lang/translation/php/eval.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/php/eval.jvm.lux @@ -60,10 +60,10 @@ (get [Memory] Memory)) (def: (tuple lux-object host-object) - (-> (-> Object (Error Top)) ArrayMemory (Error Top)) + (-> (-> Object (Error Any)) ArrayMemory (Error Any)) (let [size (ArrayMemory::size [] host-object)] (loop [idx 0 - output (: (Array Top) (array.new (:! Nat size)))] + output (: (Array Any) (array.new (:! Nat size)))] (if (i/< size idx) (let [value (|> host-object (ArrayMemory::get [(LongMemory::new [idx])]) @@ -78,13 +78,13 @@ (ex.return output))))) (def: (variant lux-object host-object) - (-> (-> Object (Error Top)) ArrayMemory (Error Top)) + (-> (-> Object (Error Any)) ArrayMemory (Error Any)) (do e.Monad<Error> [variant-tag (lux-object (ArrayMemory::get [(StringMemory::new [//.variant-tag-field])] host-object)) variant-value (lux-object (ArrayMemory::get [(StringMemory::new [//.variant-value-field])] host-object))] - (wrap (: Top + (wrap (: Any [(Long::intValue [] (:! Long variant-tag)) - (: Top + (: Any (if (|> host-object (ArrayMemory::get [(StringMemory::new [//.variant-flag-field])]) (:! ReferenceMemory) @@ -95,7 +95,7 @@ variant-value])))) (def: (lux-object host-object) - (-> Object (Error Top)) + (-> Object (Error Any)) (cond (host.instance? php/runtime/memory/FalseMemory host-object) (ex.return false) @@ -123,7 +123,7 @@ (ex.throw Unknown-Kind-Of-Host-Object host-object))) (def: #export (eval code) - (-> Expression (Meta Top)) + (-> Expression (Meta Any)) (function (_ compiler) (let [interpreter (|> compiler (get@ #.host) (:! //.Host) (get@ #//.interpreter))] (case (interpreter code) diff --git a/new-luxc/source/luxc/lang/translation/php/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/php/runtime.jvm.lux index c7262a291..5f9745845 100644 --- a/new-luxc/source/luxc/lang/translation/php/runtime.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/php/runtime.jvm.lux @@ -397,7 +397,7 @@ (def: #export artifact Text (format prefix //.extension)) (def: #export translate - (Meta (Process Top)) + (Meta (Process Any)) (do macro.Monad<Meta> [_ //.init-module-buffer _ (//.save runtime)] diff --git a/new-luxc/source/luxc/lang/translation/php/statement.jvm.lux b/new-luxc/source/luxc/lang/translation/php/statement.jvm.lux index afbf7e476..a20e164ca 100644 --- a/new-luxc/source/luxc/lang/translation/php/statement.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/php/statement.jvm.lux @@ -11,7 +11,7 @@ [".T" eval])) (def: #export (translate-def name expressionT expressionO metaV) - (-> Text Type Expression Code (Meta Top)) + (-> Text Type Expression Code (Meta Any)) (do macro.Monad<Meta> [current-module macro.current-module-name #let [def-ident [current-module name]]] diff --git a/new-luxc/source/luxc/lang/translation/python.lux b/new-luxc/source/luxc/lang/translation/python.lux index 8739c278d..604f06019 100644 --- a/new-luxc/source/luxc/lang/translation/python.lux +++ b/new-luxc/source/luxc/lang/translation/python.lux @@ -54,7 +54,7 @@ (type: #export Host {#context [Text Nat] #anchor (Maybe Anchor) - #loader (-> Statement (Error Top)) + #loader (-> Statement (Error Any)) #interpreter (-> Expression (Error PyObject)) #module-buffer (Maybe StringBuilder) #program-buffer StringBuilder}) @@ -74,12 +74,12 @@ (def: #export python-module-name Text "module.py") (def: #export init-module-buffer - (Meta Top) + (Meta Any) (function (_ compiler) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #module-buffer (#.Some (StringBuilder::new []))) - (:! Bottom)) + (:! Nothing)) compiler) []]))) @@ -90,13 +90,13 @@ [old-name old-sub] (get@ #context old) new-name (format old-name "___" (%i (nat-to-int old-sub)))] (case (expr (set@ #.host - (:! Bottom (set@ #context [new-name +0] old)) + (:! Nothing (set@ #context [new-name +0] old)) compiler)) (#e.Success [compiler' output]) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #context [old-name (n/inc old-sub)]) - (:! Bottom)) + (:! Nothing)) compiler') [new-name output]]) @@ -118,13 +118,13 @@ (function (_ compiler) (let [old (:! Host (get@ #.host compiler))] (case (expr (set@ #.host - (:! Bottom (set@ #anchor (#.Some anchor) old)) + (:! Nothing (set@ #anchor (#.Some anchor) old)) compiler)) (#e.Success [compiler' output]) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #anchor (get@ #anchor old)) - (:! Bottom)) + (:! Nothing)) compiler') output]) @@ -168,7 +168,7 @@ (#e.Success output) (#e.Success [compiler output])))))] - [load! #loader Statement Top] + [load! #loader Statement Any] [interpret #interpreter Expression PyObject] ) @@ -191,12 +191,12 @@ module-buffer)]] (<eval> code)))] - [save load! python.statement Statement Top] + [save load! python.statement Statement Any] [run interpret python.expression Expression PyObject] ) (def: #export (save-module! target) - (-> File (Meta (Process Top))) + (-> File (Meta (Process Any))) (do macro.Monad<Meta> [module macro.current-module-name module-buffer module-buffer diff --git a/new-luxc/source/luxc/lang/translation/python/eval.jvm.lux b/new-luxc/source/luxc/lang/translation/python/eval.jvm.lux index 164d088df..6f4e43f9d 100644 --- a/new-luxc/source/luxc/lang/translation/python/eval.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/python/eval.jvm.lux @@ -45,10 +45,10 @@ (getType [] PyType)) (def: (tuple lux-object host-object) - (-> (-> PyObject (Error Top)) PyObject (Error Top)) + (-> (-> PyObject (Error Any)) PyObject (Error Any)) (let [size (:! Nat (PyObject::__len__ [] host-object))] (loop [idx +0 - output (:! (Array Top) (array.new size))] + output (:! (Array Any) (array.new size))] (if (n/< size idx) (case (PyObject::__getitem__ [(:! Int idx)] host-object) (#e.Error error) @@ -72,7 +72,7 @@ (def: value-field (PyString::new [//.variant-value-field])) (def: (variant lux-object host-object) - (-> (-> PyObject (Error Top)) PyObject (Error Top)) + (-> (-> PyObject (Error Any)) PyObject (Error Any)) (case [(PyObject::__getitem__dict [tag-field] host-object) (PyObject::__getitem__dict [flag-field] host-object) (PyObject::__getitem__dict [value-field] host-object)] @@ -85,7 +85,7 @@ [(lux-object value) (#e.Success value)]) (#e.Success [(Long::intValue [] (:! Long tag)) - (: Top + (: Any (case (python-type (:! PyObject flag)) "NoneType" (host.null) @@ -98,7 +98,7 @@ (ex.throw Not-A-Variant (Object::toString [] host-object)))) (def: (lux-object host-object) - (-> PyObject (Error Top)) + (-> PyObject (Error Any)) (case (python-type host-object) "str" (#e.Success (PyObject::asString [] host-object)) @@ -125,7 +125,7 @@ (ex.throw Unknown-Kind-Of-Host-Object (format type " " (Object::toString [] host-object))))) (def: #export (eval code) - (-> Expression (Meta Top)) + (-> Expression (Meta Any)) (function (_ compiler) (let [interpreter (|> compiler (get@ #.host) (:! //.Host) (get@ #//.interpreter))] (case (interpreter code) diff --git a/new-luxc/source/luxc/lang/translation/python/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/python/runtime.jvm.lux index 8167537f5..282d7536e 100644 --- a/new-luxc/source/luxc/lang/translation/python/runtime.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/python/runtime.jvm.lux @@ -426,7 +426,7 @@ (def: #export artifact Text (format prefix ".py")) (def: #export translate - (Meta (Process Top)) + (Meta (Process Any)) (do macro.Monad<Meta> [_ //.init-module-buffer _ (//.save runtime)] diff --git a/new-luxc/source/luxc/lang/translation/python/statement.jvm.lux b/new-luxc/source/luxc/lang/translation/python/statement.jvm.lux index b267f5a64..23b51371c 100644 --- a/new-luxc/source/luxc/lang/translation/python/statement.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/python/statement.jvm.lux @@ -11,7 +11,7 @@ [".T" eval])) (def: #export (translate-def name expressionT expressionO metaV) - (-> Text Type Expression Code (Meta Top)) + (-> Text Type Expression Code (Meta Any)) (do macro.Monad<Meta> [current-module macro.current-module-name #let [def-ident [current-module name]]] diff --git a/new-luxc/source/luxc/lang/translation/r.lux b/new-luxc/source/luxc/lang/translation/r.lux index 410e167bc..0eba35760 100644 --- a/new-luxc/source/luxc/lang/translation/r.lux +++ b/new-luxc/source/luxc/lang/translation/r.lux @@ -56,7 +56,7 @@ (type: #export Host {#context [Text Nat] #anchor (Maybe Anchor) - #loader (-> Expression (Error Top)) + #loader (-> Expression (Error Any)) #interpreter (-> Expression (Error Object)) #module-buffer (Maybe StringBuilder) #program-buffer StringBuilder}) @@ -82,12 +82,12 @@ (def: #export r-module-name Text "module.r") (def: #export init-module-buffer - (Meta Top) + (Meta Any) (function (_ compiler) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #module-buffer (#.Some (StringBuilder::new []))) - (:! Bottom)) + (:! Nothing)) compiler) []]))) @@ -98,13 +98,13 @@ [old-name old-sub] (get@ #context old) new-name (format old-name "f___" (%i (nat-to-int old-sub)))] (case (expr (set@ #.host - (:! Bottom (set@ #context [new-name +0] old)) + (:! Nothing (set@ #context [new-name +0] old)) compiler)) (#e.Success [compiler' output]) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #context [old-name (n/inc old-sub)]) - (:! Bottom)) + (:! Nothing)) compiler') [new-name output]]) @@ -126,13 +126,13 @@ (function (_ compiler) (let [old (:! Host (get@ #.host compiler))] (case (expr (set@ #.host - (:! Bottom (set@ #anchor (#.Some anchor) old)) + (:! Nothing (set@ #anchor (#.Some anchor) old)) compiler)) (#e.Success [compiler' output]) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #anchor (get@ #anchor old)) - (:! Bottom)) + (:! Nothing)) compiler') output]) @@ -176,7 +176,7 @@ (#e.Success output) (#e.Success [compiler output])))))] - [load! #loader Top] + [load! #loader Any] [interpret #interpreter Object] ) @@ -194,7 +194,7 @@ (lang.normalize-name (format module "$" name))) (def: #export (save code) - (-> Expression (Meta Top)) + (-> Expression (Meta Any)) (do macro.Monad<Meta> [module-buffer module-buffer #let [_ (Appendable::append [(:! CharSequence (r.expression code))] @@ -204,7 +204,7 @@ (def: #export run interpret) (def: #export (save-module! target) - (-> File (Meta (Process Top))) + (-> File (Meta (Process Any))) (do macro.Monad<Meta> [module macro.current-module-name module-buffer module-buffer diff --git a/new-luxc/source/luxc/lang/translation/r/eval.jvm.lux b/new-luxc/source/luxc/lang/translation/r/eval.jvm.lux index 05d16f871..66e157e40 100644 --- a/new-luxc/source/luxc/lang/translation/r/eval.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/r/eval.jvm.lux @@ -50,10 +50,10 @@ (host.import org/renjin/sexp/Null) (def: (parse-tuple lux-object host-object) - (-> (-> Object (Error Top)) ListVector (Error Top)) + (-> (-> Object (Error Any)) ListVector (Error Any)) (let [size (:! Nat (ListVector::length [] host-object))] (loop [idx +0 - output (:! (Array Top) (array.new size))] + output (:! (Array Any) (array.new size))] (if (n/< size idx) (case (ListVector::getElementAsSEXP [(:! Int idx)] host-object) (#e.Error error) @@ -65,11 +65,11 @@ (#e.Error error) (#e.Success lux-value) - (recur (n/inc idx) (array.write idx (:! Top lux-value) output)))) + (recur (n/inc idx) (array.write idx (:! Any lux-value) output)))) (#e.Success output))))) (def: (parse-variant lux-object host-object) - (-> (-> Object (Error Top)) ListVector (Error Top)) + (-> (-> Object (Error Any)) ListVector (Error Any)) (do e.Monad<Error> [tag (ListVector::get-field-sexp [//.variant-tag-field] host-object) flag (ListVector::get-field-sexp [//.variant-flag-field] host-object) @@ -79,7 +79,7 @@ (:! IntArrayVector) (IntArrayVector::getElementAsInt [0]) (Long::intValue [])) - (: Top + (: Any (if (host.instance? Null flag) (host.null) //.unit)) @@ -100,7 +100,7 @@ low)))))) (def: (lux-object host-object) - (-> Object (Error Top)) + (-> Object (Error Any)) (cond (host.instance? StringArrayVector host-object) (#e.Success (StringArrayVector::getElementAsString [0] (:! StringArrayVector host-object))) @@ -132,7 +132,7 @@ (ex.throw Unknown-Kind-Of-Host-Object (format object-class " --- " text-representation))))) (def: #export (eval code) - (-> Expression (Meta Top)) + (-> Expression (Meta Any)) (function (_ compiler) (let [interpreter (|> compiler (get@ #.host) (:! //.Host) (get@ #//.interpreter))] (case (interpreter code) diff --git a/new-luxc/source/luxc/lang/translation/r/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/r/runtime.jvm.lux index f13329e26..7cdc82064 100644 --- a/new-luxc/source/luxc/lang/translation/r/runtime.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/r/runtime.jvm.lux @@ -882,7 +882,7 @@ (def: #export artifact Text (format prefix ".r")) (def: #export translate - (Meta (Process Top)) + (Meta (Process Any)) (do macro.Monad<Meta> [_ //.init-module-buffer _ (//.save runtime)] diff --git a/new-luxc/source/luxc/lang/translation/r/statement.jvm.lux b/new-luxc/source/luxc/lang/translation/r/statement.jvm.lux index 7ff6a23e8..62349abcf 100644 --- a/new-luxc/source/luxc/lang/translation/r/statement.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/r/statement.jvm.lux @@ -11,7 +11,7 @@ [".T" eval])) (def: #export (translate-def name expressionT expressionO metaV) - (-> Text Type Expression Code (Meta Top)) + (-> Text Type Expression Code (Meta Any)) (do macro.Monad<Meta> [current-module macro.current-module-name #let [def-ident [current-module name]]] diff --git a/new-luxc/source/luxc/lang/translation/ruby.lux b/new-luxc/source/luxc/lang/translation/ruby.lux index 16b0813d5..c8cce4caf 100644 --- a/new-luxc/source/luxc/lang/translation/ruby.lux +++ b/new-luxc/source/luxc/lang/translation/ruby.lux @@ -51,7 +51,7 @@ (type: #export Host {#context [Text Nat] #anchor (Maybe Anchor) - #interpreter (-> Text (Error Top)) + #interpreter (-> Text (Error Any)) #module-buffer (Maybe StringBuilder) #program-buffer StringBuilder}) @@ -61,19 +61,19 @@ #anchor #.None #interpreter (let [interpreter (ScriptingContainer::new [])] (function (_ code) - ("lux try" (io (: Top (maybe.default [] (ScriptingContainer::runScriptlet [code] interpreter))))))) + ("lux try" (io (: Any (maybe.default [] (ScriptingContainer::runScriptlet [code] interpreter))))))) #module-buffer #.None #program-buffer (StringBuilder::new [])})) (def: #export ruby-module-name Text "module.rb") (def: #export init-module-buffer - (Meta Top) + (Meta Any) (function (_ compiler) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #module-buffer (#.Some (StringBuilder::new []))) - (:! Bottom)) + (:! Nothing)) compiler) []]))) @@ -84,13 +84,13 @@ [old-name old-sub] (get@ #context old) new-name (format old-name "___" (%i (nat-to-int old-sub)))] (case (expr (set@ #.host - (:! Bottom (set@ #context [new-name +0] old)) + (:! Nothing (set@ #context [new-name +0] old)) compiler)) (#e.Success [compiler' output]) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #context [old-name (n/inc old-sub)]) - (:! Bottom)) + (:! Nothing)) compiler') [new-name output]]) @@ -112,13 +112,13 @@ (function (_ compiler) (let [old (:! Host (get@ #.host compiler))] (case (expr (set@ #.host - (:! Bottom (set@ #anchor (#.Some anchor) old)) + (:! Nothing (set@ #anchor (#.Some anchor) old)) compiler)) (#e.Success [compiler' output]) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #anchor (get@ #anchor old)) - (:! Bottom)) + (:! Nothing)) compiler') output]) @@ -151,7 +151,7 @@ (#e.Success [compiler (|> compiler (get@ #.host) (:! Host) (get@ #program-buffer))]))) (def: (execute code) - (-> Expression (Meta Top)) + (-> Expression (Meta Any)) (function (_ compiler) (let [interpreter (|> compiler (get@ #.host) (:! Host) (get@ #interpreter))] (case (interpreter code) @@ -172,7 +172,7 @@ (lang.normalize-name (format module "$" name))) (def: #export (save code) - (-> Ruby (Meta Top)) + (-> Ruby (Meta Any)) (do macro.Monad<Meta> [module-buffer module-buffer #let [_ (Appendable::append [(:! CharSequence code)] @@ -180,7 +180,7 @@ (execute code))) (def: #export (save-module! target) - (-> File (Meta (Process Top))) + (-> File (Meta (Process Any))) (do macro.Monad<Meta> [module macro.current-module-name module-buffer module-buffer diff --git a/new-luxc/source/luxc/lang/translation/ruby/eval.jvm.lux b/new-luxc/source/luxc/lang/translation/ruby/eval.jvm.lux index 348e5bcf9..49bf7f1da 100644 --- a/new-luxc/source/luxc/lang/translation/ruby/eval.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/ruby/eval.jvm.lux @@ -36,10 +36,10 @@ (get [Object] #? Object)) (def: (tuple lux-object host-object) - (-> (-> Object (Error Top)) RubyArray (Error Top)) + (-> (-> Object (Error Any)) RubyArray (Error Any)) (let [size (:! Nat (RubyArray::getLength [] host-object))] (loop [idx +0 - output (:! (Array Top) (array.new size))] + output (:! (Array Any) (array.new size))] (if (n/< size idx) (case (RubyArray::get [(:! Int idx)] host-object) #.None @@ -55,7 +55,7 @@ (#e.Success output))))) (def: (variant lux-object host-object) - (-> (-> Object (Error Top)) RubyHash (Error Top)) + (-> (-> Object (Error Any)) RubyHash (Error Any)) (case [(RubyHash::get [(:! Object //.variant-tag-field)] host-object) (RubyHash::get [(:! Object //.variant-flag-field)] host-object) (RubyHash::get [(:! Object //.variant-value-field)] host-object)] @@ -63,14 +63,14 @@ [(lux-object value) (#.Some value)]) (#e.Success [(Long::intValue [] (:! Long tag)) - (: Top (case ?flag (#.Some _) "" #.None (host.null))) + (: Any (case ?flag (#.Some _) "" #.None (host.null))) value]) _ (ex.throw Not-A-Variant ""))) (def: (lux-object host-object) - (-> Object (Error Top)) + (-> Object (Error Any)) (`` (cond (host.null? host-object) (ex.throw Null-Has-No-Lux-Representation "") @@ -100,7 +100,7 @@ ))) (def: #export (eval code) - (-> Expression (Meta Top)) + (-> Expression (Meta Any)) (function (_ compiler) (let [interpreter (|> compiler (get@ #.host) (:! //.Host) (get@ #//.interpreter))] (case (interpreter code) diff --git a/new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux index e2bf83dfa..bb0549259 100644 --- a/new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux @@ -271,7 +271,7 @@ (def: #export artifact Text (format prefix ".rb")) (def: #export translate - (Meta (Process Top)) + (Meta (Process Any)) (do macro.Monad<Meta> [_ //.init-module-buffer _ (//.save runtime)] diff --git a/new-luxc/source/luxc/lang/translation/ruby/statement.jvm.lux b/new-luxc/source/luxc/lang/translation/ruby/statement.jvm.lux index 972a6428e..135a09039 100644 --- a/new-luxc/source/luxc/lang/translation/ruby/statement.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/ruby/statement.jvm.lux @@ -11,7 +11,7 @@ [".T" eval])) (def: #export (translate-def name expressionT expressionO metaV) - (-> Text Type Expression Code (Meta Top)) + (-> Text Type Expression Code (Meta Any)) (do macro.Monad<Meta> [current-module macro.current-module-name #let [def-ident [current-module name]]] diff --git a/new-luxc/source/luxc/lang/translation/scheme.lux b/new-luxc/source/luxc/lang/translation/scheme.lux index 451d5f8e2..22cd7151e 100644 --- a/new-luxc/source/luxc/lang/translation/scheme.lux +++ b/new-luxc/source/luxc/lang/translation/scheme.lux @@ -55,7 +55,7 @@ (type: #export Host {#context [Text Nat] #anchor (Maybe Anchor) - #loader (-> Expression (Error Top)) + #loader (-> Expression (Error Any)) #interpreter (-> Expression (Error Object)) #module-buffer (Maybe StringBuilder) #program-buffer StringBuilder}) @@ -82,12 +82,12 @@ (def: #export r-module-name Text (format "module" file-extension)) (def: #export init-module-buffer - (Meta Top) + (Meta Any) (function (_ compiler) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #module-buffer (#.Some (StringBuilder::new []))) - (:! Bottom)) + (:! Nothing)) compiler) []]))) @@ -98,13 +98,13 @@ [old-name old-sub] (get@ #context old) new-name (format old-name "f___" (%i (nat-to-int old-sub)))] (case (expr (set@ #.host - (:! Bottom (set@ #context [new-name +0] old)) + (:! Nothing (set@ #context [new-name +0] old)) compiler)) (#e.Success [compiler' output]) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #context [old-name (n/inc old-sub)]) - (:! Bottom)) + (:! Nothing)) compiler') [new-name output]]) @@ -126,13 +126,13 @@ (function (_ compiler) (let [old (:! Host (get@ #.host compiler))] (case (expr (set@ #.host - (:! Bottom (set@ #anchor (#.Some anchor) old)) + (:! Nothing (set@ #anchor (#.Some anchor) old)) compiler)) (#e.Success [compiler' output]) (#e.Success [(update@ #.host (|>> (:! Host) (set@ #anchor (get@ #anchor old)) - (:! Bottom)) + (:! Nothing)) compiler') output]) @@ -176,7 +176,7 @@ (#e.Success output) (#e.Success [compiler output])))))] - [load! #loader Top] + [load! #loader Any] [interpret #interpreter Object] ) @@ -189,7 +189,7 @@ (lang.normalize-name (format module "$" name))) (def: #export (save code) - (-> Expression (Meta Top)) + (-> Expression (Meta Any)) (do macro.Monad<Meta> [module-buffer module-buffer #let [_ (Appendable::append [(:! CharSequence (scheme.expression code))] @@ -199,7 +199,7 @@ (def: #export run interpret) (def: #export (save-module! target) - (-> File (Meta (Process Top))) + (-> File (Meta (Process Any))) (do macro.Monad<Meta> [module macro.current-module-name module-buffer module-buffer diff --git a/new-luxc/source/luxc/lang/translation/scheme/eval.jvm.lux b/new-luxc/source/luxc/lang/translation/scheme/eval.jvm.lux index a45af1f00..056bf7599 100644 --- a/new-luxc/source/luxc/lang/translation/scheme/eval.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/scheme/eval.jvm.lux @@ -59,36 +59,36 @@ (host.import gnu/mapping/SimpleSymbol) (def: (parse-tuple lux-object host-object) - (-> (-> Object (Error Top)) (FVector Object) (Error Top)) + (-> (-> Object (Error Any)) (FVector Object) (Error Any)) (let [size (:! Nat (FVector::getBufferLength [] host-object))] (loop [idx +0 - output (:! (Array Top) (array.new size))] + output (:! (Array Any) (array.new size))] (if (n/< size idx) (case (lux-object (FVector::get [(:! Int idx)] host-object)) (#e.Error error) (#e.Error error) (#e.Success lux-value) - (recur (n/inc idx) (array.write idx (:! Top lux-value) output))) + (recur (n/inc idx) (array.write idx (:! Any lux-value) output))) (#e.Success output))))) (def: (variant tag flag value) - (-> Nat Bool Top Top) + (-> Nat Bool Any Any) [(Long::intValue [] (:! Long tag)) - (: Top + (: Any (if flag //.unit (host.null))) value]) (def: (to-text value) - (-> Top Text) + (-> Any Text) (let [value-text (:! Text (Object::toString [] (:! Object value))) class-text (:! Text (Object::toString [] (Object::getClass [] (:! Object value))))] (format value-text " : " class-text))) (def: (parse-variant lux-object host-object) - (-> (-> Object (Error Top)) Pair (Error Top)) + (-> (-> Object (Error Any)) Pair (Error Any)) (let [variant-tag (Pair::getCar [] host-object)] (if (and (host.instance? gnu/mapping/SimpleSymbol variant-tag) (text/= //.variant-tag (Symbol::getName [] (:! Symbol variant-tag)))) @@ -103,7 +103,7 @@ (ex.throw invalid-variant (:! Text (Object::toString [] (:! Object host-object))))))) (def: (lux-object host-object) - (-> Object (Error Top)) + (-> Object (Error Any)) (cond (or (host.instance? java/lang/Boolean host-object) (host.instance? java/lang/String host-object)) (#e.Success host-object) @@ -132,7 +132,7 @@ (ex.throw Unknown-Kind-Of-Host-Object (format object-class " --- " text-representation))))) (def: #export (eval code) - (-> Expression (Meta Top)) + (-> Expression (Meta Any)) (function (_ compiler) (let [interpreter (|> compiler (get@ #.host) (:! //.Host) (get@ #//.interpreter))] (case (interpreter code) diff --git a/new-luxc/source/luxc/lang/translation/scheme/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/scheme/runtime.jvm.lux index 3bdfc614f..c3f149eeb 100644 --- a/new-luxc/source/luxc/lang/translation/scheme/runtime.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/scheme/runtime.jvm.lux @@ -368,7 +368,7 @@ (def: #export artifact Text (format prefix //.file-extension)) (def: #export translate - (Meta (Process Top)) + (Meta (Process Any)) (do macro.Monad<Meta> [_ //.init-module-buffer _ (//.save runtime)] diff --git a/new-luxc/source/luxc/lang/translation/scheme/statement.jvm.lux b/new-luxc/source/luxc/lang/translation/scheme/statement.jvm.lux index 6fdb4073a..43e18cb85 100644 --- a/new-luxc/source/luxc/lang/translation/scheme/statement.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/scheme/statement.jvm.lux @@ -11,7 +11,7 @@ [".T" eval])) (def: #export (translate-def name expressionT expressionO metaV) - (-> Text Type Expression Code (Meta Top)) + (-> Text Type Expression Code (Meta Any)) (do macro.Monad<Meta> [current-module macro.current-module-name #let [def-ident [current-module name]]] |