aboutsummaryrefslogtreecommitdiff
path: root/stdlib
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/lux.lux5
-rw-r--r--stdlib/source/lux/concurrency/atom.lux2
-rw-r--r--stdlib/source/lux/concurrency/frp.lux2
-rw-r--r--stdlib/source/lux/control/effect.lux33
-rw-r--r--stdlib/source/lux/data/bit.lux14
-rw-r--r--stdlib/source/lux/data/log.lux3
-rw-r--r--stdlib/source/lux/data/number.lux6
-rw-r--r--stdlib/source/lux/host.lux17
-rw-r--r--stdlib/source/lux/math/simple.lux56
-rw-r--r--stdlib/source/lux/pipe.lux7
10 files changed, 74 insertions, 71 deletions
diff --git a/stdlib/source/lux.lux b/stdlib/source/lux.lux
index 13dc4072e..8af215b43 100644
--- a/stdlib/source/lux.lux
+++ b/stdlib/source/lux.lux
@@ -17,7 +17,7 @@
(+0 "#Nat" (+0)))
(+1 [["lux" "type?"] (+0 true)]
(+1 [["lux" "export?"] (+0 true)]
- (+1 [["lux" "doc"] (+6 "Unsigned integers, or natural numbers.
+ (+1 [["lux" "doc"] (+6 "Natural numbers (unsigned integers).
They start at zero (+0) and extend in the positive direction.")]
(+0)))))
@@ -640,7 +640,8 @@
(#AppT (#AppT Either Text)
(#ProdT Compiler (#BoundT +1))))))
(#Cons [["lux" "doc"] (#TextM "Computations that can have access to the state of the compiler.
- Those computations may also fail, or modify the state of the compiler.")]
+
+ These computations may fail, or modify the state of the compiler.")]
(#Cons [["lux" "type-args"] (#ListM (#Cons (#TextM "a") #;Nil))]
default-def-meta-exported)))
diff --git a/stdlib/source/lux/concurrency/atom.lux b/stdlib/source/lux/concurrency/atom.lux
index 3b4687931..ae8c7fa21 100644
--- a/stdlib/source/lux/concurrency/atom.lux
+++ b/stdlib/source/lux/concurrency/atom.lux
@@ -28,7 +28,7 @@
(def: #export (compare-and-swap current new atom)
{#;doc "Only mutates an atom if you can present it's current value.
- That guarantees that actor wasn't updated since you last read from it."}
+ That guarantees that atom wasn't updated since you last read from it."}
(All [a] (-> a a (Atom a) (IO Bool)))
(io (AtomicReference.compareAndSet [current new] atom)))
diff --git a/stdlib/source/lux/concurrency/frp.lux b/stdlib/source/lux/concurrency/frp.lux
index 1620618d5..45b9e1839 100644
--- a/stdlib/source/lux/concurrency/frp.lux
+++ b/stdlib/source/lux/concurrency/frp.lux
@@ -140,7 +140,7 @@
(wrap (#;Some [x (no-dups' eq x xs')])))))))
(def: #export (no-dups eq xs)
- {#;doc "Multiple consecutive equal values in the input channel will just be single values in the output channel."}
+ {#;doc "Multiple consecutive equal values in the input channel will just be single value in the output channel."}
(All [a] (-> (Eq a) (Chan a) (Chan a)))
(let [(^open) eq]
(do &;Monad<Promise>
diff --git a/stdlib/source/lux/control/effect.lux b/stdlib/source/lux/control/effect.lux
index ede2f9d8f..bf98b9391 100644
--- a/stdlib/source/lux/control/effect.lux
+++ b/stdlib/source/lux/control/effect.lux
@@ -228,11 +228,12 @@
[defs (s;many (common;def *compiler*))])
{#;doc (doc "Define effect handlers by implementing the operations and values of an effect."
(handler: _
- (=> EffA [io;IO io;Monad<IO>])
- (def: (opA size sample)
- (:: io;Monad<IO> wrap (n.< size (text;size sample))))
+ (=> EffA [IO Monad<IO>])
+ (def: (opA length sample)
+ (:: Monad<IO> wrap (n.< length
+ (size sample))))
- (def: fieldA (:: io;Monad<IO> wrap +10)))
+ (def: fieldA (:: Monad<IO> wrap +10)))
"Since a name for the handler was not specified, 'handler:' will generate the name as Handler<EffA,IO>.")}
(do @
@@ -309,12 +310,12 @@
(syntax: #export (doE functor [bindings (s;tuple (s;some s;any))] body)
{#;doc (doc "An alternative to the 'do' macro for monads."
- (io;run (with-handler Handler<EffABC,IO>
- (doE Functor<EffABC>
- [a (lift fieldA)
- b (lift fieldB)
- c (lift fieldC)]
- (wrap ($_ n.+ a b c))))))}
+ (with-handler Handler<EffABC,IO>
+ (doE Functor<EffABC>
+ [a (lift fieldA)
+ b (lift fieldB)
+ c (lift fieldC)]
+ (wrap ($_ n.+ a b c)))))}
(do @
[g!output (compiler;gensym "")]
(wrap (list (` (let [(~ g!functor) (~ functor)]
@@ -370,12 +371,12 @@
(syntax: #export (lift [value (s;alt s;symbol
s;any)])
{#;doc (doc "A way to (automatically) lift effectful fields and operations from simple effects into the larger space of composite effects."
- (io;run (with-handler Handler<EffABC,IO>
- (doE Functor<EffABC>
- [a (lift fieldA)
- b (lift fieldB)
- c (lift fieldC)]
- (wrap ($_ n.+ a b c))))))}
+ (with-handler Handler<EffABC,IO>
+ (doE Functor<EffABC>
+ [a (lift fieldA)
+ b (lift fieldB)
+ c (lift fieldC)]
+ (wrap ($_ n.+ a b c)))))}
(case value
(#;Left var)
(do @
diff --git a/stdlib/source/lux/data/bit.lux b/stdlib/source/lux/data/bit.lux
index 2562adc2d..99ade5269 100644
--- a/stdlib/source/lux/data/bit.lux
+++ b/stdlib/source/lux/data/bit.lux
@@ -12,12 +12,12 @@
(-> Nat <type> <type>)
(_lux_proc ["bit" <op>] [subject param]))]
- [& "and" "Bit and." Nat]
- [| "or" "Bit or." Nat]
- [^ "xor" "Bit xor." Nat]
- [<< "shift-left" "Bit shift-left." Nat]
- [>> "shift-right" "Bit shift-right." Int]
- [>>> "unsigned-shift-right" "Bit unsigned-shift-right." Nat]
+ [& "and" "Bitwise and." Nat]
+ [| "or" "Bitwise or." Nat]
+ [^ "xor" "Bitwise xor." Nat]
+ [<< "shift-left" "Bitwise shift-left." Nat]
+ [>> "shift-right" "Bitwise shift-right." Int]
+ [>>> "unsigned-shift-right" "Bitwise unsigned-shift-right." Nat]
)
(def: #export (count subject)
@@ -28,7 +28,7 @@
(def: mask Nat (int-to-nat -1))
(def: #export ~
- {#;doc "Bit negation."}
+ {#;doc "Bitwise negation."}
(-> Nat Nat)
(^ mask))
diff --git a/stdlib/source/lux/data/log.lux b/stdlib/source/lux/data/log.lux
index e8e15d0ad..b3dd7749f 100644
--- a/stdlib/source/lux/data/log.lux
+++ b/stdlib/source/lux/data/log.lux
@@ -12,7 +12,8 @@
(type: #export (Log l a)
{#;doc "Represents a value with an associated 'log' value to record arbitrary information."}
- [l a])
+ {#log l
+ #value a})
(struct: #export Functor<Log> (All [l]
(Functor (Log l)))
diff --git a/stdlib/source/lux/data/number.lux b/stdlib/source/lux/data/number.lux
index b2ad1df52..c5b3277f8 100644
--- a/stdlib/source/lux/data/number.lux
+++ b/stdlib/source/lux/data/number.lux
@@ -235,9 +235,9 @@
Real
(_lux_proc ["jvm" <field>] []))]
- [nan "getstatic:java.lang.Double:NaN" "not-a-number"]
- [+inf "getstatic:java.lang.Double:POSITIVE_INFINITY" "positive infinity"]
- [-inf "getstatic:java.lang.Double:NEGATIVE_INFINITY" "negative infinity"]
+ [nan "getstatic:java.lang.Double:NaN" "Not-a-number."]
+ [+inf "getstatic:java.lang.Double:POSITIVE_INFINITY" "Positive infinity."]
+ [-inf "getstatic:java.lang.Double:NEGATIVE_INFINITY" "Negative infinity."]
)
(def: #export (nan? number)
diff --git a/stdlib/source/lux/host.lux b/stdlib/source/lux/host.lux
index 75ad3a1c5..7c0180ec1 100644
--- a/stdlib/source/lux/host.lux
+++ b/stdlib/source/lux/host.lux
@@ -1451,12 +1451,12 @@
(wrap (list (` (;_lux_proc ["jvm" (~ (ast;text def-code))] []))))))
(syntax: #export (null)
- {#;doc (doc "Null object pointer."
+ {#;doc (doc "Null object reference."
(null))}
(wrap (list (` (;_lux_proc ["jvm" "null"] [])))))
(def: #export (null? obj)
- {#;doc (doc "Test for null object pointer."
+ {#;doc (doc "Test for null object reference."
(null? (null))
"=>"
true
@@ -1467,8 +1467,8 @@
(;_lux_proc ["jvm" "null?"] [obj]))
(syntax: #export (??? expr)
- {#;doc (doc "Takes a (potentially null) object pointer and creates a (Maybe ObjectType) for it."
- (??? (: java.lang.Thread (null)))
+ {#;doc (doc "Takes a (potentially null) ObjectType reference and creates a (Maybe ObjectType) for it."
+ (??? (: java.lang.String (null)))
"=>"
#;None
(??? "YOLO")
@@ -1481,9 +1481,8 @@
(#;Some (~ g!temp)))))))))
(syntax: #export (!!! expr)
- {#;doc (doc "Takes a (Maybe ObjectType) and return a ObjectType."
- "A #;None would gets translated in to a (null)."
- "Takes a (potentially null) object pointer and creates a (Maybe ObjectType) for it."
+ {#;doc (doc "Takes a (Maybe ObjectType) and returns a ObjectType."
+ "A #;None would get translated into a (null)."
(!!! (??? (: java.lang.Thread (null))))
"=>"
(null)
@@ -1653,7 +1652,7 @@
(` (let [(~ g!temp) (~ return-term)]
(if (null? (:! (host (~' java.lang.Object))
(~ g!temp)))
- (error! "Can't produce null pointers from method calls.")
+ (error! "Can't produce null references from method calls.")
(~ g!temp)))))])
_
@@ -2139,7 +2138,7 @@
(syntax: #export (class-for [#let [imports (class-imports *compiler*)]]
[type (generic-type^ imports (list))])
- {#;doc (doc "Loads the class a a Class object."
+ {#;doc (doc "Loads the class as a java.lang.Class object."
(class-for java.lang.String))}
(wrap (list (` (;_lux_proc ["jvm" "load-class"] [(~ (ast;text (simple-class$ (list) type)))])))))
diff --git a/stdlib/source/lux/math/simple.lux b/stdlib/source/lux/math/simple.lux
index 4fa69a8a1..9de6a54b0 100644
--- a/stdlib/source/lux/math/simple.lux
+++ b/stdlib/source/lux/math/simple.lux
@@ -53,14 +53,14 @@
s;symbol
s;any
s;end)])
- {#;doc (doc (= (<name> +1 +2)
- (<nat-op> +1 +2))
- (= (<name> 1 2)
- (<int-op> 1 2))
- (= (<name> 1.0 2.0)
- (<real-op> 1.0 2.0))
- (= (<name> .1 .2)
- (<frac-op> .1 .2)))}
+ ## {#;doc (doc (= (<name> +1 +2)
+ ## (<nat-op> +1 +2))
+ ## (= (<name> 1 2)
+ ## (<int-op> 1 2))
+ ## (= (<name> 1.0 2.0)
+ ## (<real-op> 1.0 2.0))
+ ## (= (<name> .1 .2)
+ ## (<frac-op> .1 .2)))}
(case args
(+0 [x y])
(do @
@@ -150,14 +150,14 @@
s;symbol
s;any
s;end)])
- {#;doc (doc (= (<name> +1 +2)
- (<nat-op> +1 +2))
- (= (<name> 1 2)
- (<int-op> 1 2))
- (= (<name> 1.0 2.0)
- (<real-op> 1.0 2.0))
- (= (<name> .1 .2)
- (<frac-op> .1 .2)))}
+ ## {#;doc (doc (= (<name> +1 +2)
+ ## (<nat-op> +1 +2))
+ ## (= (<name> 1 2)
+ ## (<int-op> 1 2))
+ ## (= (<name> 1.0 2.0)
+ ## (<real-op> 1.0 2.0))
+ ## (= (<name> .1 .2)
+ ## (<frac-op> .1 .2)))}
(case args
(+0 [x y])
(do @
@@ -247,10 +247,10 @@
s;symbol
s;any
s;end)])
- {#;doc (doc (= (<name> +1 +2)
- (<nat-op> +1 +2))
- (= (<name> 1 2)
- (<int-op> 1 2)))}
+ ## {#;doc (doc (= (<name> +1 +2)
+ ## (<nat-op> +1 +2))
+ ## (= (<name> 1 2)
+ ## (<int-op> 1 2)))}
(case args
(+0 [x y])
(do @
@@ -315,10 +315,10 @@
s;symbol
s;any
s;end)])
- {#;doc (doc (= (<name> +1 +2)
- (<nat-op> +1 +2))
- (= (<name> 1 2)
- (<int-op> 1 2)))}
+ ## {#;doc (doc (= (<name> +1 +2)
+ ## (<nat-op> +1 +2))
+ ## (= (<name> 1 2)
+ ## (<int-op> 1 2)))}
(case args
(+0 x)
(do @
@@ -360,10 +360,10 @@
s;symbol
s;any
s;end)])
- {#;doc (doc (= (<name> +1 +2)
- (<nat-op> +1 +2))
- (= (<name> 1 2)
- (<int-op> 1 2)))}
+ ## {#;doc (doc (= (<name> +1 +2)
+ ## (<nat-op> +1 +2))
+ ## (= (<name> 1 2)
+ ## (<int-op> 1 2)))}
(case args
(+0 x)
(do @
diff --git a/stdlib/source/lux/pipe.lux b/stdlib/source/lux/pipe.lux
index c0b99bd5b..12337e3ef 100644
--- a/stdlib/source/lux/pipe.lux
+++ b/stdlib/source/lux/pipe.lux
@@ -34,12 +34,13 @@
(syntax: #export (@> [name (s;default "@" s;local-symbol)]
[body body^]
prev)
- {#;doc (doc "Gives the name '@' to the piped-argument, within the given expression."
+ {#;doc (doc "Gives a name to the piped-argument, within the given expression."
+ "If given no name, defaults to '@'."
(|> 5
- (@> [(i.+ @ @)]))
+ (@> X [(i.+ X X)]))
(|> 5
- (@> X [(i.+ X X)])))}
+ (@> [(i.+ @ @)])))}
(wrap (list (fold (lambda [next prev]
(` (let% [(~ (ast;symbol ["" name])) (~ prev)]
(~ next))))