aboutsummaryrefslogtreecommitdiff
path: root/lux-lua
diff options
context:
space:
mode:
authorEduardo Julian2021-06-11 02:48:13 -0400
committerEduardo Julian2021-06-11 02:48:13 -0400
commit8f575da5095e3b259d4eb6b6f13d3e37ef1d38e4 (patch)
treed4ad0bf5582637395508b4a260491373d55e760b /lux-lua
parent486488ae17007406a6c90f182b85f7be14b6b373 (diff)
Added import name formatting to "import:" macros for other backends.
Diffstat (limited to 'lux-lua')
-rw-r--r--lux-lua/source/program.lux97
1 files changed, 49 insertions, 48 deletions
diff --git a/lux-lua/source/program.lux b/lux-lua/source/program.lux
index 0dc8c5564..d41447879 100644
--- a/lux-lua/source/program.lux
+++ b/lux-lua/source/program.lux
@@ -1,7 +1,7 @@
(.module:
[lux #*
[program (#+ program:)]
- ["." host]
+ ["." ffi]
[abstract
["." monad (#+ do)]]
[control
@@ -14,7 +14,8 @@
["." maybe]
["." text ("#\." hash)
["%" format (#+ format)]
- ["." encoding]]
+ [encoding
+ ["." utf8]]]
[collection
["." array (#+ Array)]]]
[macro
@@ -61,77 +62,77 @@
["#." static]]])
(for {@.old
- (as_is (host.import: java/lang/String)
+ (as_is (ffi.import: java/lang/String)
- (host.import: (java/lang/Class a))
+ (ffi.import: (java/lang/Class a))
- (host.import: java/lang/Object
+ (ffi.import: java/lang/Object
["#::."
(toString [] java/lang/String)
(getClass [] (java/lang/Class java/lang/Object))])
- (host.import: java/lang/Long
+ (ffi.import: java/lang/Long
["#::."
(intValue [] java/lang/Integer)])
- (host.import: net/sandius/rembulan/StateContext)
+ (ffi.import: net/sandius/rembulan/StateContext)
- (host.import: net/sandius/rembulan/impl/StateContexts
+ (ffi.import: net/sandius/rembulan/impl/StateContexts
["#::."
(#static newDefaultInstance [] net/sandius/rembulan/StateContext)])
- (host.import: net/sandius/rembulan/env/RuntimeEnvironment)
+ (ffi.import: net/sandius/rembulan/env/RuntimeEnvironment)
- (host.import: net/sandius/rembulan/env/RuntimeEnvironments
+ (ffi.import: net/sandius/rembulan/env/RuntimeEnvironments
["#::."
(#static system [] net/sandius/rembulan/env/RuntimeEnvironment)])
- (host.import: net/sandius/rembulan/Table
+ (ffi.import: net/sandius/rembulan/Table
["#::."
(rawget #as get_idx [long] #? java/lang/Object)
(rawget #as get_key [java/lang/Object] #? java/lang/Object)
(rawlen [] long)])
- (host.import: net/sandius/rembulan/ByteString
+ (ffi.import: net/sandius/rembulan/ByteString
["#::."
(decode [] java/lang/String)])
- (host.import: net/sandius/rembulan/impl/DefaultTable)
+ (ffi.import: net/sandius/rembulan/impl/DefaultTable)
- (host.import: net/sandius/rembulan/impl/ImmutableTable)
+ (ffi.import: net/sandius/rembulan/impl/ImmutableTable)
- (host.import: net/sandius/rembulan/impl/ImmutableTable$Builder
+ (ffi.import: net/sandius/rembulan/impl/ImmutableTable$Builder
["#::."
(new [])
(build [] net/sandius/rembulan/impl/ImmutableTable)])
- (host.import: net/sandius/rembulan/lib/StandardLibrary
+ (ffi.import: net/sandius/rembulan/lib/StandardLibrary
["#::."
(#static in [net/sandius/rembulan/env/RuntimeEnvironment] net/sandius/rembulan/lib/StandardLibrary)
(installInto [net/sandius/rembulan/StateContext] net/sandius/rembulan/Table)])
- (host.import: net/sandius/rembulan/Variable
+ (ffi.import: net/sandius/rembulan/Variable
["#::."
(new [java/lang/Object])])
- (host.import: net/sandius/rembulan/runtime/LuaFunction)
+ (ffi.import: net/sandius/rembulan/runtime/LuaFunction)
- (host.import: net/sandius/rembulan/load/ChunkLoader
+ (ffi.import: net/sandius/rembulan/load/ChunkLoader
["#::."
(loadTextChunk [net/sandius/rembulan/Variable
java/lang/String
java/lang/String]
#try net/sandius/rembulan/runtime/LuaFunction)])
- (host.import: net/sandius/rembulan/compiler/CompilerChunkLoader
+ (ffi.import: net/sandius/rembulan/compiler/CompilerChunkLoader
["#::."
(#static of [java/lang/String] net/sandius/rembulan/compiler/CompilerChunkLoader)])
- (host.import: net/sandius/rembulan/runtime/SchedulingContext)
+ (ffi.import: net/sandius/rembulan/runtime/SchedulingContext)
- (host.import: net/sandius/rembulan/runtime/SchedulingContextFactory)
+ (ffi.import: net/sandius/rembulan/runtime/SchedulingContextFactory)
- (host.import: net/sandius/rembulan/exec/DirectCallExecutor
+ (ffi.import: net/sandius/rembulan/exec/DirectCallExecutor
["#::."
(#static newExecutor [] net/sandius/rembulan/exec/DirectCallExecutor)
(schedulingContextFactory [] net/sandius/rembulan/runtime/SchedulingContextFactory)
@@ -143,10 +144,10 @@
["Object" (java/lang/Object::toString object)]))
(template [<name>]
- [(host.interface: <name>
+ [(ffi.interface: <name>
(getValue [] java/lang/Object))
- (`` (host.import: (~~ (template.identifier ["program/" <name>]))
+ (`` (ffi.import: (~~ (template.identifier ["program/" <name>]))
["#::."
(getValue [] java/lang/Object)]))]
@@ -156,13 +157,13 @@
(def: (lux_structure value)
(-> (Array java/lang/Object) program/StructureValue)
(let [re_wrap (function (_ unwrapped)
- (case (host.check [java/lang/Object] unwrapped)
+ (case (ffi.check [java/lang/Object] unwrapped)
(#.Some sub_value)
(|> sub_value (:coerce (Array java/lang/Object)) lux_structure (:coerce java/lang/Object))
#.None
unwrapped))]
- (host.object [] net/sandius/rembulan/impl/DefaultTable [program/StructureValue]
+ (ffi.object [] net/sandius/rembulan/impl/DefaultTable [program/StructureValue]
[]
## Methods
(program/StructureValue
@@ -179,7 +180,7 @@
(net/sandius/rembulan/impl/DefaultTable
[] (rawget self {field java/lang/Object}) java/lang/Object
- (case (host.check net/sandius/rembulan/ByteString field)
+ (case (ffi.check net/sandius/rembulan/ByteString field)
(#.Some field)
(case (net/sandius/rembulan/ByteString::decode field)
(^ (static runtime.variant_tag_field))
@@ -191,7 +192,7 @@
""
#.None
- (host.null))
+ (ffi.null))
(^ (static runtime.variant_value_field))
(|> value (array.read 2) maybe.assume re_wrap)
@@ -200,7 +201,7 @@
(error! (exception.construct ..unknown_kind_of_object field)))
#.None
- (case (host.check java/lang/Long field)
+ (case (ffi.check java/lang/Long field)
(#.Some idx)
(|> value (array.read (|> idx (:coerce Nat) dec)) maybe.assume re_wrap)
@@ -220,7 +221,7 @@
[(read value)
(#.Some value)])
(#try.Success [(java/lang/Long::intValue (:coerce java/lang/Long tag))
- (: Any (case ?flag (#.Some _) "" #.None (host.null)))
+ (: Any (case ?flag (#.Some _) "" #.None (ffi.null)))
value])
_
@@ -251,10 +252,10 @@
(def: (read host_object)
Translator
- (`` (<| (if (host.null? host_object)
+ (`` (<| (if (ffi.null? host_object)
(exception.throw ..nil_has_no_lux_representation []))
(~~ (template [<class> <post_processing>]
- [(case (host.check <class> host_object)
+ [(case (ffi.check <class> host_object)
(#.Some typed_object)
(|> typed_object <post_processing>)
@@ -268,7 +269,7 @@
[net/sandius/rembulan/ByteString (<| #try.Success net/sandius/rembulan/ByteString::decode)]
[program/StructureValue (<| #try.Success program/StructureValue::getValue)]
))
- (case (host.check net/sandius/rembulan/impl/DefaultTable host_object)
+ (case (ffi.check net/sandius/rembulan/impl/DefaultTable host_object)
(#.Some typed_object)
(case (read_variant read typed_object)
(#try.Success value)
@@ -287,7 +288,7 @@
(def: ensure_function
(-> Macro (Maybe net/sandius/rembulan/runtime/LuaFunction))
- (|>> (:coerce java/lang/Object) (host.check net/sandius/rembulan/runtime/LuaFunction)))
+ (|>> (:coerce java/lang/Object) (ffi.check net/sandius/rembulan/runtime/LuaFunction)))
(type: Baggage
[net/sandius/rembulan/StateContext
@@ -333,18 +334,18 @@
$str_rel_to_abs (_.var "_utf8_str_rel_to_abs")
$decode (_.var "_utf8_decode")]
(template.with [(!int <hex>)
- (_.int (.int (hex <hex>)))
+ [(_.int (.int (hex <hex>)))]
(!&| <or> <and> <raw>)
- (|> <raw>
- (_.bit_and (!int <and>))
- (_.bit_or (!int <or>)))
+ [(|> <raw>
+ (_.bit_and (!int <and>))
+ (_.bit_or (!int <or>)))]
(!&|< <or> <and> <shift> <raw>)
- (|> <raw>
- (_.bit_shr (_.int <shift>))
- (_.bit_and (!int <and>))
- (_.bit_or (!int <or>)))]
+ [(|> <raw>
+ (_.bit_shr (_.int <shift>))
+ (_.bit_and (!int <and>))
+ (_.bit_or (!int <or>)))]]
(as_is (def: rembulan//char
(let [$buffer (_.var "buffer")
$k (_.var "k")
@@ -558,7 +559,7 @@
(wrap [global value definition]))))
(def: (ingest context content)
- (|> content (\ encoding.utf8 decode) try.assume (:coerce _.Statement)))
+ (|> content (\ utf8.codec decode) try.assume (:coerce _.Statement)))
(def: (re_learn context content)
(run! content))
@@ -567,7 +568,7 @@
(do try.monad
[_ (run! content)]
(run! (_.return (_.var (reference.artifact context))))))))]))))
- @.lua (as_is (host.import: (load [host.String] #try host.Function))
+ @.lua (as_is (ffi.import: (load [ffi.String] #try ffi.Function))
(def: host
(IO (Host _.Expression _.Statement))
(io (let [run! (: (-> _.Statement (Try Any))
@@ -595,7 +596,7 @@
(wrap [global value definition]))))
(def: (ingest context content)
- (|> content (\ encoding.utf8 decode) try.assume (:coerce _.Statement)))
+ (|> content (\ utf8.codec decode) try.assume (:coerce _.Statement)))
(def: (re_learn context content)
(run! content))
@@ -614,7 +615,7 @@
#platform.host host
#platform.phase lua.generate
#platform.runtime runtime.generate
- #platform.write (|>> _.code (\ encoding.utf8 encode))}])))
+ #platform.write (|>> _.code (\ utf8.codec encode))}])))
@.lua (def: platform
(IO (Platform [Register _.Label] _.Expression _.Statement))
(do io.monad
@@ -623,7 +624,7 @@
#platform.host host
#platform.phase lua.generate
#platform.runtime runtime.generate
- #platform.write (|>> _.code (\ encoding.utf8 encode))})))})
+ #platform.write (|>> _.code (\ utf8.codec encode))})))})
(def: (program context program)
(Program _.Expression _.Statement)