From 8f575da5095e3b259d4eb6b6f13d3e37ef1d38e4 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Fri, 11 Jun 2021 02:48:13 -0400 Subject: Added import name formatting to "import:" macros for other backends. --- lux-lua/source/program.lux | 97 +++++++++++++++++++++++----------------------- 1 file changed, 49 insertions(+), 48 deletions(-) (limited to 'lux-lua') 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 [] - [(host.interface: + [(ffi.interface: (getValue [] java/lang/Object)) - (`` (host.import: (~~ (template.identifier ["program/" ])) + (`` (ffi.import: (~~ (template.identifier ["program/" ])) ["#::." (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 [ ] - [(case (host.check host_object) + [(case (ffi.check host_object) (#.Some typed_object) (|> typed_object ) @@ -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 ) - (_.int (.int (hex ))) + [(_.int (.int (hex )))] (!&| ) - (|> - (_.bit_and (!int )) - (_.bit_or (!int ))) + [(|> + (_.bit_and (!int )) + (_.bit_or (!int )))] (!&|< ) - (|> - (_.bit_shr (_.int )) - (_.bit_and (!int )) - (_.bit_or (!int )))] + [(|> + (_.bit_shr (_.int )) + (_.bit_and (!int )) + (_.bit_or (!int )))]] (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) -- cgit v1.2.3