aboutsummaryrefslogtreecommitdiff
path: root/new-luxc/source/luxc/lang/translation/lua/procedure/host.jvm.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--new-luxc/source/luxc/lang/translation/lua/procedure/host.jvm.lux87
1 files changed, 0 insertions, 87 deletions
diff --git a/new-luxc/source/luxc/lang/translation/lua/procedure/host.jvm.lux b/new-luxc/source/luxc/lang/translation/lua/procedure/host.jvm.lux
deleted file mode 100644
index f53f3ba05..000000000
--- a/new-luxc/source/luxc/lang/translation/lua/procedure/host.jvm.lux
+++ /dev/null
@@ -1,87 +0,0 @@
-(.module:
- lux
- (lux (control [monad #+ do])
- (data [text]
- text/format
- (coll [list "list/" Functor<List>]
- (dictionary ["dict" unordered #+ Dict])))
- [macro "macro/" Monad<Meta>])
- (luxc ["&" lang]
- (lang ["la" analysis]
- ["ls" synthesis]
- (host [lua #+ Lua Expression Statement])))
- [///]
- (/// [".T" runtime])
- (// ["@" common]))
-
-(template [<name> <lua>]
- [(def: (<name> _) @.Nullary <lua>)]
-
- [lua//nil "nil"]
- [lua//table "{}"]
- )
-
-(def: (lua//global proc translate inputs)
- (-> Text @.Proc)
- (case inputs
- (^ (list [_ (#.Text name)]))
- (do macro.Monad<Meta>
- []
- (wrap name))
-
- _
- (&.throw @.Wrong-Syntax (@.wrong-syntax proc inputs))))
-
-(def: (lua//call proc translate inputs)
- (-> Text @.Proc)
- (case inputs
- (^ (list& functionS argsS+))
- (do macro.Monad<Meta>
- [functionO (translate functionS)
- argsO+ (monad.map @ translate argsS+)]
- (wrap (lua.apply functionO argsO+)))
-
- _
- (&.throw @.Wrong-Syntax (@.wrong-syntax proc inputs))))
-
-(def: lua-procs
- @.Bundle
- (|> (dict.new text.Hash<Text>)
- (@.install "nil" (@.nullary lua//nil))
- (@.install "table" (@.nullary lua//table))
- (@.install "global" lua//global)
- (@.install "call" lua//call)))
-
-(def: (table//call proc translate inputs)
- (-> Text @.Proc)
- (case inputs
- (^ (list& tableS [_ (#.Text field)] argsS+))
- (do macro.Monad<Meta>
- [tableO (translate tableS)
- argsO+ (monad.map @ translate argsS+)]
- (wrap (lua.method field tableO argsO+)))
-
- _
- (&.throw @.Wrong-Syntax (@.wrong-syntax proc inputs))))
-
-(def: (table//get [fieldO tableO])
- @.Binary
- (runtimeT.lua//get tableO fieldO))
-
-(def: (table//set [fieldO valueO tableO])
- @.Trinary
- (runtimeT.lua//set tableO fieldO valueO))
-
-(def: table-procs
- @.Bundle
- (<| (@.prefix "table")
- (|> (dict.new text.Hash<Text>)
- (@.install "call" table//call)
- (@.install "get" (@.binary table//get))
- (@.install "set" (@.trinary table//set)))))
-
-(def: #export procedures
- @.Bundle
- (<| (@.prefix "lua")
- (|> lua-procs
- (dict.merge table-procs))))