diff options
Diffstat (limited to 'new-luxc/source/luxc/lang/translation/scheme/reference.jvm.lux')
-rw-r--r-- | new-luxc/source/luxc/lang/translation/scheme/reference.jvm.lux | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/new-luxc/source/luxc/lang/translation/scheme/reference.jvm.lux b/new-luxc/source/luxc/lang/translation/scheme/reference.jvm.lux deleted file mode 100644 index 1552f52af..000000000 --- a/new-luxc/source/luxc/lang/translation/scheme/reference.jvm.lux +++ /dev/null @@ -1,42 +0,0 @@ -(.module: - lux - (lux [macro] - (data [text] - text/format)) - (luxc ["&" lang] - (lang [".L" variable #+ Variable Register] - (host ["_" scheme #+ Expression SVar @@]))) - [//] - (// [".T" runtime])) - -(do-template [<register> <translation> <prefix>] - [(def: #export (<register> register) - (-> Register SVar) - (_.var (format <prefix> (%i (.int register))))) - - (def: #export (<translation> register) - (-> Register (Meta Expression)) - (:: macro.Monad<Meta> wrap (@@ (<register> register))))] - - [closure translate-captured "c"] - [variable translate-local "v"]) - -(def: #export (local var) - (-> Variable SVar) - (if (variableL.captured? var) - (closure (variableL.captured-register var)) - (variable (.nat var)))) - -(def: #export (translate-variable var) - (-> Variable (Meta Expression)) - (if (variableL.captured? var) - (translate-captured (variableL.captured-register var)) - (translate-local (.nat var)))) - -(def: #export global - (-> Ident SVar) - (|>> //.definition-name _.var)) - -(def: #export (translate-definition name) - (-> Ident (Meta Expression)) - (:: macro.Monad<Meta> wrap (@@ (global name)))) |