diff options
author | Eduardo Julian | 2018-06-17 00:27:21 -0400 |
---|---|---|
committer | Eduardo Julian | 2018-06-17 00:27:21 -0400 |
commit | b6ccfc87c52e1a98ead3b04b45bccc119418a4dc (patch) | |
tree | db13d4605a0a3041de6ef2ef5ddc92b766f1a7f3 /new-luxc/source/luxc/lang/translation/scheme/reference.jvm.lux | |
parent | bcd3d9ee8f6797f758a2abea98d5cb6a74cc7df0 (diff) |
- Migrated Scheme back-end to stdlib.
Diffstat (limited to '')
-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)))) |