aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source
diff options
context:
space:
mode:
authorEduardo Julian2018-08-29 22:36:47 -0400
committerEduardo Julian2018-08-29 22:36:47 -0400
commitba93f7da278a3fdc71729d7a0325c99cec74ca3c (patch)
tree84f298edb360fefb6c6b518394a4565546ef0739 /stdlib/source
parentc9ff55f6c989aff28b2d687fd8aa0ef520701e2c (diff)
Adapted new-luxc to latest stdlib changes.
Diffstat (limited to 'stdlib/source')
-rw-r--r--stdlib/source/lux/compiler/default/phase/translation/scheme/extension/common.jvm.lux6
-rw-r--r--stdlib/source/lux/concurrency/process.lux4
-rw-r--r--stdlib/source/lux/control/order.lux2
-rw-r--r--stdlib/source/lux/data/text/buffer.lux6
-rw-r--r--stdlib/source/lux/data/text/encoding.lux4
-rw-r--r--stdlib/source/lux/host.jvm.lux47
-rw-r--r--stdlib/source/lux/world/console.lux14
-rw-r--r--stdlib/source/lux/world/environment.jvm.lux14
8 files changed, 46 insertions, 51 deletions
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
(<encode> <const>))]
- [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 [<name> <op>]
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 <op> 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<Meta>
[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<Meta> wrap [(list) (list) (list) (list)])))
+ (:: Monad<Meta> 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<IO>
- [?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<Process> 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<Text>))))