From ba93f7da278a3fdc71729d7a0325c99cec74ca3c Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Wed, 29 Aug 2018 22:36:47 -0400 Subject: Adapted new-luxc to latest stdlib changes. --- .../translation/scheme/extension/common.jvm.lux | 6 +-- stdlib/source/lux/concurrency/process.lux | 4 +- stdlib/source/lux/control/order.lux | 2 +- stdlib/source/lux/data/text/buffer.lux | 6 +-- stdlib/source/lux/data/text/encoding.lux | 4 +- stdlib/source/lux/host.jvm.lux | 47 ++++++++++------------ stdlib/source/lux/world/console.lux | 14 +++---- stdlib/source/lux/world/environment.jvm.lux | 14 +++---- 8 files changed, 46 insertions(+), 51 deletions(-) (limited to 'stdlib/source') diff --git a/stdlib/source/lux/compiler/default/phase/translation/scheme/extension/common.jvm.lux b/stdlib/source/lux/compiler/default/phase/translation/scheme/extension/common.jvm.lux index 0854fcaa9..a503949dd 100644 --- a/stdlib/source/lux/compiler/default/phase/translation/scheme/extension/common.jvm.lux +++ b/stdlib/source/lux/compiler/default/phase/translation/scheme/extension/common.jvm.lux @@ -125,9 +125,9 @@ Nullary ( ))] - [frac::smallest Double::MIN_VALUE _.float] - [frac::min (f/* -1.0 Double::MAX_VALUE) _.float] - [frac::max Double::MAX_VALUE _.float] + [frac::smallest (Double::MIN_VALUE) _.float] + [frac::min (f/* -1.0 (Double::MAX_VALUE)) _.float] + [frac::max (Double::MAX_VALUE) _.float] ) (do-template [ ] diff --git a/stdlib/source/lux/concurrency/process.lux b/stdlib/source/lux/concurrency/process.lux index 8cb364380..e63aba14d 100644 --- a/stdlib/source/lux/concurrency/process.lux +++ b/stdlib/source/lux/concurrency/process.lux @@ -95,9 +95,7 @@ processes)] swapped? (atom.compare-and-swap! processes pending runner)] (if swapped? - (do @ - [_ (monad.seq @ ready)] - (recur [])) + (monad.seq @ ready) (error! (ex.construct cannot-continue-running-processes [])))) )))) ))) diff --git a/stdlib/source/lux/control/order.lux b/stdlib/source/lux/control/order.lux index 7b07325a1..ef9030c2d 100644 --- a/stdlib/source/lux/control/order.lux +++ b/stdlib/source/lux/control/order.lux @@ -38,6 +38,6 @@ (-> (Order a) a a a)) (if (:: order y x) x y))] - [max >] [min <] + [max >] ) diff --git a/stdlib/source/lux/data/text/buffer.lux b/stdlib/source/lux/data/text/buffer.lux index 38b47e875..02b0001d0 100644 --- a/stdlib/source/lux/data/text/buffer.lux +++ b/stdlib/source/lux/data/text/buffer.lux @@ -44,7 +44,7 @@ (let [[capacity transform] (:representation buffer) append! (: (-> Text StringBuilder StringBuilder) (function (_ chunk builder) - (exec (Appendable::append [(:coerce CharSequence chunk)] + (exec (Appendable::append (:coerce CharSequence chunk) builder) builder)))] (:abstraction [(n/+ (//.size chunk) capacity) @@ -66,9 +66,9 @@ (-> Buffer Text) (for {(~~ (static _.jvm)) (let [[capacity transform] (:representation buffer)] - (|> (StringBuilder::new [(.int capacity)]) + (|> (StringBuilder::new (.int capacity)) transform - (StringBuilder::toString [])))} + StringBuilder::toString))} ## default (row/fold (function (_ chunk total) (format total chunk)) diff --git a/stdlib/source/lux/data/text/encoding.lux b/stdlib/source/lux/data/text/encoding.lux index 029505b21..de4bdf310 100644 --- a/stdlib/source/lux/data/text/encoding.lux +++ b/stdlib/source/lux/data/text/encoding.lux @@ -18,9 +18,9 @@ (def: #export (to-utf8 value) (-> Text Binary) (`` (for {(~~ (static _.jvm)) - (String::getBytes [..utf8] value)}))) + (String::getBytes ..utf8 (:coerce String value))}))) (def: #export (from-utf8 value) (-> Binary (Error Text)) (`` (for {(~~ (static _.jvm)) - (#error.Success (String::new [value ..utf8]))}))) + (#error.Success (String::new value ..utf8))}))) diff --git a/stdlib/source/lux/host.jvm.lux b/stdlib/source/lux/host.jvm.lux index 26aa009b0..969935dc3 100644 --- a/stdlib/source/lux/host.jvm.lux +++ b/stdlib/source/lux/host.jvm.lux @@ -184,8 +184,8 @@ (List GenericType)])) (type: Partial-Call - {#pc-method Code - #pc-args Code}) + {#pc-method Name + #pc-args (List Code)}) (type: ImportMethodKind #StaticIMK @@ -960,7 +960,7 @@ (def: partial-call^ (Syntax Partial-Call) - (s.form (p.and s.any s.any))) + (s.form (p.and s.identifier (p.some s.any)))) (def: class-kind^ (Syntax Class-Kind) @@ -1271,7 +1271,7 @@ (def: (complete-call$ g!obj [method args]) (-> Code Partial-Call Code) - (` ((~ method) (~ args) (~ g!obj)))) + (` ((~ (code.identifier method)) (~+ args) (~ g!obj)))) ## [Syntax] (def: object-super-class @@ -1473,13 +1473,11 @@ (finish-the-computation ___))))} (wrap (list (` ("jvm object synchronized" (~ lock) (~ body)))))) -(syntax: #export (do-to - obj - {methods (p.some partial-call^)}) +(syntax: #export (do-to obj {methods (p.some partial-call^)}) {#.doc (doc "Call a variety of methods on an object. Then, return the object." (do-to object - (ClassName::method1 [arg0 arg1 arg2]) - (ClassName::method2 [arg3 arg4 arg5])))} + (ClassName::method1 arg0 arg1 arg2) + (ClassName::method2 arg3 arg4 arg5)))} (with-gensyms [g!obj] (wrap (list (` (let [(~ g!obj) (~ obj)] (exec (~+ (list/map (complete-call$ g!obj) methods)) @@ -1517,18 +1515,16 @@ class-tvars)) (def: (member-def-arg-bindings type-params class member) - (-> (List Type-Paramameter) Class-Declaration Import-Member-Declaration (Meta [(List Code) (List Code) (List Text) (List Code)])) + (-> (List Type-Paramameter) Class-Declaration Import-Member-Declaration (Meta [(List [Bit Code]) (List Text) (List Code)])) (case member (^or (#ConstructorDecl [commons _]) (#MethodDecl [commons _])) (let [(^slots [#import-member-tvars #import-member-args]) commons] (do Monad [arg-inputs (monad.map @ - (: (-> [Bit GenericType] (Meta [Code Code])) + (: (-> [Bit GenericType] (Meta [Bit Code])) (function (_ [maybe? _]) (with-gensyms [arg-name] - (wrap [arg-name (if maybe? - (` (!!! (~ arg-name))) - arg-name)])))) + (wrap [maybe? arg-name])))) import-member-args) #let [arg-classes (: (List Text) (list/map (|>> product.right (simple-class$ (list/compose type-params import-member-tvars))) @@ -1539,13 +1535,11 @@ (if maybe? (` (Maybe (~ arg-type))) arg-type)))) - import-member-args) - arg-function-inputs (list/map product.left arg-inputs) - arg-method-inputs (list/map product.right arg-inputs)]] - (wrap [arg-function-inputs arg-method-inputs arg-classes arg-types]))) + import-member-args)]] + (wrap [arg-inputs arg-classes arg-types]))) _ - (:: Monad wrap [(list) (list) (list) (list)]))) + (:: Monad wrap [(list) (list) (list)]))) (def: (decorate-return-maybe member return-term) (-> Import-Member-Declaration Code Code) @@ -1613,14 +1607,17 @@ (` ((~' ~) (~ quoted)))) (def: (jvm-extension-inputs mode classes inputs) - (-> Primitive-Mode (List Text) (List Code) (List Code)) + (-> Primitive-Mode (List Text) (List [Bit Code]) (List Code)) (|> inputs - (list/map un-quote) + (list/map (function (_ [maybe? input]) + (if maybe? + (` ((~! !!!) (~ (un-quote input)))) + (un-quote input)))) (list.zip2 classes) (list/map (auto-convert-input mode)))) -(def: (member-def-interop type-params kind class [arg-function-inputs arg-method-inputs arg-classes arg-types] member method-prefix) - (-> (List Type-Paramameter) Class-Kind Class-Declaration [(List Code) (List Code) (List Text) (List Code)] Import-Member-Declaration Text (Meta (List Code))) +(def: (member-def-interop type-params kind class [arg-function-inputs arg-classes arg-types] member method-prefix) + (-> (List Type-Paramameter) Class-Kind Class-Declaration [(List [Bit Code]) (List Text) (List Code)] Import-Member-Declaration Text (Meta (List Code))) (let [[full-name class-tvars] class full-name (sanitize full-name) all-params (|> (member-type-vars class-tvars member) @@ -1656,7 +1653,7 @@ (decorate-return-maybe member) (decorate-return-try member) (decorate-return-io member))]] - (wrap (list (` ((~! syntax:) ((~ def-name) (~+ arg-function-inputs)) + (wrap (list (` ((~! syntax:) ((~ def-name) (~+ (list/map product.right arg-function-inputs))) ((~' wrap) (.list (.` (~ jvm-interop))))))))) (#MethodDecl [commons method]) @@ -1692,7 +1689,7 @@ (decorate-return-maybe member) (decorate-return-try member) (decorate-return-io member))]] - (wrap (list (` ((~! syntax:) ((~ def-name) (~+ arg-function-inputs) (~+ object-ast)) + (wrap (list (` ((~! syntax:) ((~ def-name) (~+ (list/map product.right arg-function-inputs)) (~+ object-ast)) ((~' wrap) (.list (.` (~ jvm-interop)))))))))) (#FieldAccessDecl fad) diff --git a/stdlib/source/lux/world/console.lux b/stdlib/source/lux/world/console.lux index 85db061c8..cf7d2f2d4 100644 --- a/stdlib/source/lux/world/console.lux +++ b/stdlib/source/lux/world/console.lux @@ -50,28 +50,28 @@ (def: #export open (Process (Console Process)) (do io.Monad - [?jvm-console (System::console [])] + [?jvm-console (System::console)] (case ?jvm-console #.None (io.fail (ex.construct cannot-open [])) (#.Some jvm-console) - (let [jvm-input System::in - jvm-output System::out] + (let [jvm-input (System::in) + jvm-output (System::out)] (<| io.from-io wrap (: (Console Process)) ## TODO: Remove ASAP (structure (def: (read _) (|> jvm-input - (InputStream::read []) + InputStream::read (:: io.Functor map .nat))) (def: (read-line _) - (|> jvm-console (java/io/Console::readLine []))) + (java/io/Console::readLine jvm-console)) (def: (write message) - (|> jvm-output (PrintStream::print [message]))) + (PrintStream::print message jvm-output)) (def: close (|>> (ex.construct cannot-close) io.fail))))))))) @@ -79,4 +79,4 @@ (def: #export (write-line message Console) (All [!] (-> Text (Console !) (! Any))) - (:: Console write (format message ""))) + (:: Console write (format message text.new-line))) diff --git a/stdlib/source/lux/world/environment.jvm.lux b/stdlib/source/lux/world/environment.jvm.lux index 019dab706..2a64c31f8 100644 --- a/stdlib/source/lux/world/environment.jvm.lux +++ b/stdlib/source/lux/world/environment.jvm.lux @@ -30,20 +30,20 @@ (def: (consume-iterator f iterator) (All [a b] (-> (-> a b) (Iterator a) (List b))) - (if (Iterator::hasNext [] iterator) - (#.Cons (f (Iterator::next [] iterator)) + (if (Iterator::hasNext iterator) + (#.Cons (f (Iterator::next iterator)) (consume-iterator f iterator)) #.Nil)) (def: (entry-to-kv entry) (All [k v] (-> (Map$Entry k v) [k v])) - [(Map$Entry::getKey [] entry) - (Map$Entry::getValue [] entry)]) + [(Map$Entry::getKey entry) + (Map$Entry::getValue entry)]) (def: #export read (IO Context) - (io (|> (System::getenv []) - (Map::entrySet []) - (Set::iterator []) + (io (|> (System::getenv) + Map::entrySet + Set::iterator (consume-iterator entry-to-kv) (dictionary.from-list text.Hash)))) -- cgit v1.2.3