aboutsummaryrefslogtreecommitdiff
path: root/new-luxc/source/luxc/lang/translation/jvm/statement.jvm.lux
diff options
context:
space:
mode:
Diffstat (limited to 'new-luxc/source/luxc/lang/translation/jvm/statement.jvm.lux')
-rw-r--r--new-luxc/source/luxc/lang/translation/jvm/statement.jvm.lux18
1 files changed, 18 insertions, 0 deletions
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 7461d981f..65ab9d147 100644
--- a/new-luxc/source/luxc/lang/translation/jvm/statement.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/jvm/statement.jvm.lux
@@ -20,6 +20,24 @@
(// [".T" common]
[".T" runtime]))
+## (def: (lux//program procedure)
+## (-> Text //.Statement)
+## (function (_ inputsC+)
+## (case inputsC+
+## (^ (list [_ (#.Identifier ["" args])] programC))
+## (do macro.Monad<Meta>
+## [[_ programA] (<| lang.with-scope
+## (scopeL.with-local [args (type (List Text))])
+## (lang.with-type (type (IO Any)))
+## (expressionA.analyser evalL.eval programC))
+## syntheses //.all-syntheses
+## programI (expressionT.translate (expressionS.synthesize syntheses programA))
+## _ (statementT.translate-program programI)]
+## (wrap []))
+
+## _
+## (throw-invalid-statement procedure inputsC+))))
+
(def: #export (translate-program programI)
(-> $.Inst (Meta Any))
(let [nilI runtimeT.noneI