aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lux-mode/lux-mode.el127
-rw-r--r--luxc/src/lux/lexer.clj2
-rw-r--r--luxc/src/lux/parser.clj2
-rw-r--r--stdlib/source/lux.lux262
-rw-r--r--stdlib/source/lux/concurrency/actor.lux12
-rw-r--r--stdlib/source/lux/concurrency/promise.lux8
-rw-r--r--stdlib/source/lux/concurrency/semaphore.lux12
-rw-r--r--stdlib/source/lux/concurrency/stm.lux4
-rw-r--r--stdlib/source/lux/control/contract.lux2
-rw-r--r--stdlib/source/lux/control/equivalence.lux2
-rw-r--r--stdlib/source/lux/control/interval.lux4
-rw-r--r--stdlib/source/lux/control/parser.lux2
-rw-r--r--stdlib/source/lux/control/predicate.lux4
-rw-r--r--stdlib/source/lux/data/bit.lux18
-rw-r--r--stdlib/source/lux/data/collection/array.lux6
-rw-r--r--stdlib/source/lux/data/collection/bits.lux4
-rw-r--r--stdlib/source/lux/data/collection/dictionary.lux10
-rw-r--r--stdlib/source/lux/data/collection/dictionary/ordered.lux22
-rw-r--r--stdlib/source/lux/data/collection/dictionary/plist.lux4
-rw-r--r--stdlib/source/lux/data/collection/list.lux16
-rw-r--r--stdlib/source/lux/data/collection/queue/priority.lux2
-rw-r--r--stdlib/source/lux/data/collection/row.lux6
-rw-r--r--stdlib/source/lux/data/collection/sequence.lux4
-rw-r--r--stdlib/source/lux/data/collection/tree/finger.lux14
-rw-r--r--stdlib/source/lux/data/collection/tree/rose/zipper.lux4
-rw-r--r--stdlib/source/lux/data/format/binary.lux4
-rw-r--r--stdlib/source/lux/data/format/json.lux20
-rw-r--r--stdlib/source/lux/data/format/xml.lux2
-rw-r--r--stdlib/source/lux/data/maybe.lux4
-rw-r--r--stdlib/source/lux/data/number.lux18
-rw-r--r--stdlib/source/lux/data/text.lux18
-rw-r--r--stdlib/source/lux/data/text/lexer.lux4
-rw-r--r--stdlib/source/lux/data/text/regex.lux8
-rw-r--r--stdlib/source/lux/host.jvm.lux26
-rw-r--r--stdlib/source/lux/language/compiler/analysis.lux4
-rw-r--r--stdlib/source/lux/language/compiler/analysis/case/coverage.lux24
-rw-r--r--stdlib/source/lux/language/compiler/analysis/module.lux10
-rw-r--r--stdlib/source/lux/language/compiler/extension/analysis/host.jvm.lux12
-rw-r--r--stdlib/source/lux/language/compiler/meta/cache.lux6
-rw-r--r--stdlib/source/lux/language/compiler/synthesis.lux8
-rw-r--r--stdlib/source/lux/language/compiler/synthesis/case.lux8
-rw-r--r--stdlib/source/lux/language/compiler/synthesis/expression.lux2
-rw-r--r--stdlib/source/lux/language/compiler/synthesis/function.lux4
-rw-r--r--stdlib/source/lux/language/compiler/synthesis/loop.lux8
-rw-r--r--stdlib/source/lux/language/compiler/translation/scheme/runtime.jvm.lux12
-rw-r--r--stdlib/source/lux/language/host/scheme.lux4
-rw-r--r--stdlib/source/lux/language/reference.lux6
-rw-r--r--stdlib/source/lux/language/syntax.lux14
-rw-r--r--stdlib/source/lux/language/type.lux12
-rw-r--r--stdlib/source/lux/language/type/check.lux26
-rw-r--r--stdlib/source/lux/macro.lux18
-rw-r--r--stdlib/source/lux/macro/code.lux2
-rw-r--r--stdlib/source/lux/macro/poly.lux2
-rw-r--r--stdlib/source/lux/macro/poly/equivalence.lux4
-rw-r--r--stdlib/source/lux/macro/syntax.lux17
-rw-r--r--stdlib/source/lux/macro/syntax/common/reader.lux10
-rw-r--r--stdlib/source/lux/math/logic/continuous.lux36
-rw-r--r--stdlib/source/lux/math/logic/fuzzy.lux30
-rw-r--r--stdlib/source/lux/test.lux16
-rw-r--r--stdlib/source/lux/time/date.lux8
-rw-r--r--stdlib/source/lux/time/duration.lux3
-rw-r--r--stdlib/source/lux/type/abstract.lux2
-rw-r--r--stdlib/source/lux/type/implicit.lux4
-rw-r--r--stdlib/source/lux/world/file.lux10
-rw-r--r--stdlib/test/test/lux.lux18
-rw-r--r--stdlib/test/test/lux/cli.lux14
-rw-r--r--stdlib/test/test/lux/concurrency/actor.lux2
-rw-r--r--stdlib/test/test/lux/concurrency/promise.lux52
-rw-r--r--stdlib/test/test/lux/concurrency/semaphore.lux8
-rw-r--r--stdlib/test/test/lux/control/equivalence.lux2
-rw-r--r--stdlib/test/test/lux/control/parser.lux34
-rw-r--r--stdlib/test/test/lux/control/reader.lux4
-rw-r--r--stdlib/test/test/lux/control/region.lux4
-rw-r--r--stdlib/test/test/lux/control/state.lux2
-rw-r--r--stdlib/test/test/lux/control/writer.lux4
-rw-r--r--stdlib/test/test/lux/data/bit.lux2
-rw-r--r--stdlib/test/test/lux/data/collection/array.lux14
-rw-r--r--stdlib/test/test/lux/data/collection/dictionary.lux16
-rw-r--r--stdlib/test/test/lux/data/collection/dictionary/ordered.lux10
-rw-r--r--stdlib/test/test/lux/data/collection/list.lux4
-rw-r--r--stdlib/test/test/lux/data/collection/queue.lux2
-rw-r--r--stdlib/test/test/lux/data/collection/set/ordered.lux8
-rw-r--r--stdlib/test/test/lux/data/collection/tree/rose/zipper.lux16
-rw-r--r--stdlib/test/test/lux/data/error.lux18
-rw-r--r--stdlib/test/test/lux/data/format/json.lux6
-rw-r--r--stdlib/test/test/lux/data/format/xml.lux12
-rw-r--r--stdlib/test/test/lux/data/ident.lux4
-rw-r--r--stdlib/test/test/lux/data/maybe.lux4
-rw-r--r--stdlib/test/test/lux/data/number.lux32
-rw-r--r--stdlib/test/test/lux/data/number/ratio.lux2
-rw-r--r--stdlib/test/test/lux/data/sum.lux4
-rw-r--r--stdlib/test/test/lux/data/text.lux6
-rw-r--r--stdlib/test/test/lux/data/text/format.lux4
-rw-r--r--stdlib/test/test/lux/data/text/lexer.lux28
-rw-r--r--stdlib/test/test/lux/data/text/regex.lux12
-rw-r--r--stdlib/test/test/lux/host.jvm.lux12
-rw-r--r--stdlib/test/test/lux/language/compiler/analysis/case.lux10
-rw-r--r--stdlib/test/test/lux/language/compiler/analysis/function.lux2
-rw-r--r--stdlib/test/test/lux/language/compiler/analysis/primitive.lux4
-rw-r--r--stdlib/test/test/lux/language/compiler/analysis/procedure/common.lux16
-rw-r--r--stdlib/test/test/lux/language/compiler/analysis/reference.lux16
-rw-r--r--stdlib/test/test/lux/language/compiler/analysis/structure.lux20
-rw-r--r--stdlib/test/test/lux/language/compiler/synthesis/case.lux10
-rw-r--r--stdlib/test/test/lux/language/compiler/synthesis/function.lux10
-rw-r--r--stdlib/test/test/lux/language/compiler/synthesis/primitive.lux4
-rw-r--r--stdlib/test/test/lux/language/compiler/synthesis/structure.lux4
-rw-r--r--stdlib/test/test/lux/language/syntax.lux26
-rw-r--r--stdlib/test/test/lux/language/type.lux16
-rw-r--r--stdlib/test/test/lux/language/type/check.lux10
-rw-r--r--stdlib/test/test/lux/macro/code.lux24
-rw-r--r--stdlib/test/test/lux/macro/poly/functor.lux2
-rw-r--r--stdlib/test/test/lux/macro/syntax.lux52
-rw-r--r--stdlib/test/test/lux/math/logic/continuous.lux10
-rw-r--r--stdlib/test/test/lux/math/logic/fuzzy.lux34
-rw-r--r--stdlib/test/test/lux/math/modular.lux10
-rw-r--r--stdlib/test/test/lux/time/date.lux2
-rw-r--r--stdlib/test/test/lux/time/duration.lux2
-rw-r--r--stdlib/test/test/lux/time/instant.lux2
-rw-r--r--stdlib/test/test/lux/type/object/protocol.lux2
-rw-r--r--stdlib/test/test/lux/world/blob.lux4
-rw-r--r--stdlib/test/test/lux/world/file.lux22
-rw-r--r--stdlib/test/test/lux/world/net/tcp.lux2
-rw-r--r--stdlib/test/test/lux/world/net/udp.lux2
123 files changed, 840 insertions, 817 deletions
diff --git a/lux-mode/lux-mode.el b/lux-mode/lux-mode.el
index 50313365f..4a7c05268 100644
--- a/lux-mode/lux-mode.el
+++ b/lux-mode/lux-mode.el
@@ -209,64 +209,75 @@ Called by `imenu--generic-function'."
(goto-char start)))))
(defconst lux-font-lock-keywords
- (eval-when-compile
- `(; Special forms
- (,(concat
- "("
- (regexp-opt
- '(".module:"
- "def:" "type:" "macro:" "syntax:" "program:"
- "signature:" "structure:" "context:" "template:"
- "class:" "interface:"
- "poly:" "derived:"
- "actor:" "message:" "on:"
- "exception:"
- "word:"
- "abstract:"
- "unit:" "scale:"
- "import:"
- ":" ":coerce" ":assume" ":of" ":cast" ":share" ":abstraction" ":representation" "^:representation" ":~"
- "function" "case" "undefined" "ident-for" "static"
- "and" "or"
- "char"
- "exec" "let" "if" "cond" "do" "be" "open:" "loop" "recur" "comment" "for"
- "list" "list&" "io" "row" "tree"
- "get@" "set@" "update@" "|>" "|>>" "<|" "<<|" "_$" "$_" "~" "~+" "~!" "~'" "::" ":::"
- "|" "&" "->" "All" "Ex" "Rec" "primitive" "$" "type"
- "^" "^or" "^slots" "^multi" "^@" "^template" "^open" "^|>" "^code" "^sequence&" "^regex"
- "bin" "oct" "hex"
- "pre" "post"
- "structure" "derive"
- "infix"
- "format"
- "`" "`'" "'" "do-template" "with-expansions" "``" "~~"
- "object" "do-to" "synchronized" "class-for"
- "doc"
- "regex"
- ) t)
- "\\>")
- 1 font-lock-builtin-face)
- ; Bit literals
- (,(concat
- "\\<"
- (regexp-opt
- '("true" "false") t)
- "\\>")
- 0 font-lock-constant-face)
- ; Nat literals
- ("\\<\\+\\(0\\|[0-9][0-9_]*\\)\\>" 0 font-lock-constant-face)
- ; Int|Frac literals
- ("\\<-?\\(0\\|[0-9][0-9_]*\\)\\(\\.[0-9_]+\\)?\\>" 0 font-lock-constant-face)
- ("\\<-?\\(0\\|[--9][0-9_]*\\)\\(\\.[0-9_]+\\(\\(e\\|E\\)\\(-\\|\\+\\)?[0-9][0-9_]*\\)?\\)?\\>" 0 font-lock-constant-face)
- ; Frac "ratio" literals
- ("\\<-?[0-9][0-9_]*/[0-9][0-9_]*\\>" 0 font-lock-constant-face)
- ; Rev literals
- ("\\<\\.[0-9][0-9_]*\\>" 0 font-lock-constant-face)
- ; Tags
- ("#\\.[a-zA-Z0-9-\\+_=!@\\$%\\^&\\*<>\.,/\\\\\\|':~\\?]+" 0 font-lock-type-face)
- ("#\\.\\.[a-zA-Z0-9-\\+_=!@\\$%\\^&\\*<>\.,/\\\\\\|':~\\?]+" 0 font-lock-type-face)
- ("#[a-zA-Z0-9-\\+_=!@\\$%\\^&\\*<>;,/\\\\\\|':~\\?]+\\(\\.[a-zA-Z0-9-\\+_=!@\\$%\\^&\\*<>;,/\\\\\\|':~\\?]+\\)?" 0 font-lock-type-face)
- ))
+ (let ((digits "[0-9][0-9_]*")
+ (digits+ "[0-9_]+")
+ (symbol_h "[a-zA-Z\\-\\+_=!@\\$%\\^&\\*<>;,/\\\\\\|':~\\?]")
+ (symbol_t "[a-zA-Z0-9\\-\\+_=!@\\$%\\^&\\*<>;,/\\\\\\|':~\\?]"))
+ (let ((symbol (concat symbol_h symbol_t "*")))
+ (eval-when-compile
+ `(;; Special forms
+ (,(concat
+ "("
+ (regexp-opt
+ '(".module:"
+ "def:" "type:" "macro:" "syntax:" "program:"
+ "signature:" "structure:" "context:" "template:"
+ "class:" "interface:"
+ "poly:" "derived:"
+ "actor:" "message:" "on:"
+ "exception:"
+ "word:"
+ "abstract:"
+ "unit:" "scale:"
+ "import:"
+ ":" ":coerce" ":assume" ":of" ":cast" ":share" ":abstraction" ":representation" "^:representation" ":~"
+ "function" "case" "undefined" "ident-for" "static"
+ "and" "or"
+ "char"
+ "exec" "let" "if" "cond" "do" "be" "open:" "loop" "recur" "comment" "for"
+ "list" "list&" "io" "row" "tree"
+ "get@" "set@" "update@" "|>" "|>>" "<|" "<<|" "_$" "$_" "~" "~+" "~!" "~'" "::" ":::"
+ "|" "&" "->" "All" "Ex" "Rec" "primitive" "$" "type"
+ "^" "^or" "^slots" "^multi" "^@" "^template" "^open" "^|>" "^code" "^sequence&" "^regex"
+ "bin" "oct" "hex"
+ "pre" "post"
+ "structure" "derive"
+ "infix"
+ "format"
+ "`" "`'" "'" "do-template" "with-expansions" "``" "~~"
+ "object" "do-to" "synchronized" "class-for"
+ "doc"
+ "regex"
+ ) t)
+ "\\>")
+ 1 font-lock-builtin-face)
+ ;; Bit literals
+ (,(concat
+ "\\<"
+ (regexp-opt
+ '("#0" "#1") t)
+ "\\>")
+ 0 font-lock-constant-face)
+ ;; Nat literals
+ (,(concat "\\<\\+" digits "\\>")
+ 0 font-lock-constant-face)
+ ;; Int literals && Frac literals
+ (,(concat "\\<-?" digits "\\(\\." digits+ "\\(\\(e\\|E\\)\\(-\\|\\+\\)?" digits "\\)?\\)?\\>")
+ 0 font-lock-constant-face)
+ ;; Frac "ratio" literals
+ (,(concat "\\<-?" digits "/" digits "\\>")
+ 0 font-lock-constant-face)
+ ;; Rev literals
+ (,(concat "\\<\\." digits "\\>")
+ 0 font-lock-constant-face)
+ ;; Tags
+ (,(concat "#\\." symbol)
+ 0 font-lock-type-face)
+ (,(concat "#\\.\\." symbol)
+ 0 font-lock-type-face)
+ (,(concat "#" symbol "\\(\\." symbol "\\)?")
+ 0 font-lock-type-face)
+ ))))
"Default expressions to highlight in Lux mode.")
(defun lux-font-lock-syntactic-face-function (state)
diff --git a/luxc/src/lux/lexer.clj b/luxc/src/lux/lexer.clj
index be8f8b69a..aac212e26 100644
--- a/luxc/src/lux/lexer.clj
+++ b/luxc/src/lux/lexer.clj
@@ -130,7 +130,7 @@
(|do [[meta _ token] (&reader/read-regex <regex>)]
(return (&/T [meta (<tag> token)]))))
- lex-bit $Bit #"^(true|false)"
+ lex-bit $Bit #"^(#0|#1)"
)
(do-template [<name> <tag> <regex>]
diff --git a/luxc/src/lux/parser.clj b/luxc/src/lux/parser.clj
index 92a23da81..7a58059b0 100644
--- a/luxc/src/lux/parser.clj
+++ b/luxc/src/lux/parser.clj
@@ -65,7 +65,7 @@
(return &/$Nil)
(&lexer/$Bit ?value)
- (return (&/|list (&/T [meta (&/$Bit (Boolean/parseBoolean ?value))])))
+ (return (&/|list (&/T [meta (&/$Bit (.equals ^String ?value "#1"))])))
(&lexer/$Nat ?value)
(return (&/|list (&/T [meta (&/$Nat (Long/parseUnsignedLong ?value))])))
diff --git a/stdlib/source/lux.lux b/stdlib/source/lux.lux
index 2f2649758..226545576 100644
--- a/stdlib/source/lux.lux
+++ b/stdlib/source/lux.lux
@@ -1,4 +1,3 @@
-## Basic types
("lux def" dummy-cursor
("lux check" (+2 (+0 "#Text" (+0))
(+2 (+0 "#I64" (+1 (+0 "#Nat" (+0)) (+0)))
@@ -6,7 +5,7 @@
["" +0 +0])
[["" +0 +0]
(+10 (+1 [[["" +0 +0] (+7 ["lux" "export?"])]
- [["" +0 +0] (+0 true)]]
+ [["" +0 +0] (+0 #1)]]
(+0)))])
## (type: Any
@@ -16,9 +15,9 @@
(+8 (+0) (+4 +1)))
[dummy-cursor
(+10 (+1 [[dummy-cursor (+7 ["lux" "type?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(+1 [[dummy-cursor (+7 ["lux" "export?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(+1 [[dummy-cursor (+7 ["lux" "doc"])]
[dummy-cursor (+5 "The type of things whose type does not matter.
@@ -32,9 +31,9 @@
(+7 (+0) (+4 +1)))
[dummy-cursor
(+10 (+1 [[dummy-cursor (+7 ["lux" "type?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(+1 [[dummy-cursor (+7 ["lux" "export?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(+1 [[dummy-cursor (+7 ["lux" "doc"])]
[dummy-cursor (+5 "The type of things whose type is unknown or undefined.
@@ -54,9 +53,9 @@
(+9 (+4 +1) (+4 +0))))))
[dummy-cursor
(+10 (+1 [[dummy-cursor (+7 ["lux" "type?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(+1 [[dummy-cursor (+7 ["lux" "export?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(+1 [[dummy-cursor (+7 ["lux" "tags"])]
[dummy-cursor (+9 (+1 [dummy-cursor (+5 "Nil")] (+1 [dummy-cursor (+5 "Cons")] (+0))))]]
(+1 [[dummy-cursor (+7 ["lux" "type-args"])]
@@ -70,9 +69,9 @@
(+0 "#Bit" #Nil))
[dummy-cursor
(+10 (#Cons [[dummy-cursor (+7 ["lux" "type?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "export?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "doc"])]
[dummy-cursor (+5 "Your standard, run-of-the-mill boolean values (as bits).")]]
#Nil))))])
@@ -83,9 +82,9 @@
(+0 "#I64" (#Cons (+4 +1) #Nil))))
[dummy-cursor
(+10 (#Cons [[dummy-cursor (+7 ["lux" "type?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "export?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "doc"])]
[dummy-cursor (+5 "64-bit integers without any semantics.")]]
#Nil))))])
@@ -95,9 +94,9 @@
(+0 "#I64" (#Cons (+0 "#Nat" #Nil) #Nil)))
[dummy-cursor
(+10 (#Cons [[dummy-cursor (+7 ["lux" "type?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "export?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "doc"])]
[dummy-cursor (+5 "Natural numbers (unsigned integers).
@@ -109,9 +108,9 @@
(+0 "#I64" (#Cons (+0 "#Int" #Nil) #Nil)))
[dummy-cursor
(+10 (#Cons [[dummy-cursor (+7 ["lux" "type?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "export?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "doc"])]
[dummy-cursor (+5 "Your standard, run-of-the-mill integer numbers.")]]
#Nil))))])
@@ -121,9 +120,9 @@
(+0 "#I64" (#Cons (+0 "#Rev" #Nil) #Nil)))
[dummy-cursor
(+10 (#Cons [[dummy-cursor (+7 ["lux" "type?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "export?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "doc"])]
[dummy-cursor (+5 "Fractional numbers that live in the interval [0,1).
@@ -135,9 +134,9 @@
(+0 "#Frac" #Nil))
[dummy-cursor
(+10 (#Cons [[dummy-cursor (+7 ["lux" "type?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "export?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "doc"])]
[dummy-cursor (+5 "Your standard, run-of-the-mill floating-point (fractional) numbers.")]]
#Nil))))])
@@ -147,9 +146,9 @@
(+0 "#Text" #Nil))
[dummy-cursor
(+10 (#Cons [[dummy-cursor (+7 ["lux" "type?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "export?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "doc"])]
[dummy-cursor (+5 "Your standard, run-of-the-mill string values.")]]
#Nil))))])
@@ -159,9 +158,9 @@
(+2 Text Text))
[dummy-cursor
(+10 (#Cons [[dummy-cursor (+7 ["lux" "type?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "export?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "doc"])]
[dummy-cursor (+5 "An identifier.
@@ -180,9 +179,9 @@
(+4 +1))))
[dummy-cursor
(+10 (#Cons [[dummy-cursor (+7 ["lux" "type?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "export?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "tags"])]
[dummy-cursor (+9 (#Cons [dummy-cursor (+5 "None")] (#Cons [dummy-cursor (+5 "Some")] #Nil)))]]
(#Cons [[dummy-cursor (+7 ["lux" "type-args"])]
@@ -238,9 +237,9 @@
("lux check type" (+9 (+4 +1) (+4 +0)))))
[dummy-cursor
(+10 (#Cons [[dummy-cursor (+7 ["lux" "type?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "export?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "tags"])]
[dummy-cursor (+9 (#Cons [dummy-cursor (+5 "Primitive")]
(#Cons [dummy-cursor (+5 "Sum")]
@@ -257,7 +256,7 @@
(#Cons [[dummy-cursor (+7 ["lux" "doc"])]
[dummy-cursor (+5 "This type represents the data-structures that are used to specify types themselves.")]]
(#Cons [[dummy-cursor (+7 ["lux" "type-rec?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
#Nil))))))])
## (type: Cursor
@@ -276,9 +275,9 @@
(#Cons [[dummy-cursor (+7 ["lux" "doc"])]
[dummy-cursor (+5 "Cursors are for specifying the location of Code nodes in Lux files during compilation.")]]
(#Cons [[dummy-cursor (+7 ["lux" "type?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "export?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
#Nil)))))])
## (type: (Ann m v)
@@ -300,9 +299,9 @@
(#Cons [[dummy-cursor (+7 ["lux" "type-args"])]
[dummy-cursor (+9 (#Cons [dummy-cursor (+5 "m")] (#Cons [dummy-cursor (+5 "v")] #Nil)))]]
(#Cons [[dummy-cursor (+7 ["lux" "type?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "export?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
#Nil))))))])
## (type: (Code' w)
@@ -367,9 +366,9 @@
(#Cons [[dummy-cursor (+7 ["lux" "type-args"])]
[dummy-cursor (+9 (#Cons [dummy-cursor (+5 "w")] #Nil))]]
(#Cons [[dummy-cursor (+7 ["lux" "type?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "export?"])]
- [dummy-cursor (+0 true)]]
+ [dummy-cursor (+0 #1)]]
#Nil)))))])
## (type: Code
@@ -383,9 +382,9 @@
(#Record (#Cons [[dummy-cursor (#Tag ["lux" "doc"])]
[dummy-cursor (#Text "The type of Code nodes for Lux syntax.")]]
(#Cons [[dummy-cursor (#Tag ["lux" "type?"])]
- [dummy-cursor (#Bit true)]]
+ [dummy-cursor (#Bit #1)]]
(#Cons [[dummy-cursor (#Tag ["lux" "export?"])]
- [dummy-cursor (#Bit true)]]
+ [dummy-cursor (#Bit #1)]]
#Nil))))])
("lux def" _ann
@@ -459,16 +458,16 @@
("lux def" default-def-meta-exported
("lux check" (#Apply (#Product Code Code) List)
(#Cons [(tag$ ["lux" "type?"])
- (bit$ true)]
+ (bit$ #1)]
(#Cons [(tag$ ["lux" "export?"])
- (bit$ true)]
+ (bit$ #1)]
#Nil)))
(record$ #Nil))
("lux def" default-def-meta-unexported
("lux check" (#Apply (#Product Code Code) List)
(#Cons [(tag$ ["lux" "type?"])
- (bit$ true)]
+ (bit$ #1)]
#Nil))
(record$ #Nil))
@@ -808,7 +807,7 @@
("lux def" default-macro-meta
("lux check" (#Apply (#Product Code Code) List)
(#Cons [(tag$ ["lux" "macro?"])
- (bit$ true)]
+ (bit$ #1)]
#Nil))
(record$ #Nil))
@@ -878,13 +877,13 @@
("lux check" (#Function Text Code)
([_ tag]
(tuple$ (#Cons [(meta-code ["lux" "Tag"] (tuple$ (#Cons (text$ "lux") (#Cons (text$ tag) #Nil))))
- (#Cons [(meta-code ["lux" "Bit"] (bit$ true))
+ (#Cons [(meta-code ["lux" "Bit"] (bit$ #1))
#Nil])]))))
(record$ #Nil))
("lux def" export-meta
("lux check" (#Product Code Code)
- [(tag$ ["lux" "export?"]) (bit$ true)])
+ [(tag$ ["lux" "export?"]) (bit$ #1)])
(record$ #Nil))
("lux def" export?-meta
@@ -1090,10 +1089,10 @@
#None
(#Cons [k v] env')
- ({true
+ ({#1
(#Some v)
- false
+ #0
(get-rep key env')}
(text/= k key))}
env))
@@ -1246,13 +1245,13 @@
(update-parameters body')) #Nil))))))
body
names)
- (return (#Cons ({[true _]
+ (return (#Cons ({[#1 _]
body'
[_ #Nil]
body'
- [false _]
+ [#0 _]
(replace-syntax (#Cons [self-name (make-parameter (n/* +2 (n/- +1 (list/size names))))]
#Nil)
body')}
@@ -1293,13 +1292,13 @@
(update-parameters body')) #Nil))))))
body
names)
- (return (#Cons ({[true _]
+ (return (#Cons ({[#1 _]
body'
[_ #Nil]
body'
- [false _]
+ [#0 _]
(replace-syntax (#Cons [self-name (make-parameter (n/* +2 (n/- +1 (list/size names))))]
#Nil)
body')}
@@ -1508,11 +1507,11 @@
(All [a]
(-> (-> a Bit) ($' List a) Bit))
({#Nil
- false
+ #0
(#Cons x xs')
- ({true true
- false (any? p xs')}
+ ({#1 #1
+ #0 (any? p xs')}
(p x))}
xs))
@@ -1718,14 +1717,14 @@
(list [(tag$ ["lux" "doc"])
(text$ "Picks which expression to evaluate based on a bit test value.
- (if true
+ (if #1
\"Oh, yeah!\"
\"Aw hell naw!\")
=> \"Oh, yeah!\"")])
({(#Cons test (#Cons then (#Cons else #Nil)))
- (return (list (form$ (list (record$ (list [(bit$ true) then]
- [(bit$ false) else]))
+ (return (list (form$ (list (record$ (list [(bit$ #1) then]
+ [(bit$ #0) else]))
test))))
_
@@ -1786,7 +1785,7 @@
({[_ (#Record def-meta)]
({(#Cons [key value] def-meta')
({[_ (#Tag [prefix' name'])]
- ({[true true]
+ ({[#1 #1]
(#Some value)
_
@@ -1834,7 +1833,7 @@
(def:''' (splice replace? untemplate elems)
#Nil
(-> Bit (-> Code ($' Meta Code)) ($' List Code) ($' Meta Code))
- ({true
+ ({#1
({#Nil
(return (tag$ ["lux" "Nil"]))
@@ -1865,7 +1864,7 @@
lastO
inits))}
(list/reverse elems))
- false
+ #0
(do Monad<Meta>
[=elems (monad/map Monad<Meta> untemplate elems)]
(wrap (untemplate-list =elems)))}
@@ -1897,10 +1896,10 @@
[_ [_ (#Text value)]]
(return (wrap-meta (form$ (list (tag$ ["lux" "Text"]) (text$ value)))))
- [false [_ (#Tag [module name])]]
+ [#0 [_ (#Tag [module name])]]
(return (wrap-meta (form$ (list (tag$ ["lux" "Tag"]) (tuple$ (list (text$ module) (text$ name)))))))
- [true [_ (#Tag [module name])]]
+ [#1 [_ (#Tag [module name])]]
(let' [module' ({""
subst
@@ -1909,7 +1908,7 @@
module)]
(return (wrap-meta (form$ (list (tag$ ["lux" "Tag"]) (tuple$ (list (text$ module') (text$ name))))))))
- [true [_ (#Symbol [module name])]]
+ [#1 [_ (#Symbol [module name])]]
(do Monad<Meta>
[real-name ({""
(if (text/= "" subst)
@@ -1922,13 +1921,13 @@
#let [[module name] real-name]]
(return (wrap-meta (form$ (list (tag$ ["lux" "Symbol"]) (tuple$ (list (text$ module) (text$ name))))))))
- [false [_ (#Symbol [module name])]]
+ [#0 [_ (#Symbol [module name])]]
(return (wrap-meta (form$ (list (tag$ ["lux" "Symbol"]) (tuple$ (list (text$ module) (text$ name)))))))
- [true [_ (#Form (#Cons [[_ (#Symbol ["" "~"])] (#Cons [unquoted #Nil])]))]]
+ [#1 [_ (#Form (#Cons [[_ (#Symbol ["" "~"])] (#Cons [unquoted #Nil])]))]]
(return unquoted)
- [true [_ (#Form (#Cons [[_ (#Symbol ["" "~!"])] (#Cons [dependent #Nil])]))]]
+ [#1 [_ (#Form (#Cons [[_ (#Symbol ["" "~!"])] (#Cons [dependent #Nil])]))]]
(do Monad<Meta>
[independent (untemplate replace? subst dependent)]
(wrap (wrap-meta (form$ (list (tag$ ["lux" "Form"])
@@ -1936,8 +1935,8 @@
(untemplate-text subst)
independent)))))))
- [true [_ (#Form (#Cons [[_ (#Symbol ["" "~'"])] (#Cons [keep-quoted #Nil])]))]]
- (untemplate false subst keep-quoted)
+ [#1 [_ (#Form (#Cons [[_ (#Symbol ["" "~'"])] (#Cons [keep-quoted #Nil])]))]]
+ (untemplate #0 subst keep-quoted)
[_ [meta (#Form elems)]]
(do Monad<Meta>
@@ -2006,7 +2005,7 @@
({(#Cons template #Nil)
(do Monad<Meta>
[current-module current-module-name
- =template (untemplate true current-module template)]
+ =template (untemplate #1 current-module template)]
(wrap (list (form$ (list (text$ "lux check")
(symbol$ ["lux" "Code"])
=template)))))
@@ -2023,7 +2022,7 @@
(~ body))))")])
({(#Cons template #Nil)
(do Monad<Meta>
- [=template (untemplate true "" template)]
+ [=template (untemplate #1 "" template)]
(wrap (list (form$ (list (text$ "lux check") (symbol$ ["lux" "Code"]) =template)))))
_
@@ -2036,7 +2035,7 @@
(' \"YOLO\")")])
({(#Cons template #Nil)
(do Monad<Meta>
- [=template (untemplate false "" template)]
+ [=template (untemplate #0 "" template)]
(wrap (list (form$ (list (text$ "lux check") (symbol$ ["lux" "Code"]) =template)))))
_
@@ -2189,7 +2188,7 @@
#Nil
(All [a]
(-> (-> a Bit) ($' List a) Bit))
- (list/fold (function' [_2 _1] (if _1 (p _2) false)) true xs))
+ (list/fold (function' [_2 _1] (if _1 (p _2) #0)) #1 xs))
(def:''' #export (n/= test subject)
(list [(tag$ ["lux" "doc"])
@@ -2221,19 +2220,19 @@
(let' [testH (high-bits test)
subjectH (high-bits subject)]
(if ("lux int <" subjectH testH)
- true
+ #1
(if ("lux i64 =" testH subjectH)
("lux int <"
(low-bits subject)
(low-bits test))
- false))))
+ #0))))
(def:''' #export (n/<= test subject)
(list [(tag$ ["lux" "doc"])
(text$ "Nat(ural) less-than-equal.")])
(-> Nat Nat Bit)
(if (n/< test subject)
- true
+ #1
("lux i64 =" test subject)))
(def:''' #export (n/> test subject)
@@ -2247,7 +2246,7 @@
(text$ "Nat(ural) greater-than-equal.")])
(-> Nat Nat Bit)
(if (n/< subject test)
- true
+ #1
("lux i64 =" test subject)))
(macro:' #export (do-template tokens)
@@ -2300,7 +2299,7 @@
(-> Rev Rev Bit)
(if (n/< ("lux coerce" Nat test)
("lux coerce" Nat subject))
- true
+ #1
("lux i64 =" test subject)))
(def:''' #export (r/> test subject)
@@ -2314,7 +2313,7 @@
(text$ "Rev(olution) greater-than-equal.")])
(-> Rev Rev Bit)
(if (r/< subject test)
- true
+ #1
("lux i64 =" test subject)))
(do-template [<type>
@@ -2337,7 +2336,7 @@
(text$ <<=-doc>)])
(-> <type> <type> Bit)
(if (<lt-proc> subject test)
- true
+ #1
(<eq-proc> subject test)))
(def:''' #export (<gt-name> test subject)
@@ -2351,7 +2350,7 @@
(text$ <>=-doc>)])
(-> <type> <type> Bit)
(if (<lt-proc> test subject)
- true
+ #1
(<eq-proc> subject test)))]
[ Int "lux i64 =" "lux int <" i/= i/< i/<= i/> i/>=
@@ -2539,7 +2538,7 @@
(def:''' (bit/encode x)
#Nil
(-> Bit Text)
- (if x "true" "false"))
+ (if x "#1" "#0"))
(def:''' (digit-to-text digit)
#Nil
@@ -2607,11 +2606,11 @@
(list [(tag$ ["lux" "doc"])
(text$ "## Bit negation.
- (not true) => false
+ (not #1) => #0
- (not false) => true")])
+ (not #0) => #1")])
(-> Bit Bit)
- (if x false true))
+ (if x #0 #1))
(def:''' (find-macro' modules current-module module name)
#Nil
@@ -2623,8 +2622,8 @@
gdef (let' [{#module-hash _ #module-aliases _ #definitions bindings #imports _ #tags tags #types types #module-annotations _ #module-state _} ("lux check" Module $module)]
(get name bindings))]
(let' [[def-type def-meta def-value] ("lux check" Definition gdef)]
- ({(#Some [_ (#Bit true)])
- ({(#Some [_ (#Bit true)])
+ ({(#Some [_ (#Bit #1)])
+ ({(#Some [_ (#Bit #1)])
(#Some ("lux coerce" Macro def-value))
_
@@ -2676,8 +2675,8 @@
(do Monad<Meta>
[ident (normalize ident)
output (find-macro ident)]
- (wrap ({(#Some _) true
- #None false}
+ (wrap ({(#Some _) #1
+ #None #0}
output))))
(def:''' (list/join xs)
@@ -2859,8 +2858,8 @@
(def:''' (empty? xs)
#Nil
(All [a] (-> ($' List a) Bit))
- ({#Nil true
- _ false}
+ ({#Nil #1
+ _ #0}
xs))
(do-template [<name> <type> <value>]
@@ -2979,10 +2978,10 @@
(macro:' (def:' tokens)
(let' [[export? tokens'] ({(#Cons [_ (#Tag ["" "export"])] tokens')
- [true tokens']
+ [#1 tokens']
_
- [false tokens]}
+ [#0 tokens]}
tokens)
parts (: (Maybe [Code (List Code) (Maybe Code) Code])
({(#Cons [_ (#Form (#Cons name args))] (#Cons type (#Cons body #Nil)))
@@ -3174,10 +3173,10 @@
(-> Weekday Bit)
(case day
(^or #Saturday #Sunday)
- true
+ #1
_
- false))")])
+ #0))")])
(case tokens
(^ (list& [_ (#Form patterns)] body branches))
(case patterns
@@ -3196,10 +3195,10 @@
(-> Code Bit)
(case code
[_ (#Symbol _)]
- true
+ #1
_
- false))
+ #0))
(macro:' #export (let tokens)
(list [(tag$ ["lux" "doc"])
@@ -3333,10 +3332,10 @@
(-> (List Code) [Bit (List Code)])
(case tokens
(#Cons [_ (#Tag [_ "export"])] tokens')
- [true tokens']
+ [#1 tokens']
_
- [false tokens]))
+ [#0 tokens]))
(def:' (export ?)
(-> Bit (List Code))
@@ -3466,7 +3465,7 @@
_ (` ((~ name) (~+ args))))]
(return (list (` (..def: (~+ (export exported?))
(~ def-sig)
- (~ (meta-code-merge (` {#.macro? true})
+ (~ (meta-code-merge (` {#.macro? #1})
meta))
..Macro
@@ -3528,7 +3527,7 @@
(function (_ [m-name m-type])
[(tag$ ["" m-name]) m-type]))
members))
- sig-meta (meta-code-merge (` {#.sig? true})
+ sig-meta (meta-code-merge (` {#.sig? #1})
meta)
usage (case args
#Nil
@@ -3569,8 +3568,8 @@
_
(fail <message>)))]
- [and (if (~ pre) (~ post) false) "'and' requires >=1 clauses." "Short-circuiting \"and\".\n(and true false true) ## => false"]
- [or (if (~ pre) true (~ post)) "'or' requires >=1 clauses." "Short-circuiting \"or\".\n(or true false true) ## => true"])
+ [and (if (~ pre) (~ post) #0) "'and' requires >=1 clauses." "Short-circuiting \"and\".\n(and #1 #0 #1) ## => #0"]
+ [or (if (~ pre) #1 (~ post)) "'or' requires >=1 clauses." "Short-circuiting \"or\".\n(or #1 #0 #1) ## => #1"])
(def: (index-of part text)
(-> Text Text (Maybe Nat))
@@ -3952,7 +3951,7 @@
_
(` ((~ name) (~+ args))))]
(return (list (` (..def: (~+ (export exported?)) (~ usage)
- (~ (meta-code-merge (` {#.struct? true})
+ (~ (meta-code-merge (` {#.struct? #1})
meta))
(~ type)
(structure (~+ definitions)))))))
@@ -3978,10 +3977,10 @@
(let [[exported? tokens'] (export^ tokens)
[rec? tokens'] (case tokens'
(#Cons [_ (#Tag [_ "rec"])] tokens')
- [true tokens']
+ [#1 tokens']
_
- [false tokens'])
+ [#0 tokens'])
parts (: (Maybe [Text (List Code) Code (List Code)])
(case tokens'
(^ (list [_ (#Symbol "" name)] [meta-cursor (#Record meta-parts)] [type-cursor (#Record type-parts)]))
@@ -4015,10 +4014,10 @@
(case tags??
(#Some tags)
(` {#.tags [(~+ (list/map text$ tags))]
- #.type? true})
+ #.type? #1})
_
- (` {#.type? true})))
+ (` {#.type? #1})))
type' (: (Maybe Code)
(if rec?
(if (empty? args)
@@ -4038,7 +4037,7 @@
(#Some type'')
(return (list (` (..def: (~+ (export exported?)) (~ type-name)
(~ ($_ meta-code-merge (with-type-args args)
- (if rec? (' {#.type-rec? true}) (' {}))
+ (if rec? (' {#.type-rec? #1}) (' {}))
type-meta
meta))
Type
@@ -4236,7 +4235,7 @@
#let [[referral extra] referral+extra]
openings+extra (parse-openings extra)
#let [[openings extra] openings+extra]
- sub-imports (parse-imports true import-name extra)]
+ sub-imports (parse-imports #1 import-name extra)]
(wrap (list& {#import-name import-name
#import-alias (#Some (replace-all "." m-name alias))
#import-refer {#refer-defs referral
@@ -4250,7 +4249,7 @@
#let [[referral extra] referral+extra]
openings+extra (parse-openings extra)
#let [[openings extra] openings+extra]
- sub-imports (parse-imports true import-name extra)]
+ sub-imports (parse-imports #1 import-name extra)]
(wrap (case [referral openings]
[#Nothing #Nil] sub-imports
_ (list& {#import-name import-name
@@ -4280,7 +4279,7 @@
(List Text))
(function (_ [name [def-type def-meta def-value]])
(case (get-meta ["lux" "export?"] def-meta)
- (#Some [_ (#Bit true)])
+ (#Some [_ (#Bit #1)])
(list name)
_
@@ -4309,7 +4308,7 @@
(let [output (list/fold (function (_ case prev)
(or prev
(text/= case name)))
- false
+ #0
cases)]
output))
@@ -4882,7 +4881,7 @@
_
[(list) tokens]))]
current-module current-module-name
- imports (parse-imports false current-module _imports)
+ imports (parse-imports #0 current-module _imports)
#let [=imports (list/map (: (-> Importation Code)
(function (_ [m-name m-alias =refer])
(` [(~ (text$ m-name)) (~ (text$ (default "" m-alias)))])))
@@ -5523,20 +5522,20 @@
[<tests> (do-template [<expr> <text> <pattern>]
[(compare <pattern> <expr>)
(compare <text> (:: Code/encode show <expr>))
- (compare true (:: Equivalence<Code> = <expr> <expr>))]
-
- [(bit true) "true" [_ (#.Bit true)]]
- [(bit false) "false" [_ (#.Bit false)]]
- [(int 123) "123" [_ (#.Int 123)]]
- [(frac 123.0) "123.0" [_ (#.Frac 123.0)]]
- [(text "\n") "\"\\n\"" [_ (#.Text "\n")]]
- [(tag ["yolo" "lol"]) "#yolo.lol" [_ (#.Tag ["yolo" "lol"])]]
- [(symbol ["yolo" "lol"]) "yolo.lol" [_ (#.Symbol ["yolo" "lol"])]]
- [(form (list (bit true) (int 123))) "(true 123)" (^ [_ (#.Form (list [_ (#.Bit true)] [_ (#.Int 123)]))])]
- [(tuple (list (bit true) (int 123))) "[true 123]" (^ [_ (#.Tuple (list [_ (#.Bit true)] [_ (#.Int 123)]))])]
- [(record (list [(bit true) (int 123)])) "{true 123}" (^ [_ (#.Record (list [[_ (#.Bit true)] [_ (#.Int 123)]]))])]
- [(local-tag "lol") "#lol" [_ (#.Tag ["" "lol"])]]
- [(local-symbol "lol") "lol" [_ (#.Symbol ["" "lol"])]]
+ (compare #1 (:: Equivalence<Code> = <expr> <expr>))]
+
+ [(bit #1) "#1" [_ (#.Bit #1)]]
+ [(bit #0) "#0" [_ (#.Bit #0)]]
+ [(int 123) "123" [_ (#.Int 123)]]
+ [(frac 123.0) "123.0" [_ (#.Frac 123.0)]]
+ [(text "\n") "\"\\n\"" [_ (#.Text "\n")]]
+ [(tag ["yolo" "lol"]) "#yolo.lol" [_ (#.Tag ["yolo" "lol"])]]
+ [(symbol ["yolo" "lol"]) "yolo.lol" [_ (#.Symbol ["yolo" "lol"])]]
+ [(form (list (bit #1) (int 123))) "(#1 123)" (^ [_ (#.Form (list [_ (#.Bit #1)] [_ (#.Int 123)]))])]
+ [(tuple (list (bit #1) (int 123))) "[#1 123]" (^ [_ (#.Tuple (list [_ (#.Bit #1)] [_ (#.Int 123)]))])]
+ [(record (list [(bit #1) (int 123)])) "{#1 123}" (^ [_ (#.Record (list [[_ (#.Bit #1)] [_ (#.Int 123)]]))])]
+ [(local-tag "lol") "#lol" [_ (#.Tag ["" "lol"])]]
+ [(local-symbol "lol") "lol" [_ (#.Symbol ["" "lol"])]]
)]
(test-all <tests>))))}
(case tokens
@@ -5652,7 +5651,7 @@
(return [expr binding])
_
- (return [level (` true)])
+ (return [level (` #1)])
))
(def: (multi-level-case^ levels)
@@ -5684,7 +5683,7 @@
"Useful in situations where the result of a branch depends on further refinements on the values being matched."
"For example:"
(case (split (size static) uri)
- (^multi (#.Some [chunk uri']) [(text/= static chunk) true])
+ (^multi (#.Some [chunk uri']) [(text/= static chunk) #1])
(match-uri endpoint? parts' uri')
_
@@ -6228,3 +6227,12 @@
(nat/encode line) separator
(nat/encode column))]
($_ "lux text concat" "[" fields "]")))
+
+(do-template [<zero> <one>]
+ [(def: #export <zero> #0)
+ (def: #export <one> #1)]
+
+ [false true]
+ [no yes]
+ [off on]
+ )
diff --git a/stdlib/source/lux/concurrency/actor.lux b/stdlib/source/lux/concurrency/actor.lux
index 570316334..cb35b0706 100644
--- a/stdlib/source/lux/concurrency/actor.lux
+++ b/stdlib/source/lux/concurrency/actor.lux
@@ -28,8 +28,8 @@
(exception: #export (dead {actor-name Text}
{message-name Text})
- (format " Actor: " actor-name "\n"
- "Message: " message-name "\n"))
+ (ex.report ["Actor" actor-name]
+ ["Message" message-name]))
## [Types]
(with-expansions
@@ -95,10 +95,10 @@
(All [s] (-> (Actor s) Bit))
(case (promise.poll (get@ #obituary (:representation actor)))
#.None
- true
+ #1
_
- false))
+ #0))
(def: #export (send message actor)
{#.doc "Communicate with an actor through message passing."}
@@ -115,12 +115,12 @@
(if resolved?
(do @
[_ (atom.write (product.right entry) (get@ #mailbox (:representation actor)))]
- (wrap true))
+ (wrap #1))
(recur |mailbox|)))
(#.Some [_ |mailbox|'])
(recur |mailbox|')))))
- (io/wrap false)))
+ (io/wrap #0)))
))
## [Values]
diff --git a/stdlib/source/lux/concurrency/promise.lux b/stdlib/source/lux/concurrency/promise.lux
index 0a03b2c9e..eaf913ac1 100644
--- a/stdlib/source/lux/concurrency/promise.lux
+++ b/stdlib/source/lux/concurrency/promise.lux
@@ -36,7 +36,7 @@
[(^@ old [_value _observers]) (atom.read promise)]
(case _value
(#.Some _)
- (wrap false)
+ (wrap #0)
#.None
(do @
@@ -46,7 +46,7 @@
(do @
[_ (monad.map @ (function (_ f) (f value))
_observers)]
- (wrap true))
+ (wrap #1))
(resolve value (:abstraction promise)))))))
(def: #export (await f (^:representation promise))
@@ -68,10 +68,10 @@
(All [a] (-> (Promise a) Bit))
(case (poll promise)
#.None
- false
+ #0
(#.Some _)
- true))
+ #1))
(structure: #export _ (Functor Promise)
(def: (map f fa)
diff --git a/stdlib/source/lux/concurrency/semaphore.lux b/stdlib/source/lux/concurrency/semaphore.lux
index 774acf5fa..b6c0ce69b 100644
--- a/stdlib/source/lux/concurrency/semaphore.lux
+++ b/stdlib/source/lux/concurrency/semaphore.lux
@@ -33,14 +33,14 @@
[state (atom.read semaphore)
#let [[ready? state'] (: [Bit State]
(case (get@ #open-positions state)
- +0 [false (update@ #waiting-list (|>> (#.Cons signal))
- state)]
- _ [true (update@ #open-positions dec
- state)]))]
+ +0 [#0 (update@ #waiting-list (|>> (#.Cons signal))
+ state)]
+ _ [#1 (update@ #open-positions dec
+ state)]))]
success? (atom.compare-and-swap state state' semaphore)
_ (if ready?
(promise.resolve [] signal)
- (wrap false))]
+ (wrap #0))]
(if success?
(wrap signal)
(recur signal)))))))
@@ -64,7 +64,7 @@
(do @
[_ (case ?signal
#.None
- (wrap true)
+ (wrap #1)
(#.Some signal)
(promise.resolve [] signal))]
diff --git a/stdlib/source/lux/concurrency/stm.lux b/stdlib/source/lux/concurrency/stm.lux
index 7af73b68d..88d0ed6ed 100644
--- a/stdlib/source/lux/concurrency/stm.lux
+++ b/stdlib/source/lux/concurrency/stm.lux
@@ -187,7 +187,7 @@
(def: commit-processor-flag
(Atom Bit)
- (atom false))
+ (atom #0))
(def: (issue-commit commit)
(-> Commit (IO Any))
@@ -219,7 +219,7 @@
(if flag
(wrap [])
(do @
- [was-first? (atom.compare-and-swap flag true commit-processor-flag)]
+ [was-first? (atom.compare-and-swap flag #1 commit-processor-flag)]
(if was-first?
(exec (|> (io.run (atom.read pending-commits))
(promise.await (function (recur [head tail])
diff --git a/stdlib/source/lux/control/contract.lux b/stdlib/source/lux/control/contract.lux
index 9b7427190..d7e054a9b 100644
--- a/stdlib/source/lux/control/contract.lux
+++ b/stdlib/source/lux/control/contract.lux
@@ -26,7 +26,7 @@
(syntax: #export (post test expr)
{#.doc (doc "Post-conditions."
"Given a predicate and an expression to run, evaluates the expression and then tests the output with the predicate."
- "If the predicate returns true, returns the value of the expression."
+ "If the predicate returns #1, returns the value of the expression."
"Otherwise, an error is raised."
(post i/even?
(i/+ 2 2)))}
diff --git a/stdlib/source/lux/control/equivalence.lux b/stdlib/source/lux/control/equivalence.lux
index eb869a81c..dea0e3fa6 100644
--- a/stdlib/source/lux/control/equivalence.lux
+++ b/stdlib/source/lux/control/equivalence.lux
@@ -22,7 +22,7 @@
(:: right = b y)
_
- false))))
+ #0))))
(def: #export (rec sub)
(All [a] (-> (-> (Equivalence a) (Equivalence a)) (Equivalence a)))
diff --git a/stdlib/source/lux/control/interval.lux b/stdlib/source/lux/control/interval.lux
index a1084290a..a7de8246f 100644
--- a/stdlib/source/lux/control/interval.lux
+++ b/stdlib/source/lux/control/interval.lux
@@ -151,7 +151,7 @@
(or (singleton? reference)
(and (inner? reference) (outer? sample)))
- false
+ #0
## (and (outer? reference) (inner? sample))
(let [(^open) reference]
@@ -166,7 +166,7 @@
(let [(^open) reference]
(and (not (:: Equivalence<Interval> = reference sample))
(cond (singleton? sample)
- false
+ #0
(singleton? reference)
(nested? sample reference)
diff --git a/stdlib/source/lux/control/parser.lux b/stdlib/source/lux/control/parser.lux
index 7ad46dba8..fc42d5976 100644
--- a/stdlib/source/lux/control/parser.lux
+++ b/stdlib/source/lux/control/parser.lux
@@ -60,7 +60,7 @@
## [Parsers]
(def: #export (assert message test)
- {#.doc "Fails with the given message if the test is false."}
+ {#.doc "Fails with the given message if the test is #0."}
(All [s] (-> Text Bit (Parser s Any)))
(function (_ input)
(if test
diff --git a/stdlib/source/lux/control/predicate.lux b/stdlib/source/lux/control/predicate.lux
index 383d1b907..72fe8165f 100644
--- a/stdlib/source/lux/control/predicate.lux
+++ b/stdlib/source/lux/control/predicate.lux
@@ -18,8 +18,8 @@
(<composition> (left value)
(right value))))]
- [none false union or]
- [all true intersection and]
+ [none #0 union or]
+ [all #1 intersection and]
)
(do-template [<name> <identity> <composition>]
diff --git a/stdlib/source/lux/data/bit.lux b/stdlib/source/lux/data/bit.lux
index 60cef178b..65bfad034 100644
--- a/stdlib/source/lux/data/bit.lux
+++ b/stdlib/source/lux/data/bit.lux
@@ -18,8 +18,8 @@
(def: eq Equivalence<Bit>)
(def: (hash value)
(case value
- true +1
- false +0)))
+ #1 +1
+ #0 +0)))
(do-template [<name> <identity> <op>]
[(structure: #export <name> (Monoid Bit)
@@ -27,21 +27,21 @@
(def: (compose x y)
(<op> x y)))]
- [ Or@Monoid<Bit> false or]
- [And@Monoid<Bit> true and]
+ [ Or@Monoid<Bit> #0 or]
+ [And@Monoid<Bit> #1 and]
)
(structure: #export _ (Codec Text Bit)
(def: (encode x)
(if x
- "true"
- "false"))
+ "#1"
+ "#0"))
(def: (decode input)
(case input
- "true" (#.Right true)
- "false" (#.Right false)
- _ (#.Left "Wrong syntax for Bit."))))
+ "#1" (#.Right #1)
+ "#0" (#.Right #0)
+ _ (#.Left "Wrong syntax for Bit."))))
## [Values]
(def: #export complement
diff --git a/stdlib/source/lux/data/collection/array.lux b/stdlib/source/lux/data/collection/array.lux
index d8d4ce5fa..a4fe01a35 100644
--- a/stdlib/source/lux/data/collection/array.lux
+++ b/stdlib/source/lux/data/collection/array.lux
@@ -161,14 +161,14 @@
(and prev
(case [(read idx xs) (read idx ys)]
[#.None #.None]
- true
+ #1
[(#.Some x) (#.Some y)]
(:: Equivalence<a> = x y)
_
- false)))
- true
+ #0)))
+ #1
(list.n/range +0 (dec sxs)))))
))
diff --git a/stdlib/source/lux/data/collection/bits.lux b/stdlib/source/lux/data/collection/bits.lux
index 24eaa44a6..05de58e37 100644
--- a/stdlib/source/lux/data/collection/bits.lux
+++ b/stdlib/source/lux/data/collection/bits.lux
@@ -98,7 +98,7 @@
("lux i64 =" empty-chunk)
.not)
(recur (inc idx)))
- false))))
+ #0))))
(def: #export (not input)
(-> Bits Bits)
@@ -165,4 +165,4 @@
(..chunk idx reference)
(..chunk idx sample))
(recur (inc idx)))
- true)))))
+ #1)))))
diff --git a/stdlib/source/lux/data/collection/dictionary.lux b/stdlib/source/lux/data/collection/dictionary.lux
index 5add5c74a..27ee863cc 100644
--- a/stdlib/source/lux/data/collection/dictionary.lux
+++ b/stdlib/source/lux/data/collection/dictionary.lux
@@ -275,10 +275,10 @@
(All [k v] (-> (Node k v) Bit))
(`` (case node
(#Base (~~ (static ..clean-bitmap)) _)
- true
+ #1
_
- false)))
+ #0)))
(def: (put' level hash key val Hash<k> node)
(All [k v] (-> Level Hash-Code k v (Hash k) (Node k v) (Node k v)))
@@ -571,8 +571,8 @@
(def: #export (contains? key dict)
(All [k v] (-> k (Dictionary k v) Bit))
(case (get key dict)
- #.None false
- (#.Some _) true))
+ #.None #0
+ (#.Some _) #1))
(def: #export (put~ key val dict)
{#.doc "Only puts the KV-pair if the key is not already present."}
@@ -684,5 +684,5 @@
(:: Equivalence<v> = tk sk)
_
- false))
+ #0))
(keys test)))))
diff --git a/stdlib/source/lux/data/collection/dictionary/ordered.lux b/stdlib/source/lux/data/collection/dictionary/ordered.lux
index 153c17a69..0af6bd341 100644
--- a/stdlib/source/lux/data/collection/dictionary/ordered.lux
+++ b/stdlib/source/lux/data/collection/dictionary/ordered.lux
@@ -77,7 +77,7 @@
(loop [node (get@ #root dict)]
(case node
#.None
- false
+ #0
(#.Some node)
(let [node-key (get@ #key node)]
@@ -472,7 +472,7 @@
[?root found?] (loop [?root (get@ #root dict)]
(case ?root
#.None
- [#.None false]
+ [#.None #0]
(#.Some root)
(let [root-key (get@ #key root)
@@ -480,13 +480,13 @@
(if (T/= root-key key)
[(prepend (get@ #left root)
(get@ #right root))
- true]
+ #1]
(let [go-left? (T/< root-key key)]
(case (recur (if go-left?
(get@ #left root)
(get@ #right root)))
- [#.None false]
- [#.None false]
+ [#.None #0]
+ [#.None #0]
[side-outcome _]
(if go-left?
@@ -494,20 +494,20 @@
(^multi (#.Some left)
[(get@ #color left) #Black])
[(#.Some (balance-left-remove root-key root-val side-outcome (get@ #right root)))
- false]
+ #0]
_
[(#.Some (red root-key root-val side-outcome (get@ #right root)))
- false])
+ #0])
(case (get@ #right root)
(^multi (#.Some right)
[(get@ #color right) #Black])
[(#.Some (balance-right-remove root-key root-val (get@ #left root) side-outcome))
- false]
+ #0]
_
[(#.Some (red root-key root-val (get@ #left root) side-outcome))
- false])
+ #0])
)))
))
))]
@@ -560,7 +560,7 @@
entriesS (entries sample)]
(case [entriesR entriesS]
[#.Nil #.Nil]
- true
+ #1
[(#.Cons [keyR valueR] entriesR') (#.Cons [keyS valueS] entriesS')]
(and (:: Equivalence<k> = keyR keyS)
@@ -568,4 +568,4 @@
(recur entriesR' entriesS'))
_
- false)))))
+ #0)))))
diff --git a/stdlib/source/lux/data/collection/dictionary/plist.lux b/stdlib/source/lux/data/collection/dictionary/plist.lux
index 050185307..1f16dcd77 100644
--- a/stdlib/source/lux/data/collection/dictionary/plist.lux
+++ b/stdlib/source/lux/data/collection/dictionary/plist.lux
@@ -21,10 +21,10 @@
(All [a] (-> Text (PList a) Bit))
(case (get key properties)
(#.Some _)
- true
+ #1
#.None
- false))
+ #0))
(def: #export (put key val properties)
(All [a] (-> Text a (PList a) (PList a)))
diff --git a/stdlib/source/lux/data/collection/list.lux b/stdlib/source/lux/data/collection/list.lux
index c734c140b..111c9b00e 100644
--- a/stdlib/source/lux/data/collection/list.lux
+++ b/stdlib/source/lux/data/collection/list.lux
@@ -171,7 +171,7 @@
(list x)))
(def: #export (find p xs)
- {#.doc "Returns the first value in the list for which the predicate is true."}
+ {#.doc "Returns the first value in the list for which the predicate is #1."}
(All [a]
(-> (-> a Bit) (List a) (Maybe a)))
(case xs
@@ -248,8 +248,8 @@
output
output))))]
- [every? true and]
- [any? false or]
+ [every? #1 and]
+ [any? #0 or]
)
(def: #export (nth i xs)
@@ -271,14 +271,14 @@
(def: (= xs ys)
(case [xs ys]
[#.Nil #.Nil]
- true
+ #1
[(#.Cons x xs') (#.Cons y ys')]
(and (:: Equivalence<a> = x y)
(= xs' ys'))
[_ _]
- false
+ #0
)))
(structure: #export Monoid<List> (All [a]
@@ -354,13 +354,13 @@
(def: #export (empty? xs)
(All [a] (-> (List a) Bit))
(case xs
- #.Nil true
- _ false))
+ #.Nil #1
+ _ #0))
(def: #export (member? eq xs x)
(All [a] (-> (Equivalence a) (List a) a Bit))
(case xs
- #.Nil false
+ #.Nil #0
(#.Cons x' xs') (or (:: eq = x x')
(member? eq xs' x))))
diff --git a/stdlib/source/lux/data/collection/queue/priority.lux b/stdlib/source/lux/data/collection/queue/priority.lux
index dbf6dec75..11162ae8c 100644
--- a/stdlib/source/lux/data/collection/queue/priority.lux
+++ b/stdlib/source/lux/data/collection/queue/priority.lux
@@ -45,7 +45,7 @@
(All [a] (-> (Equivalence a) (Queue a) a Bit))
(case queue
#.None
- false
+ #0
(#.Some fingers)
(loop [node (get@ #finger.node fingers)]
diff --git a/stdlib/source/lux/data/collection/row.lux b/stdlib/source/lux/data/collection/row.lux
index 197e596e6..7ae37ebea 100644
--- a/stdlib/source/lux/data/collection/row.lux
+++ b/stdlib/source/lux/data/collection/row.lux
@@ -235,10 +235,10 @@
hierarchy (get@ #root vec)]
(case [(n/> branching-exponent level)
(array.read (branch-idx (i64.logical-right-shift level idx)) hierarchy)]
- [true (#.Some (#Hierarchy sub))]
+ [#1 (#.Some (#Hierarchy sub))]
(recur (level-down level) sub)
- [false (#.Some (#Base base))]
+ [#0 (#.Some (#Base base))]
(#.Some base)
[_ #.None]
@@ -357,7 +357,7 @@
(:: (array.Equivalence<Array> (Equivalence<Node> Equivalence<a>)) = h1 h2)
_
- false)))
+ #0)))
(structure: #export (Equivalence<Row> Equivalence<a>) (All [a] (-> (Equivalence a) (Equivalence (Row a))))
(def: (= v1 v2)
diff --git a/stdlib/source/lux/data/collection/sequence.lux b/stdlib/source/lux/data/collection/sequence.lux
index 0a2350324..9a8258de2 100644
--- a/stdlib/source/lux/data/collection/sequence.lux
+++ b/stdlib/source/lux/data/collection/sequence.lux
@@ -112,9 +112,9 @@
(def: #export (partition p xs)
{#.doc "Split a sequence in two based on a predicate.
- The left side contains all entries for which the predicate is true.
+ The left side contains all entries for which the predicate is #1.
- The right side contains all entries for which the predicate is false."}
+ The right side contains all entries for which the predicate is #0."}
(All [a] (-> (-> a Bit) (Sequence a) [(Sequence a) (Sequence a)]))
[(filter p xs) (filter (complement p) xs)])
diff --git a/stdlib/source/lux/data/collection/tree/finger.lux b/stdlib/source/lux/data/collection/tree/finger.lux
index b77fca2ec..3c449f57a 100644
--- a/stdlib/source/lux/data/collection/tree/finger.lux
+++ b/stdlib/source/lux/data/collection/tree/finger.lux
@@ -1,6 +1,8 @@
(.module:
[lux #*
- [control ["m" monoid]]
+ [control
+ ["m" monoid]
+ [predicate (#+ Predicate)]]
[data [text format]]])
(type: #export (Node m a)
@@ -51,11 +53,11 @@
(recur shifted-tag right)))))
#.None)))
-(def: #export (found? pred tree)
- (All [m a] (-> (-> m Bit) (Tree m a) Bit))
- (case (search pred tree)
+(def: #export (found? predicate tree)
+ (All [m a] (-> (Predicate m) (Tree m a) Bit))
+ (case (search predicate tree)
(#.Some _)
- true
+ #1
#.None
- false))
+ #0))
diff --git a/stdlib/source/lux/data/collection/tree/rose/zipper.lux b/stdlib/source/lux/data/collection/tree/rose/zipper.lux
index cdaba29fc..030ddb36e 100644
--- a/stdlib/source/lux/data/collection/tree/rose/zipper.lux
+++ b/stdlib/source/lux/data/collection/tree/rose/zipper.lux
@@ -60,10 +60,10 @@
(All [a] (-> (Zipper a) Bit))
(case (get@ #parent zipper)
#.None
- true
+ #1
_
- false))
+ #0))
(def: #export (down zipper)
(All [a] (-> (Zipper a) (Zipper a)))
diff --git a/stdlib/source/lux/data/format/binary.lux b/stdlib/source/lux/data/format/binary.lux
index a5dcde900..b0c2a8b65 100644
--- a/stdlib/source/lux/data/format/binary.lux
+++ b/stdlib/source/lux/data/format/binary.lux
@@ -156,8 +156,8 @@
(case (: Nat data)
(^template [<nat> <bit>]
<nat> (#error.Success [(inc offset) blob] <bit>))
- ([+0 false]
- [+1 true])
+ ([+0 #0]
+ [+1 #1])
_
(ex.throw invalid-tag [+2 data]))
diff --git a/stdlib/source/lux/data/format/json.lux b/stdlib/source/lux/data/format/json.lux
index 4dfa6cb7d..261ff1330 100644
--- a/stdlib/source/lux/data/format/json.lux
+++ b/stdlib/source/lux/data/format/json.lux
@@ -54,7 +54,7 @@
(syntax: #export (json token)
{#.doc (doc "A simple way to produce JSON literals."
- (json true)
+ (json #1)
(json 123.456)
(json "Some text")
(json #null)
@@ -154,7 +154,7 @@
(def: (= x y)
(case [x y]
[#Null #Null]
- true
+ #1
(^template [<tag> <struct>]
[(<tag> x') (<tag> y')]
@@ -167,12 +167,12 @@
(and (n/= (row.size xs) (row.size ys))
(list/fold (function (_ idx prev)
(and prev
- (maybe.default false
+ (maybe.default #0
(do maybe.Monad<Maybe>
[x' (row.nth idx xs)
y' (row.nth idx ys)]
(wrap (= x' y'))))))
- true
+ #1
(list.indices (row.size xs))))
[(#Object xs) (#Object ys)]
@@ -180,13 +180,13 @@
(list/fold (function (_ [xk xv] prev)
(and prev
(case (dict.get xk ys)
- #.None false
+ #.None #0
(#.Some yv) (= xv yv))))
- true
+ #1
(dict.entries xs)))
_
- false)))
+ #0)))
############################################################
############################################################
@@ -420,13 +420,13 @@
[_ (l.this <token>)]
(wrap <value>)))]
- [t~ "true" true]
- [f~ "false" false]
+ [true~ "true" #1]
+ [false~ "false" #0]
)
(def: boolean~
(l.Lexer Boolean)
- (p.either t~ f~))
+ (p.either true~ false~))
(def: number~
(l.Lexer Number)
diff --git a/stdlib/source/lux/data/format/xml.lux b/stdlib/source/lux/data/format/xml.lux
index fcdca14c8..6d6e93799 100644
--- a/stdlib/source/lux/data/format/xml.lux
+++ b/stdlib/source/lux/data/format/xml.lux
@@ -242,7 +242,7 @@
(list.every? (product.uncurry =))))
_
- false)))
+ #0)))
(type: #export (Reader a)
(p.Parser (List XML) a))
diff --git a/stdlib/source/lux/data/maybe.lux b/stdlib/source/lux/data/maybe.lux
index 90712968b..bc9d0af95 100644
--- a/stdlib/source/lux/data/maybe.lux
+++ b/stdlib/source/lux/data/maybe.lux
@@ -52,13 +52,13 @@
(def: (= mx my)
(case [mx my]
[#.None #.None]
- true
+ #1
[(#.Some x) (#.Some y)]
(:: Equivalence<a> = x y)
_
- false)))
+ #0)))
(structure: #export (MaybeT Monad<M>)
(All [M] (-> (Monad M) (Monad (All [a] (M (Maybe a))))))
diff --git a/stdlib/source/lux/data/number.lux b/stdlib/source/lux/data/number.lux
index cb322299c..7f591c85c 100644
--- a/stdlib/source/lux/data/number.lux
+++ b/stdlib/source/lux/data/number.lux
@@ -615,9 +615,9 @@
(if (f/= -1.0 sign) +1 +0)
dot-idx))
decimal-part (maybe.assume ("lux text clip" raw-bin (inc dot-idx) ("lux text size" raw-bin)))
- hex-output (|> (<from> false decimal-part)
+ hex-output (|> (<from> #0 decimal-part)
("lux text concat" ".")
- ("lux text concat" (<from> true whole-part))
+ ("lux text concat" (<from> #1 whole-part))
("lux text concat" (if (f/= -1.0 sign) "-" "")))]
hex-output))
@@ -672,10 +672,10 @@
(-> Text Bit)
(case ("lux text index" number "_" +0)
(#.Some +0)
- true
+ #1
_
- false))
+ #0))
(def: clean-underscores
(-> Text Text)
@@ -777,15 +777,15 @@
(def: (digits-to-text digits)
(-> Digits Text)
(loop [idx (dec i64.width)
- all-zeroes? true
+ all-zeroes? #1
output ""]
(if (i/>= 0 (:coerce Int idx))
(let [digit (digits-get idx digits)]
(if (and (n/= +0 digit)
all-zeroes?)
- (recur (dec idx) true output)
+ (recur (dec idx) #1 output)
(recur (dec idx)
- false
+ #0
("lux text concat"
(:: Codec<Text,Int> encode (:coerce Int digit))
output))))
@@ -880,10 +880,10 @@
(let [length ("lux text size" input)
dotted? (case ("lux text index" input "." +0)
(#.Some +0)
- true
+ #1
_
- false)]
+ #0)]
(if (and dotted?
(n/<= (inc i64.width) length))
(case (|> ("lux text clip" input +1 length)
diff --git a/stdlib/source/lux/data/text.lux b/stdlib/source/lux/data/text.lux
index 8120f19d5..a5223c3e3 100644
--- a/stdlib/source/lux/data/text.lux
+++ b/stdlib/source/lux/data/text.lux
@@ -63,10 +63,10 @@
(-> Text Text Bit)
(case (index-of prefix x)
(#.Some +0)
- true
+ #1
_
- false))
+ #0))
(def: #export (ends-with? postfix x)
(-> Text Text Bit)
@@ -76,16 +76,16 @@
(n/+ (size postfix) n))
_
- false))
+ #0))
(def: #export (contains? sub text)
(-> Text Text Bit)
(case ("lux text index" text sub +0)
(#.Some _)
- true
+ #1
_
- false))
+ #0))
(def: #export (clip from to input)
(-> Nat Nat Text (Maybe Text))
@@ -202,8 +202,8 @@
(def: #export (empty? text)
(-> Text Bit)
(case text
- "" true
- _ false))
+ "" #1
+ _ #0))
(def: #export (enclose [left right] content)
{#.doc "Surrounds the given content text with left and right side additions."}
@@ -239,7 +239,7 @@
(^or (^ (char "\t")) (^ (char "\v"))
(^ (char " ")) (^ (char "\n"))
(^ (char "\r")) (^ (char "\f")))
- true
+ #1
_
- false))
+ #0))
diff --git a/stdlib/source/lux/data/text/lexer.lux b/stdlib/source/lux/data/text/lexer.lux
index d9b07db1e..3ece75c23 100644
--- a/stdlib/source/lux/data/text/lexer.lux
+++ b/stdlib/source/lux/data/text/lexer.lux
@@ -82,10 +82,10 @@
(function (_ (^@ input [offset tape]))
(case (text.index-of' reference offset tape)
(^multi (#.Some where) (n/= offset where))
- (#e.Success [[(n/+ (text.size reference) offset) tape] true])
+ (#e.Success [[(n/+ (text.size reference) offset) tape] #1])
_
- (#e.Success [input false]))))
+ (#e.Success [input #0]))))
(def: #export end
{#.doc "Ensure the lexer's input is empty."}
diff --git a/stdlib/source/lux/data/text/regex.lux b/stdlib/source/lux/data/text/regex.lux
index 107270225..94012c086 100644
--- a/stdlib/source/lux/data/text/regex.lux
+++ b/stdlib/source/lux/data/text/regex.lux
@@ -375,7 +375,7 @@
($_ p.either
(do p.Monad<Parser>
[_ (l.this "(?:")
- [_ scoped] (re-alternative^ false re-scoped^ current-module)
+ [_ scoped] (re-alternative^ #0 re-scoped^ current-module)
_ (l.this ")")]
(wrap [#Non-Capturing scoped]))
(do p.Monad<Parser>
@@ -385,18 +385,18 @@
[_ (l.this "(?<")
captured-name identifier-part^
_ (l.this ">")
- [num-captures pattern] (re-alternative^ true re-scoped^ current-module)
+ [num-captures pattern] (re-alternative^ #1 re-scoped^ current-module)
_ (l.this ")")]
(wrap [(#Capturing [(#.Some captured-name) num-captures]) pattern]))
(do p.Monad<Parser>
[_ (l.this "(")
- [num-captures pattern] (re-alternative^ true re-scoped^ current-module)
+ [num-captures pattern] (re-alternative^ #1 re-scoped^ current-module)
_ (l.this ")")]
(wrap [(#Capturing [#.None num-captures]) pattern]))))
(def: (regex^ current-module)
(-> Text (l.Lexer Code))
- (:: p.Monad<Parser> map product.right (re-alternative^ true re-scoped^ current-module)))
+ (:: p.Monad<Parser> map product.right (re-alternative^ #1 re-scoped^ current-module)))
## [Syntax]
(syntax: #export (regex {pattern s.text})
diff --git a/stdlib/source/lux/host.jvm.lux b/stdlib/source/lux/host.jvm.lux
index 927f16c7d..118ae5a1f 100644
--- a/stdlib/source/lux/host.jvm.lux
+++ b/stdlib/source/lux/host.jvm.lux
@@ -281,11 +281,11 @@
(-> Primitive-Mode (List Type-Paramameter) Bit GenericType Code)
Code)
(case [name+params mode in-array?]
- (^multi [[prim #.Nil] #ManualPrM false]
+ (^multi [[prim #.Nil] #ManualPrM #0]
[(manual-primitive-to-type prim) (#.Some output)])
output
- (^multi [[prim #.Nil] #AutoPrM false]
+ (^multi [[prim #.Nil] #AutoPrM #0]
[(auto-primitive-to-type prim) (#.Some output)])
output
@@ -313,7 +313,7 @@
class->type')
(#GenericArray param)
- (let [=param (class->type' mode type-params true param)]
+ (let [=param (class->type' mode type-params #1 param)]
(` (.Array (~ =param))))
(^or (#GenericWildcard #.None) (#GenericWildcard (#.Some [#LowerBound _])))
@@ -325,7 +325,7 @@
(def: (class->type mode type-params class)
(-> Primitive-Mode (List Type-Paramameter) GenericType Code)
- (class->type' mode type-params false class))
+ (class->type' mode type-params #0 class))
(def: (type-param-type$ [name bounds])
(-> Type-Paramameter Code)
@@ -1298,7 +1298,7 @@
(#private baz java/lang/Object)
## Methods
(#public [] (new [value A]) []
- (exec (:= ::foo true)
+ (exec (:= ::foo #1)
(:= ::bar value)
(:= ::baz "")
[]))
@@ -1315,7 +1315,7 @@
"Fields and methods defined in the class can be used with special syntax."
"For example:"
"::resolved, for accessing the \"resolved\" field."
- "(:= ::resolved true) for modifying it."
+ "(:= ::resolved #1) for modifying it."
"(::new! []) for calling the class's constructor."
"(::resolve! container [value]) for calling the \"resolve\" method."
)}
@@ -1394,10 +1394,10 @@
{#.doc (doc "Test for null object reference."
(null? (null))
"=>"
- true
+ #1
(null? "YOLO")
"=>"
- false)}
+ #0)}
(-> (primitive "java.lang.Object") Bit)
("jvm object null?" obj))
@@ -1486,7 +1486,7 @@
(short-class-name full-name))
params' (list/map (|>> product.left code.local-symbol) params)]
(` (def: (~ (code.symbol ["" def-name]))
- {#.type? true
+ {#.type? #1
#..jvm-class (~ (code.text full-name))}
Type
(All [(~+ params')]
@@ -1590,8 +1590,8 @@
(def: (free-type-param? [name bounds])
(-> Type-Paramameter Bit)
(case bounds
- #.Nil true
- _ false))
+ #.Nil #1
+ _ #0))
(def: (type-param->type-arg [name _])
(-> Type-Paramameter Code)
@@ -1624,10 +1624,10 @@
(-> Text Bit)
(case class
(^or "byte" "short" "int" "float")
- true
+ #1
_
- false))
+ #0))
(def: (auto-conv [class var])
(-> [Text Code] (List Code))
diff --git a/stdlib/source/lux/language/compiler/analysis.lux b/stdlib/source/lux/language/compiler/analysis.lux
index e9eb3b921..a2686d6bf 100644
--- a/stdlib/source/lux/language/compiler/analysis.lux
+++ b/stdlib/source/lux/language/compiler/analysis.lux
@@ -183,12 +183,12 @@
_
(#.Some {#lefts lefts
- #right? false
+ #right? #0
#value valueA}))
(<tag> (#Sum (#.Right valueA)))
(#.Some {#lefts lefts
- #right? true
+ #right? #1
#value valueA})
_
diff --git a/stdlib/source/lux/language/compiler/analysis/case/coverage.lux b/stdlib/source/lux/language/compiler/analysis/case/coverage.lux
index b718c382d..c19003df6 100644
--- a/stdlib/source/lux/language/compiler/analysis/case/coverage.lux
+++ b/stdlib/source/lux/language/compiler/analysis/case/coverage.lux
@@ -32,12 +32,12 @@
_
{#///.lefts lefts
- #///.right? false
+ #///.right? #0
#///.value valueP})
(#.Right valueP)
{#///.lefts lefts
- #///.right? true
+ #///.right? #1
#///.value valueP})))
## The coverage of a pattern-matching expression summarizes how well
@@ -64,10 +64,10 @@
(-> Coverage Bit)
(case coverage
(#Exhaustive _)
- true
+ #1
_
- false))
+ #0))
(def: #export (determine pattern)
(-> Pattern (Operation Coverage))
@@ -87,8 +87,8 @@
[#///.Frac]
[#///.Text])
- ## Bits are the exception, since there is only "true" and
- ## "false", which means it is possible for bit
+ ## Bits are the exception, since there is only "#1" and
+ ## "#0", which means it is possible for bit
## pattern-matching to become exhaustive if complementary parts meet.
(#///.Simple (#///.Bit value))
(operation/wrap (#Bit value))
@@ -149,7 +149,7 @@
(def: (= reference sample)
(case [reference sample]
[#Exhaustive #Exhaustive]
- true
+ #1
[(#Bit sideR) (#Bit sideS)]
(bit/= sideR sideS)
@@ -172,7 +172,7 @@
(list.zip2 flatR flatS))))
_
- false)))
+ #0)))
(open: "C/" Equivalence<Coverage>)
@@ -228,15 +228,15 @@
[(#Seq leftA rightA) (#Seq leftSF rightSF)]
(case [(C/= leftSF leftA) (C/= rightSF rightA)]
## There is nothing the addition adds to the coverage.
- [true true]
+ [#1 #1]
redundant-pattern
## The 2 sequences cannot possibly be merged.
- [false false]
+ [#0 #0]
(error/wrap (#Alt so-far addition))
## Same prefix
- [true false]
+ [#1 #0]
(do e.Monad<Error>
[rightM (merge rightA rightSF)]
(if (exhaustive? rightM)
@@ -247,7 +247,7 @@
(wrap (#Seq leftSF rightM))))
## Same suffix
- [false true]
+ [#0 #1]
(do e.Monad<Error>
[leftM (merge leftA leftSF)]
(wrap (#Seq leftM rightA))))
diff --git a/stdlib/source/lux/language/compiler/analysis/module.lux b/stdlib/source/lux/language/compiler/analysis/module.lux
index bdc4abf05..1ac2b4ac4 100644
--- a/stdlib/source/lux/language/compiler/analysis/module.lux
+++ b/stdlib/source/lux/language/compiler/analysis/module.lux
@@ -108,7 +108,7 @@
(|> state
(get@ #.modules)
(plist.get module)
- (case> (#.Some _) true #.None false)
+ (case> (#.Some _) #1 #.None #0)
[state] #e.Success))))
(def: #export (define name definition)
@@ -159,8 +159,8 @@
(case (|> state (get@ #.modules) (plist.get module-name))
(#.Some module)
(let [active? (case (get@ #.module-state module)
- #.Active true
- _ false)]
+ #.Active #1
+ _ #0)]
(if active?
(#e.Success [(update@ #.modules
(plist.put module-name (set@ #.module-state <tag> module))
@@ -180,8 +180,8 @@
(#.Some module)
(#e.Success [state
(case (get@ #.module-state module)
- <tag> true
- _ false)])
+ <tag> #1
+ _ #0)])
#.None
((///.throw unknown-module module-name) state)))))]
diff --git a/stdlib/source/lux/language/compiler/extension/analysis/host.jvm.lux b/stdlib/source/lux/language/compiler/extension/analysis/host.jvm.lux
index 876448b5b..da4d4461b 100644
--- a/stdlib/source/lux/language/compiler/extension/analysis/host.jvm.lux
+++ b/stdlib/source/lux/language/compiler/extension/analysis/host.jvm.lux
@@ -681,7 +681,7 @@
[<object> <primitive>])
(do @
[_ (typeA.infer (#.Primitive to-name (list)))]
- (wrap true)))
+ (wrap #1)))
(["boolean" "java.lang.Boolean"]
["byte" "java.lang.Byte"]
["short" "java.lang.Short"]
@@ -702,7 +702,7 @@
(if (text/= to-name current-name)
(do @
[_ (typeA.infer toT)]
- (wrap true))
+ (wrap #1))
(do @
[current-class (load-class current-name)
_ (////.assert cannot-cast (format "From class/primitive: " current-name "\n"
@@ -940,19 +940,19 @@
(Modifier::isStatic [modifiers])
_
- true)
+ #1)
(case method-style
#Special
(not (or (Modifier::isInterface [(Class::getModifiers [] class)])
(Modifier::isAbstract [modifiers])))
_
- true)
+ #1)
(n/= (list.size arg-classes) (list.size parameters))
(list/fold (function (_ [expectedJC actualJC] prev)
(and prev
(text/= expectedJC actualJC)))
- true
+ #1
(list.zip2 arg-classes parameters))))))
(def: (check-constructor class arg-classes constructor)
@@ -966,7 +966,7 @@
(list/fold (function (_ [expectedJC actualJC] prev)
(and prev
(text/= expectedJC actualJC)))
- true
+ #1
(list.zip2 arg-classes parameters))))))
(def: idx-to-parameter
diff --git a/stdlib/source/lux/language/compiler/meta/cache.lux b/stdlib/source/lux/language/compiler/meta/cache.lux
index 4a35d81d4..d382c5860 100644
--- a/stdlib/source/lux/language/compiler/meta/cache.lux
+++ b/stdlib/source/lux/language/compiler/meta/cache.lux
@@ -78,11 +78,11 @@
(do @
[? (:: System<m> directory? file)]
(if ?
- (wrap false)
+ (wrap #0)
(do @
[_ (..delete System<m> file)]
- (wrap true))))))]
- [(list.every? (bit/= true))
+ (wrap #1))))))]
+ [(list.every? (bit/= #1))
(if> [(..delete System<m> document)]
[(wrap [])])]))))
diff --git a/stdlib/source/lux/language/compiler/synthesis.lux b/stdlib/source/lux/language/compiler/synthesis.lux
index 202260fa2..3d6762342 100644
--- a/stdlib/source/lux/language/compiler/synthesis.lux
+++ b/stdlib/source/lux/language/compiler/synthesis.lux
@@ -26,7 +26,7 @@
State
{#scope-arity +0
#resolver fresh-resolver
- #direct? false
+ #direct? #0
#locals +0})
(type: #export Primitive
@@ -158,8 +158,8 @@
(All [a] (-> (Operation a) (Operation a)))
(extension.temporary (set@ #direct? <value>)))]
- [indirectly false]
- [directly true]
+ [indirectly #0]
+ [directly #1]
)
(do-template [<name> <type> <tag>]
@@ -177,7 +177,7 @@
(All [a] (-> (Operation a) (Operation a))))
(extension.with-state {#scope-arity arity
#resolver resolver
- #direct? true
+ #direct? #1
#locals arity}))
(do-template [<name> <tag> <type>]
diff --git a/stdlib/source/lux/language/compiler/synthesis/case.lux b/stdlib/source/lux/language/compiler/synthesis/case.lux
index 0c23d1f52..045abbde7 100644
--- a/stdlib/source/lux/language/compiler/synthesis/case.lux
+++ b/stdlib/source/lux/language/compiler/synthesis/case.lux
@@ -152,10 +152,10 @@
headB/bodyS])))))
<if>
- (as-is (^or (^ [[(analysis.pattern/bit true) thenA]
- (list [(analysis.pattern/bit false) elseA])])
- (^ [[(analysis.pattern/bit false) elseA]
- (list [(analysis.pattern/bit true) thenA])]))
+ (as-is (^or (^ [[(analysis.pattern/bit #1) thenA]
+ (list [(analysis.pattern/bit #0) elseA])])
+ (^ [[(analysis.pattern/bit #0) elseA]
+ (list [(analysis.pattern/bit #1) thenA])]))
(do @
[thenS (synthesize^ thenA)
elseS (synthesize^ elseA)]
diff --git a/stdlib/source/lux/language/compiler/synthesis/expression.lux b/stdlib/source/lux/language/compiler/synthesis/expression.lux
index 0d780d444..f6d68fc05 100644
--- a/stdlib/source/lux/language/compiler/synthesis/expression.lux
+++ b/stdlib/source/lux/language/compiler/synthesis/expression.lux
@@ -92,7 +92,7 @@
(list/map (|>> //.variable/local))
[(//.variable/local +0)]
//.function/apply)
- (#//.Reference (#reference.Variable (function.adjust arity false var))))
+ (#//.Reference (#reference.Variable (function.adjust arity #0 var))))
(#//.Reference (#reference.Variable var)))))
(#reference.Foreign register)
diff --git a/stdlib/source/lux/language/compiler/synthesis/function.lux b/stdlib/source/lux/language/compiler/synthesis/function.lux
index 67f0dda46..e73621b5c 100644
--- a/stdlib/source/lux/language/compiler/synthesis/function.lux
+++ b/stdlib/source/lux/language/compiler/synthesis/function.lux
@@ -95,10 +95,10 @@
(list/map (.function (_ closure)
(case (dict.get closure resolver)
(#.Some resolved)
- (adjust arity true resolved)
+ (adjust arity #1 resolved)
#.None
- (adjust arity false closure)))
+ (adjust arity #0 closure)))
environment)
environment)
down-environment (: (List Variable)
diff --git a/stdlib/source/lux/language/compiler/synthesis/loop.lux b/stdlib/source/lux/language/compiler/synthesis/loop.lux
index eeb1adcc7..95666656b 100644
--- a/stdlib/source/lux/language/compiler/synthesis/loop.lux
+++ b/stdlib/source/lux/language/compiler/synthesis/loop.lux
@@ -21,8 +21,8 @@
(def: (some? maybe)
(All [a] (-> (Maybe a) Bit))
(case maybe
- (#.Some _) true
- #.None false))
+ (#.Some _) #1
+ #.None #0))
(template: #export (self)
(#//.Reference (reference.local +0)))
@@ -30,8 +30,8 @@
(template: (recursive-apply args)
(#//.Apply (self) args))
-(def: proper Bit true)
-(def: improper Bit false)
+(def: proper Bit #1)
+(def: improper Bit #0)
(def: (proper? exprS)
(-> Synthesis Bit)
diff --git a/stdlib/source/lux/language/compiler/translation/scheme/runtime.jvm.lux b/stdlib/source/lux/language/compiler/translation/scheme/runtime.jvm.lux
index a84677144..8e0d0c270 100644
--- a/stdlib/source/lux/language/compiler/translation/scheme/runtime.jvm.lux
+++ b/stdlib/source/lux/language/compiler/translation/scheme/runtime.jvm.lux
@@ -51,19 +51,19 @@
(def: #export none
Computation
- (variant [+0 false ..unit]))
+ (variant [+0 #0 ..unit]))
(def: #export some
(-> Expression Computation)
- (|>> [+0 true] ..variant))
+ (|>> [+0 #1] ..variant))
(def: #export left
(-> Expression Computation)
- (|>> [+0 false] ..variant))
+ (|>> [+0 #0] ..variant))
(def: #export right
(-> Expression Computation)
- (|>> [+0 true] ..variant))
+ (|>> [+0 #1] ..variant))
(def: declaration
(s.Syntax [Text (List Text)])
@@ -283,8 +283,8 @@
(_.if (_.eq?/2 old @temp)
(_.begin
(list (_.vector-set!/3 atom (_.int 0) new)
- (_.bool true)))
- (_.bool false)))))
+ (_.bool #1)))
+ (_.bool #0)))))
(def: runtime//atom
Computation
diff --git a/stdlib/source/lux/language/host/scheme.lux b/stdlib/source/lux/language/host/scheme.lux
index d2edd6fac..e312e769b 100644
--- a/stdlib/source/lux/language/host/scheme.lux
+++ b/stdlib/source/lux/language/host/scheme.lux
@@ -63,8 +63,8 @@
(def: #export bool
(-> Bit Computation)
- (|>> (case> true "#t"
- false "#f")
+ (|>> (case> #0 "#f"
+ #1 "#t")
:abstraction))
(def: #export int
diff --git a/stdlib/source/lux/language/reference.lux b/stdlib/source/lux/language/reference.lux
index 0f4ee03a5..84b838b3d 100644
--- a/stdlib/source/lux/language/reference.lux
+++ b/stdlib/source/lux/language/reference.lux
@@ -24,7 +24,7 @@
([#Local] [#Foreign])
_
- false)))
+ #0)))
(structure: #export _ (Hash Variable)
(def: eq Equivalence<Variable>)
@@ -61,7 +61,7 @@
(-> Variable Bit)
(|>> ..variable
(case> (^ (..local +0))
- true
+ #1
_
- false)))
+ #0)))
diff --git a/stdlib/source/lux/language/syntax.lux b/stdlib/source/lux/language/syntax.lux
index e31356dcb..18fd61c8a 100644
--- a/stdlib/source/lux/language/syntax.lux
+++ b/stdlib/source/lux/language/syntax.lux
@@ -354,7 +354,7 @@
(loop [text-read ""
where (|> where
(update@ #.column inc))
- must-have-offset? false]
+ must-have-offset? #0]
(p.either (if must-have-offset?
## If I'm at the start of a
## new line, I must ensure the
@@ -376,7 +376,7 @@
(format text-read))
(|> where
(update@ #.column (n/+ offset-size)))
- false)
+ #0)
(p.fail (format "Each line of a multi-line text must have an appropriate offset!\n"
"Expected: " (%i (.int offset-column)) " columns.\n"
" Actual: " (%i (.int offset-size)) " columns.\n"))))
@@ -387,7 +387,7 @@
(recur (format text-read normal)
(|> where
(update@ #.column (n/+ (text.size normal))))
- false))
+ #0))
## Must handle escaped
## chars separately.
(do @
@@ -395,7 +395,7 @@
(recur (format text-read char)
(|> where
(update@ #.column (n/+ chars-consumed)))
- false))
+ #0))
## The text ends when it
## reaches the right-delimiter.
(do @
@@ -413,7 +413,7 @@
(|> where
(update@ #.line inc)
(set@ #.column +0))
- true)))))]
+ #1)))))]
(wrap [where'
[where (#.Text text-read)]])))
@@ -581,8 +581,8 @@
(^template [<name> <value>]
["" <name>]
(#.Bit <value>))
- (["true" true]
- ["false" false])
+ (["#0" #0]
+ ["#1" #1])
_
(#.Symbol value))]])))
diff --git a/stdlib/source/lux/language/type.lux b/stdlib/source/lux/language/type.lux
index cdb43422d..11b1e1223 100644
--- a/stdlib/source/lux/language/type.lux
+++ b/stdlib/source/lux/language/type.lux
@@ -55,7 +55,7 @@
(and (text/= xname yname)
(n/= (list.size yparams) (list.size xparams))
(list/fold (.function (_ [x y] prev) (and prev (= x y)))
- true
+ #1
(list.zip2 xparams yparams)))
(^template [<tag>]
@@ -82,11 +82,11 @@
(and (n/= (list.size yenv) (list.size xenv))
(= xbody ybody)
(list/fold (.function (_ [x y] prev) (and prev (= x y)))
- true
+ #1
(list.zip2 xenv yenv)))
_
- false
+ #0
)))
## [Values]
@@ -319,16 +319,16 @@
(quantified? _type)
(#.Apply A F)
- (maybe.default false
+ (maybe.default #0
(do maybe.Monad<Maybe>
[applied (apply (list A) F)]
(wrap (quantified? applied))))
(^or (#.UnivQ _) (#.ExQ _))
- true
+ #1
_
- false))
+ #0))
(def: #export (array level elem-type)
(-> Nat Type Type)
diff --git a/stdlib/source/lux/language/type/check.lux b/stdlib/source/lux/language/type/check.lux
index 3308c497b..abd6bda5e 100644
--- a/stdlib/source/lux/language/type/check.lux
+++ b/stdlib/source/lux/language/type/check.lux
@@ -186,7 +186,7 @@
#.None
(ex.throw unknown-type-var id))))]
- [bound? Bit false true]
+ [bound? Bit #0 #1]
[read (Maybe Type) #.None (#.Some bound)]
)
@@ -348,7 +348,7 @@
(-> [Type Type] Bit (List Assumption) (List Assumption))
(#.Cons [ea status] assumptions))
-(def: (on id type then else)
+(def: (if-bind id type then else)
(All [a]
(-> Var Type (Check a) (-> Type (Check a))
(Check a)))
@@ -530,16 +530,16 @@
(check-vars check' assumptions idE idA)
[(#.Var id) _]
- (on id actual
- (check/wrap assumptions)
- (function (_ bound)
- (check' bound actual assumptions)))
+ (if-bind id actual
+ (check/wrap assumptions)
+ (function (_ bound)
+ (check' bound actual assumptions)))
[_ (#.Var id)]
- (on id expected
- (check/wrap assumptions)
- (function (_ bound)
- (check' expected bound assumptions)))
+ (if-bind id expected
+ (check/wrap assumptions)
+ (function (_ bound)
+ (check' expected bound assumptions)))
(^template [<fe> <fa>]
[(#.Apply A1 <fe>) (#.Apply A2 <fa>)]
@@ -560,7 +560,7 @@
#.None
(do Monad<Check>
[expected' (apply-type! F A)]
- (check' expected' actual (assume! fx-pair true assumptions)))))
+ (check' expected' actual (assume! fx-pair #1 assumptions)))))
[_ (#.Apply A F)]
(do Monad<Check>
@@ -636,10 +636,10 @@
(-> Type Type Bit)
(case (run fresh-context (check expected actual))
(#e.Error error)
- false
+ #0
(#e.Success _)
- true))
+ #1))
(def: #export context
(Check Type-Context)
diff --git a/stdlib/source/lux/macro.lux b/stdlib/source/lux/macro.lux
index d063f1ab2..fea0fa783 100644
--- a/stdlib/source/lux/macro.lux
+++ b/stdlib/source/lux/macro.lux
@@ -97,7 +97,7 @@
(#e.Success [compiler' output]))))
(def: #export (assert message test)
- {#.doc "Fails with the given message if the test is false."}
+ {#.doc "Fails with the given message if the test is #0."}
(-> Text Bit (Meta Any))
(function (_ compiler)
(if test
@@ -188,9 +188,9 @@
(get-text-ann (ident-for #.doc) anns))
(def: #export (flag-set? flag-name anns)
- {#.doc "Finds out whether an annotation-as-a-flag is set (has value 'true')."}
+ {#.doc "Finds out whether an annotation-as-a-flag is set (has value '#1')."}
(-> Ident Code Bit)
- (maybe.default false (get-bit-ann flag-name anns)))
+ (maybe.default #0 (get-bit-ann flag-name anns)))
(do-template [<name> <tag> <desc>]
[(def: #export <name>
@@ -210,10 +210,10 @@
(-> Code Bit)
(case (get-symbol-ann (ident-for #.alias) annotations)
(#.Some _)
- true
+ #1
#.None
- false))
+ #0))
(do-template [<name> <tag> <type>]
[(def: (<name> input)
@@ -421,10 +421,10 @@
(function (_ compiler)
(#e.Success [compiler (case (get module (get@ #.modules compiler))
(#.Some _)
- true
+ #1
#.None
- false)])))
+ #0)])))
(def: (try-both f x1 x2)
(All [a b]
@@ -701,10 +701,10 @@
(case tokens
(^ (list [_ (#.Tag ["" "omit"])]
token))
- (#.Some [true token])
+ (#.Some [#1 token])
(^ (list token))
- (#.Some [false token])
+ (#.Some [#0 token])
_
#.None))
diff --git a/stdlib/source/lux/macro/code.lux b/stdlib/source/lux/macro/code.lux
index 67be6ce56..a599bbae8 100644
--- a/stdlib/source/lux/macro/code.lux
+++ b/stdlib/source/lux/macro/code.lux
@@ -84,7 +84,7 @@
= xs' ys')
_
- false)))
+ #0)))
## [Values]
(def: #export (to-text ast)
diff --git a/stdlib/source/lux/macro/poly.lux b/stdlib/source/lux/macro/poly.lux
index 7c86a952a..cd37a8f4b 100644
--- a/stdlib/source/lux/macro/poly.lux
+++ b/stdlib/source/lux/macro/poly.lux
@@ -388,7 +388,7 @@
(` ((~ (code.symbol poly-func)) (~+ (list/map code.symbol poly-args)))))]]
(wrap (.list (` (def: (~+ (csw.export export))
(~ (code.symbol ["" name]))
- {#.struct? true}
+ {#.struct? #1}
(~ impl)))))))
## [Derivers]
diff --git a/stdlib/source/lux/macro/poly/equivalence.lux b/stdlib/source/lux/macro/poly/equivalence.lux
index 66bc621ca..c651a5b59 100644
--- a/stdlib/source/lux/macro/poly/equivalence.lux
+++ b/stdlib/source/lux/macro/poly/equivalence.lux
@@ -49,7 +49,7 @@
(wrap (` (: (~ (@Equivalence inputT))
<eq>))))]
- [(poly.exactly Any) (function ((~ g!_) (~ g!_) (~ g!_)) true)]
+ [(poly.exactly Any) (function ((~ g!_) (~ g!_) (~ g!_)) #1)]
[(poly.similar Bit) bit.Equivalence<Bit>]
[(poly.similar Nat) number.Equivalence<Nat>]
[(poly.similar Int) number.Equivalence<Int>]
@@ -111,7 +111,7 @@
(` ((~ g!eq) (~ g!left) (~ g!right)))))
(list.enumerate members))))
(~ g!_)
- false))))))
+ #0))))))
## Tuples
(do @
[g!eqs (poly.tuple (p.many Equivalence<?>))
diff --git a/stdlib/source/lux/macro/syntax.lux b/stdlib/source/lux/macro/syntax.lux
index 630dd5a0e..a22e8a121 100644
--- a/stdlib/source/lux/macro/syntax.lux
+++ b/stdlib/source/lux/macro/syntax.lux
@@ -77,7 +77,7 @@
(#error.Success [remaining is-it?]))
_
- (#error.Success [tokens false]))))
+ (#error.Success [tokens #0]))))
(def: #export (this ast)
{#.doc "Ensures the given Code is the next input."}
@@ -155,14 +155,13 @@
(Syntax Bit)
(function (_ tokens)
(case tokens
- #.Nil (#error.Success [tokens true])
- _ (#error.Success [tokens false]))))
+ #.Nil (#error.Success [tokens #1])
+ _ (#error.Success [tokens #0]))))
-(def: #export (on compiler action)
- {#.doc "Run a Lux operation as if it was a Syntax parser."}
- (All [a] (-> Lux (Meta a) (Syntax a)))
+(def: #export (lift outcome)
+ (All [a] (-> (Error a) (Syntax a)))
(function (_ input)
- (case (macro.run compiler action)
+ (case outcome
(#error.Error error)
(#error.Error error)
@@ -215,10 +214,10 @@
(let [[exported? tokens] (: [Bit (List Code)]
(case tokens
(^ (list& [_ (#.Tag ["" "export"])] tokens'))
- [true tokens']
+ [#1 tokens']
_
- [false tokens]))
+ [#0 tokens]))
?parts (: (Maybe [Text (List Code) Code Code])
(case tokens
(^ (list [_ (#.Form (list& [_ (#.Symbol ["" name])] args))]
diff --git a/stdlib/source/lux/macro/syntax/common/reader.lux b/stdlib/source/lux/macro/syntax/common/reader.lux
index 408edae91..a3dafa296 100644
--- a/stdlib/source/lux/macro/syntax/common/reader.lux
+++ b/stdlib/source/lux/macro/syntax/common/reader.lux
@@ -15,8 +15,8 @@
## Exports
(def: #export export
(Syntax Bit)
- (p.either (p.after (s.this (' #export)) (parser/wrap true))
- (parser/wrap false)))
+ (p.either (p.after (s.this (' #export)) (parser/wrap #1))
+ (parser/wrap #0)))
## Declarations
(def: #export declaration
@@ -106,8 +106,10 @@
(-> Lux (Syntax //.Definition))
(do p.Monad<Parser>
[definition-raw s.any
- me-definition-raw (s.on compiler
- (macro.expand-all definition-raw))]
+ me-definition-raw (|> definition-raw
+ macro.expand-all
+ (macro.run compiler)
+ s.lift)]
(s.local me-definition-raw
(s.form (do @
[_ (s.this (' "lux def"))
diff --git a/stdlib/source/lux/math/logic/continuous.lux b/stdlib/source/lux/math/logic/continuous.lux
index 972bfac0e..a6fe71bb6 100644
--- a/stdlib/source/lux/math/logic/continuous.lux
+++ b/stdlib/source/lux/math/logic/continuous.lux
@@ -1,39 +1,39 @@
(.module:
- [lux #*
+ [lux (#- false true or and not)
[data [number ("rev/" Interval<Rev>)]]])
-(def: #export ~true Rev rev/top)
-(def: #export ~false Rev rev/bottom)
+(def: #export true Rev rev/top)
+(def: #export false Rev rev/bottom)
(do-template [<name> <chooser>]
[(def: #export <name>
(-> Rev Rev Rev)
<chooser>)]
- [~and r/min]
- [~or r/max]
+ [and r/min]
+ [or r/max]
)
-(def: #export (~not input)
+(def: #export (not input)
(-> Rev Rev)
- (r/- input ~true))
+ (r/- input ..true))
-(def: #export (~implies consequent antecedent)
+(def: #export (implies consequent antecedent)
(-> Rev Rev Rev)
- (~or (~not antecedent)
- consequent))
+ (or (not antecedent)
+ consequent))
-(def: #export (includes~ sub super)
+(def: #export (includes sub super)
(-> Rev Rev Rev)
- (let [-sub (~not sub)
+ (let [-sub (not sub)
sum (r/+ -sub super)
- no-overflow? (and (r/>= -sub sum)
- (r/>= super sum))]
+ no-overflow? (.and (r/>= -sub sum)
+ (r/>= super sum))]
(if no-overflow?
sum
- ~true)))
+ ..true)))
-(def: #export (~= left right)
+(def: #export (= left right)
(-> Rev Rev Rev)
- (~and (~or (~not left) right)
- (~or left (~not right))))
+ (and (or (not left) right)
+ (or left (not right))))
diff --git a/stdlib/source/lux/math/logic/fuzzy.lux b/stdlib/source/lux/math/logic/fuzzy.lux
index 4bb58ae1a..0ee8a0c36 100644
--- a/stdlib/source/lux/math/logic/fuzzy.lux
+++ b/stdlib/source/lux/math/logic/fuzzy.lux
@@ -18,32 +18,32 @@
(def: #export (union left right)
(All [a] (-> (Fuzzy a) (Fuzzy a) (Fuzzy a)))
(function (_ elem)
- (&.~or (membership elem left)
- (membership elem right))))
+ (&.or (membership elem left)
+ (membership elem right))))
(def: #export (intersection left right)
(All [a] (-> (Fuzzy a) (Fuzzy a) (Fuzzy a)))
(function (_ elem)
- (&.~and (membership elem left)
- (membership elem right))))
+ (&.and (membership elem left)
+ (membership elem right))))
(def: #export (complement set)
(All [a] (-> (Fuzzy a) (Fuzzy a)))
(function (_ elem)
- (&.~not (membership elem set))))
+ (&.not (membership elem set))))
(def: #export (difference sub base)
(All [a] (-> (Fuzzy a) (Fuzzy a) (Fuzzy a)))
(function (_ elem)
- (&.~and (membership elem base)
- (&.~not (membership elem sub)))))
+ (&.and (membership elem base)
+ (&.not (membership elem sub)))))
(def: #export (from-predicate predicate)
(All [a] (-> (Predicate a) (Fuzzy a)))
(function (_ elem)
(if (predicate elem)
- &.~true
- &.~false)))
+ &.true
+ &.false)))
(def: #export (from-set set)
(All [a] (-> (Set a) (Fuzzy a)))
@@ -53,10 +53,10 @@
(-> Rev Rev (Fuzzy Rev))
(function (_ elem)
(cond (r/<= from elem)
- &.~false
+ &.false
(r/>= to elem)
- &.~true
+ &.true
## in the middle...
(r// (r/- from to)
@@ -66,10 +66,10 @@
(-> Rev Rev (Fuzzy Rev))
(function (_ elem)
(cond (r/<= from elem)
- &.~true
+ &.true
(r/>= to elem)
- &.~false
+ &.false
## in the middle...
(r// (r/- from to)
@@ -106,8 +106,8 @@
(function (_ elem)
(let [membership (set elem)]
(if (r/> treshold membership)
- (|> membership (r/- treshold) (r/* &.~true))
- &.~false))))
+ (|> membership (r/- treshold) (r/* &.true))
+ &.false))))
(def: #export (to-predicate treshold set)
(All [a] (-> Rev (Fuzzy a) (Predicate a)))
diff --git a/stdlib/source/lux/test.lux b/stdlib/source/lux/test.lux
index d4fb7108f..f9bd93926 100644
--- a/stdlib/source/lux/test.lux
+++ b/stdlib/source/lux/test.lux
@@ -48,7 +48,7 @@
(:: r.Monad<Random> wrap)))
(def: #export (assert message condition)
- {#.doc "Check that a condition is true, and fail with the given message otherwise."}
+ {#.doc "Check that a condition is #1, and fail with the given message otherwise."}
(-> Text Bit (Promise [Counters Text]))
(<| (:: promise.Monad<Promise> wrap)
(if condition
@@ -56,7 +56,7 @@
[failure (format " [Error] " message)])))
(def: #export (test message condition)
- {#.doc "Check that a condition is true, and fail with the given message otherwise."}
+ {#.doc "Check that a condition is #1, and fail with the given message otherwise."}
(-> Text Bit Test)
(:: r.Monad<Random> wrap (assert message condition)))
@@ -133,17 +133,17 @@
(test "Can create lists easily through macros."
(and (case (list 1 2 3)
(#.Cons 1 (#.Cons 2 (#.Cons 3 #.Nil)))
- true
+ #1
_
- false)
+ #0)
(case (list& 1 2 3 (list 4 5 6))
(#.Cons 1 (#.Cons 2 (#.Cons 3 (#.Cons 4 (#.Cons 5 (#.Cons 6 #.Nil))))))
- true
+ #1
_
- false)))
+ #0)))
(test "Can have defaults for Maybe values."
(and (is? "yolo" (maybe.default "yolo"
@@ -204,10 +204,10 @@
(list/map (function (_ [def-name [_ def-anns _]])
(case (macro.get-text-ann (ident-for #..test) def-anns)
(#.Some description)
- [true module-name def-name description]
+ [#1 module-name def-name description]
_
- [false module-name def-name ""])))
+ [#0 module-name def-name ""])))
(list.filter product.left)
(list/map product.right)))))
diff --git a/stdlib/source/lux/time/date.lux b/stdlib/source/lux/time/date.lux
index e80db8bac..3851d5ab4 100644
--- a/stdlib/source/lux/time/date.lux
+++ b/stdlib/source/lux/time/date.lux
@@ -36,7 +36,7 @@
(case [reference sample]
(^template [<tag>]
[<tag> <tag>]
- true)
+ #1)
([#January]
[#February]
[#March]
@@ -51,7 +51,7 @@
[#December])
_
- false)))
+ #0)))
(def: (month-to-nat month)
(-> Month Nat)
@@ -126,7 +126,7 @@
(case [reference sample]
(^template [<tag>]
[<tag> <tag>]
- true)
+ #1)
([#Sunday]
[#Monday]
[#Tuesday]
@@ -136,7 +136,7 @@
[#Saturday])
_
- false)))
+ #0)))
(def: (day-to-nat day)
(-> Day Nat)
diff --git a/stdlib/source/lux/time/duration.lux b/stdlib/source/lux/time/duration.lux
index b9300b7c3..748cd039e 100644
--- a/stdlib/source/lux/time/duration.lux
+++ b/stdlib/source/lux/time/duration.lux
@@ -12,7 +12,8 @@
[text ("text/" Monoid<Text>)
["l" lexer]]
["e" error]]
- [type abstract]])
+ [type
+ abstract]])
(abstract: #export Duration
{#.doc "Durations have a resolution of milliseconds."}
diff --git a/stdlib/source/lux/type/abstract.lux b/stdlib/source/lux/type/abstract.lux
index 53ae64051..7b8effc5d 100644
--- a/stdlib/source/lux/type/abstract.lux
+++ b/stdlib/source/lux/type/abstract.lux
@@ -55,7 +55,7 @@
(def: down-cast Text ":abstraction")
(def: up-cast Text ":representation")
-(def: macro-anns Code (' {#.macro? true}))
+(def: macro-anns Code (' {#.macro? #1}))
(def: representation-name
(-> Text Text)
diff --git a/stdlib/source/lux/type/implicit.lux b/stdlib/source/lux/type/implicit.lux
index b2c747028..103f79d27 100644
--- a/stdlib/source/lux/type/implicit.lux
+++ b/stdlib/source/lux/type/implicit.lux
@@ -287,10 +287,10 @@
(-> Code Bit)
(case input
[_ (#.Symbol _)]
- true
+ #1
_
- false))
+ #0))
(def: (join-pair [l r])
(All [a] (-> [a a] (List a)))
diff --git a/stdlib/source/lux/world/file.lux b/stdlib/source/lux/world/file.lux
index 6630f8a60..9758d7e44 100644
--- a/stdlib/source/lux/world/file.lux
+++ b/stdlib/source/lux/world/file.lux
@@ -153,8 +153,8 @@
_ (OutputStream::flush [] stream)]
(AutoCloseable::close [] stream)))]
- [append true]
- [write false]
+ [append #1]
+ [write #0]
)
(def: (read file)
@@ -209,7 +209,7 @@
(do io.Monad<IO>
[outcome (<method> [] (java/io/File::new subject))]
(case outcome
- (#error.Success true)
+ (#error.Success #1)
(wrap (#error.Success []))
_
@@ -225,7 +225,7 @@
[outcome (<method> [(|> parameter <parameter-pre>)]
(java/io/File::new subject))]
(case outcome
- (#error.Success true)
+ (#error.Success #1)
(wrap (#error.Success []))
_
@@ -244,5 +244,5 @@
(|> file
(do> (:: System<m> &monad)
[(:: System<m> file?)]
- [(if> [(wrap true)]
+ [(if> [(wrap #1)]
[(:: System<m> directory? file)])])))
diff --git a/stdlib/test/test/lux.lux b/stdlib/test/test/lux.lux
index 4f1a810c2..a4730e2ef 100644
--- a/stdlib/test/test/lux.lux
+++ b/stdlib/test/test/lux.lux
@@ -165,17 +165,17 @@
(test "Can create lists easily through macros."
(and (case (list 1 2 3)
(#.Cons 1 (#.Cons 2 (#.Cons 3 #.Nil)))
- true
+ #1
_
- false)
+ #0)
(case (list& 1 2 3 (list 4 5 6))
(#.Cons 1 (#.Cons 2 (#.Cons 3 (#.Cons 4 (#.Cons 5 (#.Cons 6 #.Nil))))))
- true
+ #1
_
- false)))
+ #0)))
(test "Can have defaults for Maybe values."
(and (is? "yolo" (maybe.default "yolo"
@@ -200,9 +200,9 @@
(context: "Cross-platform support."
($_ seq
(test "Can provide default in case there is no particular platform support."
- (for {"" false}
- true))
+ (for {"" #0}
+ #1))
(test "Can pick code depending on the platform being targeted."
- (for {"JVM" true
- "JS" true}
- false))))
+ (for {"JVM" #1
+ "JS" #1}
+ #0))))
diff --git a/stdlib/test/test/lux/cli.lux b/stdlib/test/test/lux/cli.lux
index 208b5b1b2..0bcdb785e 100644
--- a/stdlib/test/test/lux/cli.lux
+++ b/stdlib/test/test/lux/cli.lux
@@ -32,31 +32,31 @@
(test "Can read any argument."
(|> (/.run (list yes) /.any)
(case> (#E.Error _)
- false
+ #0
(#E.Success arg)
(text/= arg yes))))
(test "Can test tokens."
(and (|> (/.run (list yes) (/.this yes))
- (case> (#E.Error _) false (#E.Success _) true))
+ (case> (#E.Error _) #0 (#E.Success _) #1))
(|> (/.run (list no) (/.this yes))
- (case> (#E.Error _) true (#E.Success _) false))))
+ (case> (#E.Error _) #1 (#E.Success _) #0))))
(test "Can use custom token parsers."
(|> (/.run (list yes) (/.parse Nat/decode))
(case> (#E.Error _)
- false
+ #0
(#E.Success parsed)
(text/= (Nat/encode parsed)
yes))))
(test "Can query if there are any more inputs."
(and (|> (/.run (list) /.end)
- (case> (#E.Success []) true _ false))
+ (case> (#E.Success []) #1 _ #0))
(|> (/.run (list yes) (p.not /.end))
- (case> (#E.Success []) false _ true))))
+ (case> (#E.Success []) #0 _ #1))))
(test "Can parse CLI input anywhere."
(|> (/.run (list.concat (list pre-ignore (list yes) post-ignore))
(|> (/.somewhere (/.this yes))
(p.before (p.some /.any))))
- (case> (#E.Error _) false (#E.Success _) true)))
+ (case> (#E.Error _) #0 (#E.Success _) #1)))
))))
diff --git a/stdlib/test/test/lux/concurrency/actor.lux b/stdlib/test/test/lux/concurrency/actor.lux
index 1bb6b5b0b..a4f2ae234 100644
--- a/stdlib/test/test/lux/concurrency/actor.lux
+++ b/stdlib/test/test/lux/concurrency/actor.lux
@@ -72,5 +72,5 @@
outcome
(#e.Error error)
- false))))
+ #0))))
))
diff --git a/stdlib/test/test/lux/concurrency/promise.lux b/stdlib/test/test/lux/concurrency/promise.lux
index 29bab782c..0aae405ab 100644
--- a/stdlib/test/test/lux/concurrency/promise.lux
+++ b/stdlib/test/test/lux/concurrency/promise.lux
@@ -17,60 +17,60 @@
(context: "Promises"
($_ seq
(wrap (do &.Monad<Promise>
- [running? (&.future (io true))]
+ [running? (&.future (io #1))]
(assert "Can run IO actions in separate threads."
running?)))
(wrap (do &.Monad<Promise>
[_ (&.wait +500)]
(assert "Can wait for a specified amount of time."
- true)))
+ #1)))
(wrap (do &.Monad<Promise>
- [[left right] (&.seq (&.future (io true))
- (&.future (io false)))]
+ [[left right] (&.seq (&.future (io #1))
+ (&.future (io #0)))]
(assert "Can combine promises sequentially."
(and left (not right)))))
(wrap (do &.Monad<Promise>
- [?left (&.alt (&.delay +100 true)
- (&.delay +200 false))
- ?right (&.alt (&.delay +200 true)
- (&.delay +100 false))]
+ [?left (&.alt (&.delay +100 #1)
+ (&.delay +200 #0))
+ ?right (&.alt (&.delay +200 #1)
+ (&.delay +100 #0))]
(assert "Can combine promises alternatively."
(case [?left ?right]
- [(#.Left true) (#.Right false)]
- true
+ [(#.Left #1) (#.Right #0)]
+ #1
_
- false))))
+ #0))))
(wrap (do &.Monad<Promise>
- [?left (&.either (&.delay +100 true)
- (&.delay +200 false))
- ?right (&.either (&.delay +200 true)
- (&.delay +100 false))]
+ [?left (&.either (&.delay +100 #1)
+ (&.delay +200 #0))
+ ?right (&.either (&.delay +200 #1)
+ (&.delay +100 #0))]
(assert "Can combine promises alternatively [Part 2]."
(and ?left (not ?right)))))
(test "Can poll a promise for its value."
- (and (|> (&.poll (&/wrap true))
- (case> (#.Some true) true _ false))
- (|> (&.poll (&.delay +200 true))
- (case> #.None true _ false))))
+ (and (|> (&.poll (&/wrap #1))
+ (case> (#.Some #1) #1 _ #0))
+ (|> (&.poll (&.delay +200 #1))
+ (case> #.None #1 _ #0))))
(test "Cannot re-resolve a resolved promise."
- (and (not (io.run (&.resolve false (&/wrap true))))
- (io.run (&.resolve true (: (&.Promise Bit) (&.promise #.None))))))
+ (and (not (io.run (&.resolve #0 (&/wrap #1))))
+ (io.run (&.resolve #1 (: (&.Promise Bit) (&.promise #.None))))))
(wrap (do &.Monad<Promise>
- [?none (&.time-out +100 (&.delay +200 true))
- ?some (&.time-out +200 (&.delay +100 true))]
+ [?none (&.time-out +100 (&.delay +200 #1))
+ ?some (&.time-out +200 (&.delay +100 #1))]
(assert "Can establish maximum waiting times for promises to be fulfilled."
(case [?none ?some]
- [#.None (#.Some true)]
- true
+ [#.None (#.Some #1)]
+ #1
_
- false))))
+ #0))))
))
diff --git a/stdlib/test/test/lux/concurrency/semaphore.lux b/stdlib/test/test/lux/concurrency/semaphore.lux
index 8a5c1cbce..7eadd5ac7 100644
--- a/stdlib/test/test/lux/concurrency/semaphore.lux
+++ b/stdlib/test/test/lux/concurrency/semaphore.lux
@@ -34,7 +34,7 @@
(wrap (do promise.Monad<Promise>
[_ (wait-many-times open-positions semaphore)]
(assert "Can wait on a semaphore up to the number of open positions without blocking."
- true))))
+ #1))))
(let [semaphore (/.semaphore open-positions)]
(wrap (do promise.Monad<Promise>
[result (<| (promise.time-out +100)
@@ -42,10 +42,10 @@
(assert "Waiting on a semaphore more than the number of open positions blocks the process."
(case result
(#.Some _)
- false
+ #0
#.None
- true)))))
+ #1)))))
(let [semaphore (/.semaphore open-positions)]
(wrap (do promise.Monad<Promise>
[_ (: (Promise Any)
@@ -57,7 +57,7 @@
(recur (dec steps)))
(wrap []))))]
(assert "Signaling a semaphore replenishes its open positions."
- true))))
+ #1))))
(let [semaphore (/.semaphore open-positions)]
(wrap (do promise.Monad<Promise>
[#let [resource (atom.atom "")
diff --git a/stdlib/test/test/lux/control/equivalence.lux b/stdlib/test/test/lux/control/equivalence.lux
index 5206e892d..7c45e90e0 100644
--- a/stdlib/test/test/lux/control/equivalence.lux
+++ b/stdlib/test/test/lux/control/equivalence.lux
@@ -18,4 +18,4 @@
(test "Equivalence is symmetric."
(if (:: Equivalence<a> = sample another)
(:: Equivalence<a> = another sample)
- true)))))
+ #1)))))
diff --git a/stdlib/test/test/lux/control/parser.lux b/stdlib/test/test/lux/control/parser.lux
index 6028eed1a..70cf4cfbe 100644
--- a/stdlib/test/test/lux/control/parser.lux
+++ b/stdlib/test/test/lux/control/parser.lux
@@ -18,52 +18,52 @@
(def: (should-fail input)
(All [a] (-> (Error a) Bit))
(case input
- (#error.Error _) true
- _ false))
+ (#error.Error _) #1
+ _ #0))
(def: (enforced? parser input)
(All [s] (-> (&.Parser s Any) s Bit))
(case (&.run input parser)
(#error.Success [_ []])
- true
+ #1
_
- false))
+ #0))
(def: (found? parser input)
(All [s] (-> (&.Parser s Bit) s Bit))
(case (&.run input parser)
- (#error.Success [_ true])
- true
+ (#error.Success [_ #1])
+ #1
_
- false))
+ #0))
(def: (fails? input)
(All [a] (-> (Error a) Bit))
(case input
(#error.Error _)
- true
+ #1
_
- false))
+ #0))
(syntax: (match pattern input)
(wrap (list (` (case (~ input)
(^ (#error.Success [(~' _) (~ pattern)]))
- true
+ #1
(~' _)
- false)))))
+ #0)))))
## [Tests]
(context: "Assertions"
(test "Can make assertions while parsing."
(and (match []
- (&.run (list (code.bit true) (code.int 123))
- (&.assert "yolo" true)))
- (fails? (&.run (list (code.bit true) (code.int 123))
- (&.assert "yolo" false))))))
+ (&.run (list (code.bit #1) (code.int 123))
+ (&.assert "yolo" #1)))
+ (fails? (&.run (list (code.bit #1) (code.int 123))
+ (&.assert "yolo" #0))))))
(context: "Combinators [Part 1]"
($_ seq
@@ -105,14 +105,14 @@
(match -123
(&.run (list (code.int -123) (code.int 456) (code.int 789))
(&.either positive s.int)))
- (fails? (&.run (list (code.bit true) (code.int 456) (code.int 789))
+ (fails? (&.run (list (code.bit #1) (code.int 456) (code.int 789))
(&.either positive s.int))))))
(test "Can create the opposite/negation of any parser."
(and (fails? (&.run (list (code.int 123) (code.int 456) (code.int 789))
(&.not s.int)))
(match []
- (&.run (list (code.bit true) (code.int 456) (code.int 789))
+ (&.run (list (code.bit #1) (code.int 456) (code.int 789))
(&.not s.int)))))
))
diff --git a/stdlib/test/test/lux/control/reader.lux b/stdlib/test/test/lux/control/reader.lux
index bc7905f37..560e6565c 100644
--- a/stdlib/test/test/lux/control/reader.lux
+++ b/stdlib/test/test/lux/control/reader.lux
@@ -32,6 +32,6 @@
(wrap (i/+ a b))))
(&.run "")
io.run
- (case> 579 true
- _ false)))
+ (case> 579 #1
+ _ #0)))
))
diff --git a/stdlib/test/test/lux/control/region.lux b/stdlib/test/test/lux/control/region.lux
index 544b42982..266fd2733 100644
--- a/stdlib/test/test/lux/control/region.lux
+++ b/stdlib/test/test/lux/control/region.lux
@@ -23,8 +23,8 @@
(#e.Success _) <success>
(#e.Error _) <error>))]
- [success? true false]
- [error? false true]
+ [success? #1 #0]
+ [error? #0 #1]
)
(context: "Regions."
diff --git a/stdlib/test/test/lux/control/state.lux b/stdlib/test/test/lux/control/state.lux
index c39be3197..3d8c2fd10 100644
--- a/stdlib/test/test/lux/control/state.lux
+++ b/stdlib/test/test/lux/control/state.lux
@@ -102,7 +102,7 @@
[state &.get]
(wrap (n/< limit state)))]]
($_ seq
- (test "'while' will only execute if the condition is true."
+ (test "'while' will only execute if the condition is #1."
(|> (&.while condition (&.update inc))
(&.run +0)
(case> [state' output']
diff --git a/stdlib/test/test/lux/control/writer.lux b/stdlib/test/test/lux/control/writer.lux
index 6cf50d2bd..8f44f6784 100644
--- a/stdlib/test/test/lux/control/writer.lux
+++ b/stdlib/test/test/lux/control/writer.lux
@@ -41,6 +41,6 @@
[a (lift (io/wrap 123))
b (wrap 456)]
(wrap (i/+ a b))))
- (case> ["" 579] true
- _ false)))
+ (case> ["" 579] #1
+ _ #0)))
))
diff --git a/stdlib/test/test/lux/data/bit.lux b/stdlib/test/test/lux/data/bit.lux
index f9ab9551f..8d0a93a83 100644
--- a/stdlib/test/test/lux/data/bit.lux
+++ b/stdlib/test/test/lux/data/bit.lux
@@ -34,5 +34,5 @@
(:: Equivalence<Bit> = value dec-value)
(#.Left _)
- false)
+ #0)
)))))
diff --git a/stdlib/test/test/lux/data/collection/array.lux b/stdlib/test/test/lux/data/collection/array.lux
index f0f72a14d..91b67b5c5 100644
--- a/stdlib/test/test/lux/data/collection/array.lux
+++ b/stdlib/test/test/lux/data/collection/array.lux
@@ -64,12 +64,12 @@
($_ seq
(test "Shouldn't be able to find a value in an unoccupied cell."
(case (@.read idx (@.delete idx array))
- (#.Some _) false
- #.None true))
+ (#.Some _) #0
+ #.None #1))
(test "You should be able to access values put into the array."
(case (@.read idx (@.write idx value array))
(#.Some value') (n/= value' value)
- #.None false))
+ #.None #0))
(test "All cells should be occupied on a full array."
(and (n/= size (@.occupied array))
(n/= +0 (@.vacant array))))
@@ -90,15 +90,15 @@
($_ seq
(test "Can find values inside arrays."
(|> (@.find n/even? array)
- (case> (#.Some _) true
- #.None false)))
+ (case> (#.Some _) #1
+ #.None #0)))
(test "Can find values inside arrays (with access to indices)."
(|> (@.find+ (function (_ idx n)
(and (n/even? n)
(n/< size idx)))
array)
- (case> (#.Some _) true
- #.None false)))))))
+ (case> (#.Some _) #1
+ #.None #0)))))))
(context: "Functor"
(<| (times +100)
diff --git a/stdlib/test/test/lux/data/collection/dictionary.lux b/stdlib/test/test/lux/data/collection/dictionary.lux
index b0ad15d7b..f79327c29 100644
--- a/stdlib/test/test/lux/data/collection/dictionary.lux
+++ b/stdlib/test/test/lux/data/collection/dictionary.lux
@@ -44,31 +44,31 @@
(test "Should be able to get every key."
(list.every? (function (_ key) (case (&.get key dict)
- (#.Some _) true
- _ false))
+ (#.Some _) #1
+ _ #0))
(&.keys dict)))
(test "Shouldn't be able to access non-existant keys."
(case (&.get non-key dict)
- (#.Some _) false
- _ true))
+ (#.Some _) #0
+ _ #1))
(test "Should be able to put and then get a value."
(case (&.get non-key (&.put non-key test-val dict))
(#.Some v) (n/= test-val v)
- _ true))
+ _ #1))
(test "Should be able to put~ and then get a value."
(case (&.get non-key (&.put~ non-key test-val dict))
(#.Some v) (n/= test-val v)
- _ true))
+ _ #1))
(test "Shouldn't be able to put~ an existing key."
(or (n/= +0 size)
(let [first-key (|> dict &.keys list.head maybe.assume)]
(case (&.get first-key (&.put~ first-key test-val dict))
(#.Some v) (not (n/= test-val v))
- _ true))))
+ _ #1))))
(test "Removing a key should make it's value inaccessible."
(let [base (&.put non-key test-val dict)]
@@ -83,7 +83,7 @@
(n/= (inc x) y)
_
- false)))
+ #0)))
(test "Additions and removals to a Dictionary should affect its size."
(let [plus (&.put non-key test-val dict)
diff --git a/stdlib/test/test/lux/data/collection/dictionary/ordered.lux b/stdlib/test/test/lux/data/collection/dictionary/ordered.lux
index 4626886e9..64a51b413 100644
--- a/stdlib/test/test/lux/data/collection/dictionary/ordered.lux
+++ b/stdlib/test/test/lux/data/collection/dictionary/ordered.lux
@@ -39,24 +39,24 @@
(test "Can query value for minimum key."
(case [(&.min sample) (list.head sorted-values)]
[#.None #.None]
- true
+ #1
[(#.Some reference) (#.Some sample)]
(n/= reference sample)
_
- false))
+ #0))
(test "Can query value for maximum key."
(case [(&.max sample) (list.last sorted-values)]
[#.None #.None]
- true
+ #1
[(#.Some reference) (#.Some sample)]
(n/= reference sample)
_
- false))
+ #0))
(test "Converting dictionaries to/from lists cannot change their values."
(|> sample
@@ -87,6 +87,6 @@
(n/= extra-value found)
_
- false)))
+ #0)))
))
))))
diff --git a/stdlib/test/test/lux/data/collection/list.lux b/stdlib/test/test/lux/data/collection/list.lux
index 0945a9abb..f5565c455 100644
--- a/stdlib/test/test/lux/data/collection/list.lux
+++ b/stdlib/test/test/lux/data/collection/list.lux
@@ -234,5 +234,5 @@
[a (lift (io/wrap 123))
b (wrap 456)]
(wrap (i/+ a b))))
- (case> (^ (list 579)) true
- _ false)))))
+ (case> (^ (list 579)) #1
+ _ #0)))))
diff --git a/stdlib/test/test/lux/data/collection/queue.lux b/stdlib/test/test/lux/data/collection/queue.lux
index ebb730d58..89f674462 100644
--- a/stdlib/test/test/lux/data/collection/queue.lux
+++ b/stdlib/test/test/lux/data/collection/queue.lux
@@ -39,7 +39,7 @@
(test "I can always peek at a non-empty queue."
(case (&.peek sample)
#.None (&.empty? sample)
- (#.Some _) true))
+ (#.Some _) #1))
(test "I can query whether an element belongs to a queue."
(and (not (&.member? number.Equivalence<Nat> sample non-member))
diff --git a/stdlib/test/test/lux/data/collection/set/ordered.lux b/stdlib/test/test/lux/data/collection/set/ordered.lux
index 97127a3f3..261eebbb1 100644
--- a/stdlib/test/test/lux/data/collection/set/ordered.lux
+++ b/stdlib/test/test/lux/data/collection/set/ordered.lux
@@ -40,24 +40,24 @@
(test "Can query minimum value."
(case [(&.min setL) minL]
[#.None #.None]
- true
+ #1
[(#.Some reference) (#.Some sample)]
(n/= reference sample)
_
- false))
+ #0))
(test "Can query maximum value."
(case [(&.max setL) maxL]
[#.None #.None]
- true
+ #1
[(#.Some reference) (#.Some sample)]
(n/= reference sample)
_
- false))
+ #0))
(test "Converting sets to/from lists can't change their values."
(|> setL
diff --git a/stdlib/test/test/lux/data/collection/tree/rose/zipper.lux b/stdlib/test/test/lux/data/collection/tree/rose/zipper.lux
index 26311fbd1..28c7ec0f9 100644
--- a/stdlib/test/test/lux/data/collection/tree/rose/zipper.lux
+++ b/stdlib/test/test/lux/data/collection/tree/rose/zipper.lux
@@ -75,7 +75,7 @@
(|> zipper &.down &.rightmost &.leftmost &.value (is? pre-val))
(|> zipper &.down &.right &.left &.value (is? pre-val))
(|> zipper &.down &.rightmost &.value (is? post-val))))
- true)))
+ #1)))
(test "Can insert children around a node (unless it's root)."
(let [zipper (&.zip sample)]
@@ -94,10 +94,10 @@
(|> zipper &.down &.rightmost &.leftmost &.value (is? pre-val))
(|> zipper &.down &.right &.left &.value (is? pre-val))
(|> zipper &.down &.rightmost &.value (is? post-val))))
- (and (|> zipper (&.insert-left pre-val) (case> (#.Some _) false
- #.None true))
- (|> zipper (&.insert-right post-val) (case> (#.Some _) false
- #.None true))))))
+ (and (|> zipper (&.insert-left pre-val) (case> (#.Some _) #0
+ #.None #1))
+ (|> zipper (&.insert-right post-val) (case> (#.Some _) #0
+ #.None #1))))))
(test "Can set and update the value of a node."
(|> sample &.zip (&.set new-val) &.value (n/= new-val)))
@@ -122,8 +122,8 @@
(let [zipper (&.zip sample)]
(if (&.branch? zipper)
(and (|> zipper &.down &.root? not)
- (|> zipper &.down &.remove (case> #.None false
+ (|> zipper &.down &.remove (case> #.None #0
(#.Some node) (&.root? node))))
- (|> zipper &.remove (case> #.None true
- (#.Some _) false)))))
+ (|> zipper &.remove (case> #.None #1
+ (#.Some _) #0)))))
))))
diff --git a/stdlib/test/test/lux/data/error.lux b/stdlib/test/test/lux/data/error.lux
index d86afc20b..7e64cc5ed 100644
--- a/stdlib/test/test/lux/data/error.lux
+++ b/stdlib/test/test/lux/data/error.lux
@@ -17,20 +17,20 @@
(test "Functor correctly handles both cases."
(and (|> (: (&.Error Int) (#&.Success 10))
(&/map inc)
- (case> (#&.Success 11) true _ false))
+ (case> (#&.Success 11) #1 _ #0))
(|> (: (&.Error Int) (#&.Error "YOLO"))
(&/map inc)
- (case> (#&.Error "YOLO") true _ false))
+ (case> (#&.Error "YOLO") #1 _ #0))
))
(test "Apply correctly handles both cases."
(and (|> (&/wrap 20)
- (case> (#&.Success 20) true _ false))
+ (case> (#&.Success 20) #1 _ #0))
(|> (&/apply (&/wrap inc) (&/wrap 10))
- (case> (#&.Success 11) true _ false))
+ (case> (#&.Success 11) #1 _ #0))
(|> (&/apply (&/wrap inc) (#&.Error "YOLO"))
- (case> (#&.Error "YOLO") true _ false))))
+ (case> (#&.Error "YOLO") #1 _ #0))))
(test "Monad correctly handles both cases."
(and (|> (do &.Monad<Error>
@@ -38,13 +38,13 @@
a (wrap 10)
b (wrap 20)]
(wrap (f a b)))
- (case> (#&.Success 30) true _ false))
+ (case> (#&.Success 30) #1 _ #0))
(|> (do &.Monad<Error>
[f (wrap i/+)
a (#&.Error "YOLO")
b (wrap 20)]
(wrap (f a b)))
- (case> (#&.Error "YOLO") true _ false))
+ (case> (#&.Error "YOLO") #1 _ #0))
))
)))
@@ -56,5 +56,5 @@
[a (lift (io/wrap 123))
b (wrap 456)]
(wrap (i/+ a b))))
- (case> (#&.Success 579) true
- _ false)))))
+ (case> (#&.Success 579) #1
+ _ #0)))))
diff --git a/stdlib/test/test/lux/data/format/json.lux b/stdlib/test/test/lux/data/format/json.lux
index f648dce28..086c13ece 100644
--- a/stdlib/test/test/lux/data/format/json.lux
+++ b/stdlib/test/test/lux/data/format/json.lux
@@ -73,7 +73,7 @@
(@/= sample result)
(#.Left _)
- false)))
+ #0)))
))))
(type: Variant
@@ -149,7 +149,7 @@
(f/= left' right')
_
- false))]
+ #0))]
(and (:: bit.Equivalence<Bit> = (get@ #bit recL) (get@ #bit recR))
(f/= (get@ #frac recL) (get@ #frac recR))
(:: text.Equivalence<Text> = (get@ #text recL) (get@ #text recR))
@@ -182,4 +182,4 @@
(@/= sample result)
(#e.Error error)
- false))))))
+ #0))))))
diff --git a/stdlib/test/test/lux/data/format/xml.lux b/stdlib/test/test/lux/data/format/xml.lux
index b757fe7e6..350718f0f 100644
--- a/stdlib/test/test/lux/data/format/xml.lux
+++ b/stdlib/test/test/lux/data/format/xml.lux
@@ -75,7 +75,7 @@
(&/= sample result)
(#.Left error)
- false)))
+ #0)))
))))
(context: "Parsing."
@@ -92,27 +92,27 @@
(list/map (|>> #&.Text) children))]]
($_ seq
(test "Can parse text."
- (E.default false
+ (E.default #0
(do E.Monad<Error>
[output (&.run (#&.Text text)
&.text)]
(wrap (text/= text output)))))
(test "Can parse attributes."
- (E.default false
+ (E.default #0
(do E.Monad<Error>
[output (|> (&.attr attr)
(p.before &.ignore)
(&.run node))]
(wrap (text/= value output)))))
(test "Can parse nodes."
- (E.default false
+ (E.default #0
(do E.Monad<Error>
[_ (|> (&.node tag)
(p.before &.ignore)
(&.run node))]
- (wrap true))))
+ (wrap #1))))
(test "Can parse children."
- (E.default false
+ (E.default #0
(do E.Monad<Error>
[outputs (|> (&.children (p.some &.text))
(&.run node))]
diff --git a/stdlib/test/test/lux/data/ident.lux b/stdlib/test/test/lux/data/ident.lux
index 0f8133721..e0e37d7a8 100644
--- a/stdlib/test/test/lux/data/ident.lux
+++ b/stdlib/test/test/lux/data/ident.lux
@@ -49,12 +49,12 @@
(|> ident1
&/encode &/decode
(case> (#.Right dec-ident) (&/= ident1 dec-ident)
- _ false)))
+ _ #0)))
(test "Encoding an ident without a module component results in text equal to the name of the ident."
(if (text.empty? module1)
(text/= name1 (&/encode ident1))
- true))
+ #1))
))))
(context: "Ident-related macros."
diff --git a/stdlib/test/test/lux/data/maybe.lux b/stdlib/test/test/lux/data/maybe.lux
index 4401748cd..8e6680ad8 100644
--- a/stdlib/test/test/lux/data/maybe.lux
+++ b/stdlib/test/test/lux/data/maybe.lux
@@ -55,5 +55,5 @@
[a (lift (io/wrap 123))
b (wrap 456)]
(wrap (i/+ a b))))
- (case> (#.Some 579) true
- _ false)))))
+ (case> (#.Some 579) #1
+ _ #0)))))
diff --git a/stdlib/test/test/lux/data/number.lux b/stdlib/test/test/lux/data/number.lux
index cc286dcd5..15bdbfd4c 100644
--- a/stdlib/test/test/lux/data/number.lux
+++ b/stdlib/test/test/lux/data/number.lux
@@ -84,10 +84,10 @@
(test "" (and (<= x (:: <Interval> bottom))
(>= x (:: <Interval> top)))))))]
- ["Nat" r.nat Number<Nat> Order<Nat> Interval<Nat> (function (_ _) true)]
- ["Int" r.int Number<Int> Order<Int> Interval<Int> (function (_ _) true)]
+ ["Nat" r.nat Number<Nat> Order<Nat> Interval<Nat> (function (_ _) #1)]
+ ["Int" r.int Number<Int> Order<Int> Interval<Int> (function (_ _) #1)]
## Both min and max values will be positive (thus, greater than zero)
- ["Rev" r.rev Number<Rev> Order<Rev> Interval<Rev> (function (_ _) true)]
+ ["Rev" r.rev Number<Rev> Order<Rev> Interval<Rev> (function (_ _) #1)]
["Frac" r.frac Number<Frac> Order<Frac> Interval<Frac> (f/> 0.0)]
)
@@ -104,18 +104,18 @@
(= x (compose x identity))
(= identity (compose identity identity)))))))]
- ["Nat/Add" r.nat Number<Nat> Order<Nat> Add@Monoid<Nat> (n/% +1000) (function (_ _) true)]
- ["Nat/Mul" r.nat Number<Nat> Order<Nat> Mul@Monoid<Nat> (n/% +1000) (function (_ _) true)]
- ["Nat/Min" r.nat Number<Nat> Order<Nat> Min@Monoid<Nat> (n/% +1000) (function (_ _) true)]
- ["Nat/Max" r.nat Number<Nat> Order<Nat> Max@Monoid<Nat> (n/% +1000) (function (_ _) true)]
- ["Int/Add" r.int Number<Int> Order<Int> Add@Monoid<Int> (i/% 1000) (function (_ _) true)]
- ["Int/Mul" r.int Number<Int> Order<Int> Mul@Monoid<Int> (i/% 1000) (function (_ _) true)]
- ["Int/Min" r.int Number<Int> Order<Int> Min@Monoid<Int> (i/% 1000) (function (_ _) true)]
- ["Int/Max" r.int Number<Int> Order<Int> Max@Monoid<Int> (i/% 1000) (function (_ _) true)]
- ["Rev/Add" r.rev Number<Rev> Order<Rev> Add@Monoid<Rev> (r/% .125) (function (_ _) true)]
- ["Rev/Mul" r.rev Number<Rev> Order<Rev> Mul@Monoid<Rev> (r/% .125) (function (_ _) true)]
- ["Rev/Min" r.rev Number<Rev> Order<Rev> Min@Monoid<Rev> (r/% .125) (function (_ _) true)]
- ["Rev/Max" r.rev Number<Rev> Order<Rev> Max@Monoid<Rev> (r/% .125) (function (_ _) true)]
+ ["Nat/Add" r.nat Number<Nat> Order<Nat> Add@Monoid<Nat> (n/% +1000) (function (_ _) #1)]
+ ["Nat/Mul" r.nat Number<Nat> Order<Nat> Mul@Monoid<Nat> (n/% +1000) (function (_ _) #1)]
+ ["Nat/Min" r.nat Number<Nat> Order<Nat> Min@Monoid<Nat> (n/% +1000) (function (_ _) #1)]
+ ["Nat/Max" r.nat Number<Nat> Order<Nat> Max@Monoid<Nat> (n/% +1000) (function (_ _) #1)]
+ ["Int/Add" r.int Number<Int> Order<Int> Add@Monoid<Int> (i/% 1000) (function (_ _) #1)]
+ ["Int/Mul" r.int Number<Int> Order<Int> Mul@Monoid<Int> (i/% 1000) (function (_ _) #1)]
+ ["Int/Min" r.int Number<Int> Order<Int> Min@Monoid<Int> (i/% 1000) (function (_ _) #1)]
+ ["Int/Max" r.int Number<Int> Order<Int> Max@Monoid<Int> (i/% 1000) (function (_ _) #1)]
+ ["Rev/Add" r.rev Number<Rev> Order<Rev> Add@Monoid<Rev> (r/% .125) (function (_ _) #1)]
+ ["Rev/Mul" r.rev Number<Rev> Order<Rev> Mul@Monoid<Rev> (r/% .125) (function (_ _) #1)]
+ ["Rev/Min" r.rev Number<Rev> Order<Rev> Min@Monoid<Rev> (r/% .125) (function (_ _) #1)]
+ ["Rev/Max" r.rev Number<Rev> Order<Rev> Max@Monoid<Rev> (r/% .125) (function (_ _) #1)]
["Frac/Add" r.frac Number<Frac> Order<Frac> Add@Monoid<Frac> (f/% 1000.0) (f/> 0.0)]
["Frac/Mul" r.frac Number<Frac> Order<Frac> Mul@Monoid<Frac> (f/% 1000.0) (f/> 0.0)]
["Frac/Min" r.frac Number<Frac> Order<Frac> Min@Monoid<Frac> (f/% 1000.0) (f/> 0.0)]
@@ -135,7 +135,7 @@
(:: <Equivalence> = x x')
(#.Left _)
- false))))))]
+ #0))))))]
["Nat/Binary" r.nat Equivalence<Nat> Binary@Codec<Text,Nat>]
["Nat/Octal" r.nat Equivalence<Nat> Octal@Codec<Text,Nat>]
diff --git a/stdlib/test/test/lux/data/number/ratio.lux b/stdlib/test/test/lux/data/number/ratio.lux
index 0235a78b7..5be1942f2 100644
--- a/stdlib/test/test/lux/data/number/ratio.lux
+++ b/stdlib/test/test/lux/data/number/ratio.lux
@@ -113,4 +113,4 @@
(&.= sample output)
_
- false))))))
+ #0))))))
diff --git a/stdlib/test/test/lux/data/sum.lux b/stdlib/test/test/lux/data/sum.lux
index 0cc9e36af..4f8cadac2 100644
--- a/stdlib/test/test/lux/data/sum.lux
+++ b/stdlib/test/test/lux/data/sum.lux
@@ -13,8 +13,8 @@
(let [(^open "List/") (list.Equivalence<List> text.Equivalence<Text>)]
($_ seq
(test "Can inject values into Either."
- (and (|> (left "Hello") (case> (+0 "Hello") true _ false))
- (|> (right "World") (case> (+1 "World") true _ false))))
+ (and (|> (left "Hello") (case> (+0 "Hello") #1 _ #0))
+ (|> (right "World") (case> (+1 "World") #1 _ #0))))
(test "Can discriminate eithers based on their cases."
(let [[_lefts _rights] (partition (: (List (| Text Text))
diff --git a/stdlib/test/test/lux/data/text.lux b/stdlib/test/test/lux/data/text.lux
index c75b1bacd..478fb8c39 100644
--- a/stdlib/test/test/lux/data/text.lux
+++ b/stdlib/test/test/lux/data/text.lux
@@ -53,7 +53,7 @@
(&.contains? char sample))
_
- false
+ #0
))
))))
@@ -83,7 +83,7 @@
(= sample (&.concat (list _l _r))))
_
- false))
+ #0))
(|> [(&.clip +0 sizeL sample)
(&.clip sizeL (&.size sample) sample)
@@ -96,7 +96,7 @@
(= sample _f))
_
- false))
+ #0))
)
))))
diff --git a/stdlib/test/test/lux/data/text/format.lux b/stdlib/test/test/lux/data/text/format.lux
index 0d328cb0e..6c877da7b 100644
--- a/stdlib/test/test/lux/data/text/format.lux
+++ b/stdlib/test/test/lux/data/text/format.lux
@@ -13,11 +13,11 @@
(let [(^open "&/") text.Equivalence<Text>]
($_ seq
(test "Can format common values simply."
- (and (&/= "true" (%b true))
+ (and (&/= "#1" (%b #1))
(&/= "+123" (%n +123))
(&/= "123" (%i 123))
(&/= "123.456" (%f 123.456))
(&/= ".5" (%r .5))
(&/= "\"YOLO\"" (%t "YOLO"))
- (&/= "User-id: 123 -- Active: true" (format "User-id: " (%i 123) " -- Active: " (%b true)))))
+ (&/= "User-id: 123 -- Active: #1" (format "User-id: " (%i 123) " -- Active: " (%b #1)))))
)))
diff --git a/stdlib/test/test/lux/data/text/lexer.lux b/stdlib/test/test/lux/data/text/lexer.lux
index b02082357..cab364c59 100644
--- a/stdlib/test/test/lux/data/text/lexer.lux
+++ b/stdlib/test/test/lux/data/text/lexer.lux
@@ -20,8 +20,8 @@
(def: (should-fail input)
(All [a] (-> (E.Error a) Bit))
(case input
- (#.Left _) true
- _ false))
+ (#.Left _) #1
+ _ #0))
(def: (should-passT test input)
(-> Text (E.Error Text) Bit)
@@ -30,7 +30,7 @@
(text/= test output)
_
- false))
+ #0))
(def: (should-passL test input)
(-> (List Text) (E.Error (List Text)) Bit)
@@ -40,7 +40,7 @@
(list/= test output)
_
- false)))
+ #0)))
(def: (should-passE test input)
(-> (Either Text Text) (E.Error (Either Text Text)) Bit)
@@ -54,10 +54,10 @@
(text/= test output)
_
- false)
+ #0)
_
- false))
+ #0))
## [Tests]
(context: "End"
@@ -65,12 +65,12 @@
(test "Can detect the end of the input."
(|> (&.run ""
&.end)
- (case> (#.Right _) true _ false)))
+ (case> (#.Right _) #1 _ #0)))
(test "Won't mistake non-empty text for no more input."
(|> (&.run "YOLO"
&.end)
- (case> (#.Left _) true _ false)))
+ (case> (#.Left _) #1 _ #0)))
))
(context: "Literals"
@@ -84,10 +84,10 @@
(test "Can find literal text fragments."
(and (|> (&.run sample
(&.this sample))
- (case> (#.Right []) true _ false))
+ (case> (#.Right []) #1 _ #0))
(|> (&.run non-sample
(&.this sample))
- (case> (#.Left _) true _ false))))
+ (case> (#.Left _) #1 _ #0))))
))))
(context: "Custom lexers"
@@ -166,8 +166,8 @@
(test "Can combine lexers sequentially."
(and (|> (&.run "YO"
(p.seq &.any &.any))
- (case> (#.Right ["Y" "O"]) true
- _ false))
+ (case> (#.Right ["Y" "O"]) #1
+ _ #0))
(should-fail (&.run "Y"
(p.seq &.any &.any)))))
@@ -191,9 +191,9 @@
(test "Can lex using arbitrary predicates."
(and (should-passT "D" (&.run "D"
- (&.satisfies (function (_ c) true))))
+ (&.satisfies (function (_ c) #1))))
(should-fail (&.run "C"
- (&.satisfies (function (_ c) false))))))
+ (&.satisfies (function (_ c) #0))))))
(test "Can apply a lexer multiple times."
(and (should-passT "0123456789ABCDEF" (&.run "0123456789ABCDEF"
diff --git a/stdlib/test/test/lux/data/text/regex.lux b/stdlib/test/test/lux/data/text/regex.lux
index ff09a55db..dd13cee12 100644
--- a/stdlib/test/test/lux/data/text/regex.lux
+++ b/stdlib/test/test/lux/data/text/regex.lux
@@ -26,7 +26,7 @@
(text/= parsed input)
_
- false)))
+ #0)))
(def: (should-passT test regex input)
(-> Text (lexer.Lexer Text) Text Bit)
@@ -35,20 +35,20 @@
(text/= test parsed)
_
- false)))
+ #0)))
(def: (should-fail regex input)
(All [a] (-> (lexer.Lexer a) Text Bit))
(|> (lexer.run input regex)
- (case> (#.Left _) true _ false)))
+ (case> (#.Left _) #1 _ #0)))
(syntax: (should-check pattern regex input)
(wrap (list (` (|> (lexer.run (~ input) (~ regex))
(case> (^ (#.Right (~ pattern)))
- true
+ #1
(~' _)
- false))))))
+ #0))))))
## [Tests]
(context: "Regular Expressions [Basics]"
@@ -285,4 +285,4 @@
_
(test "Cannot pattern-match using regular-expressions."
- false)))))
+ #0)))))
diff --git a/stdlib/test/test/lux/host.jvm.lux b/stdlib/test/test/lux/host.jvm.lux
index d5469b9c2..5d233187d 100644
--- a/stdlib/test/test/lux/host.jvm.lux
+++ b/stdlib/test/test/lux/host.jvm.lux
@@ -35,7 +35,7 @@
(#private baz java/lang/Object)
## Methods
(#public [] (new [value A]) []
- (exec (:= ::foo true)
+ (exec (:= ::foo #1)
(:= ::bar value)
(:= ::baz "")
[]))
@@ -92,7 +92,7 @@
(not (&.instance? Object (&.null)))))
(test "Can run code in a \"synchronized\" block."
- (&.synchronized "" true))
+ (&.synchronized "" #1))
(test "Can access Class instances."
(text/= "java.lang.Class" (Class::getName [] (&.class-for java/lang/Class))))
@@ -103,11 +103,11 @@
(test "Can safely convert nullable references into Maybe values."
(and (|> (: (Maybe Object) (&.??? (&.null)))
- (case> #.None true
- _ false))
+ (case> #.None #1
+ _ #0))
(|> (: (Maybe Object) (&.??? ""))
- (case> (#.Some _) true
- _ false))))
+ (case> (#.Some _) #1
+ _ #0))))
))
(context: "Arrays"
diff --git a/stdlib/test/test/lux/language/compiler/analysis/case.lux b/stdlib/test/test/lux/language/compiler/analysis/case.lux
index 14b762271..adbacaa0e 100644
--- a/stdlib/test/test/lux/language/compiler/analysis/case.lux
+++ b/stdlib/test/test/lux/language/compiler/analysis/case.lux
@@ -47,7 +47,7 @@
(-> Bit (List [Code Code]) Code (r.Random (List Code)))
(case inputC
[_ (#.Bit _)]
- (random/wrap (list (' true) (' false)))
+ (random/wrap (list (' #1) (' #0)))
(^template [<tag> <gen> <wrapper>]
[_ (<tag> _)]
@@ -151,8 +151,8 @@
[outputT outputC] _primitive.primitive
[heterogeneousT heterogeneousC] (r.filter (|>> product.left (check.checks? outputT) not)
_primitive.primitive)
- exhaustive-patterns (exhaustive-branches true variantTC inputC)
- redundant-patterns (exhaustive-branches false variantTC inputC)
+ exhaustive-patterns (exhaustive-branches #1 variantTC inputC)
+ redundant-patterns (exhaustive-branches #0 variantTC inputC)
redundancy-idx (|> r.nat (:: @ map (n/% (list.size redundant-patterns))))
heterogeneous-idx (|> r.nat (:: @ map (n/% (list.size exhaustive-patterns))))
#let [exhaustive-branchesC (list/map (branch outputC)
@@ -172,10 +172,10 @@
(typeA.with-type outputT)
analysis.with-scope
(do compiler.Monad<Operation>
- [_ (module.declare-tags variant-tags false
+ [_ (module.declare-tags variant-tags #0
(#.Named [module-name variant-name]
(type.variant primitivesT)))
- _ (module.declare-tags record-tags false
+ _ (module.declare-tags record-tags #0
(#.Named [module-name record-name]
(type.tuple primitivesT)))])
(module.with-module +0 module-name))]]
diff --git a/stdlib/test/test/lux/language/compiler/analysis/function.lux b/stdlib/test/test/lux/language/compiler/analysis/function.lux
index 32ef59e3f..f3d8ce0dc 100644
--- a/stdlib/test/test/lux/language/compiler/analysis/function.lux
+++ b/stdlib/test/test/lux/language/compiler/analysis/function.lux
@@ -44,7 +44,7 @@
(n/= num-args (list.size argsA)))
(#e.Error error)
- false)))
+ #0)))
(context: "Function definition."
(<| (times +100)
diff --git a/stdlib/test/test/lux/language/compiler/analysis/primitive.lux b/stdlib/test/test/lux/language/compiler/analysis/primitive.lux
index fadde9bb0..07510ae9d 100644
--- a/stdlib/test/test/lux/language/compiler/analysis/primitive.lux
+++ b/stdlib/test/test/lux/language/compiler/analysis/primitive.lux
@@ -69,7 +69,7 @@
(is? [] output)
_
- false)))
+ #0)))
(<| (times +100)
(`` ($_ seq
(~~ (do-template [<desc> <type> <tag> <random> <constructor>]
@@ -81,7 +81,7 @@
(is? sample output)
_
- false))))]
+ #0))))]
["bit" Bit #analysis.Bit r.bit code.bit]
["nat" Nat #analysis.Nat r.nat code.nat]
diff --git a/stdlib/test/test/lux/language/compiler/analysis/procedure/common.lux b/stdlib/test/test/lux/language/compiler/analysis/procedure/common.lux
index 7ea4a23bd..19d1e8e96 100644
--- a/stdlib/test/test/lux/language/compiler/analysis/procedure/common.lux
+++ b/stdlib/test/test/lux/language/compiler/analysis/procedure/common.lux
@@ -41,8 +41,8 @@
(#e.Error error)
<failure>)))]
- [check-success+ true false]
- [check-failure+ false true]
+ [check-success+ #1 #0]
+ [check-failure+ #0 #1]
)
(context: "Lux procedures"
@@ -185,10 +185,10 @@
(_primitive.analyse code))))
(compiler.run [analysisE.bundle (init.compiler [])])
(case> (#e.Success _)
- true
+ #1
(#e.Error error)
- false)))]]
+ #0)))]]
($_ seq
(test "Can create arrays."
(check-success+ "lux array new" (list sizeC) arrayT))
@@ -255,10 +255,10 @@
(_primitive.analyse (` ("lux atom read" (~ (code.symbol ["" var-name]))))))))
(compiler.run [analysisE.bundle (init.compiler [])])
(case> (#e.Success _)
- true
+ #1
(#e.Error _)
- false)))
+ #0)))
(test "Can swap the value of an atomic reference."
(|> (scope.with-scope ""
(scope.with-local [var-name atomT]
@@ -269,10 +269,10 @@
(~ elemC)))))))
(compiler.run [analysisE.bundle (init.compiler [])])
(case> (#e.Success _)
- true
+ #1
(#e.Error _)
- false)))
+ #0)))
))))
(context: "Process procedures"
diff --git a/stdlib/test/test/lux/language/compiler/analysis/reference.lux b/stdlib/test/test/lux/language/compiler/analysis/reference.lux
index d68e2e8f4..0ae6dbe96 100644
--- a/stdlib/test/test/lux/language/compiler/analysis/reference.lux
+++ b/stdlib/test/test/lux/language/compiler/analysis/reference.lux
@@ -42,8 +42,8 @@
(#e.Error _)
<on-failure>)))]
- [success? true false]
- [failure? false true]
+ [success? #1 #0]
+ [failure? #0 #1]
)
(def: (reach-test var-name [export? def-module] [import? dependent-module] check!)
@@ -52,7 +52,7 @@
[_ (module.with-module +0 def-module
(module.define var-name [Any
(if export?
- (' {#.export? true})
+ (' {#.export? #1})
(' {}))
[]]))]
(module.with-module +0 dependent-module
@@ -86,7 +86,7 @@
(n/= +0 var))
_
- false)))
+ #0)))
(test "Can analyse definition (in the same module)."
(let [def-name [def-module var-name]]
(|> (do compiler.Monad<Operation>
@@ -100,11 +100,11 @@
(ident/= def-name constant-name))
_
- false))))
+ #0))))
(test "Can analyse definition (if exported from imported module)."
- (reach-test var-name [true def-module] [true dependent-module] success?))
+ (reach-test var-name [#1 def-module] [#1 dependent-module] success?))
(test "Cannot analyse definition (if not exported from imported module)."
- (reach-test var-name [false def-module] [true dependent-module] failure?))
+ (reach-test var-name [#0 def-module] [#1 dependent-module] failure?))
(test "Cannot analyse definition (if exported from non-imported module)."
- (reach-test var-name [true def-module] [false dependent-module] failure?))
+ (reach-test var-name [#1 def-module] [#0 dependent-module] failure?))
))))
diff --git a/stdlib/test/test/lux/language/compiler/analysis/structure.lux b/stdlib/test/test/lux/language/compiler/analysis/structure.lux
index 8d8ce4cd0..3fb2d2455 100644
--- a/stdlib/test/test/lux/language/compiler/analysis/structure.lux
+++ b/stdlib/test/test/lux/language/compiler/analysis/structure.lux
@@ -44,8 +44,8 @@
_
<on-error>)))]
- [check-succeeds true false]
- [check-fails false true]
+ [check-succeeds #1 #0]
+ [check-fails #0 #1]
)
(def: (check-sum' size tag variant)
@@ -68,12 +68,12 @@
(check-sum' size tag variant)
_
- false)))
+ #0)))
(def: (tagged module tags type)
(All [a] (-> Text (List module.Tag) Type (Operation a) (Operation [Module a])))
(|>> (do compiler.Monad<Operation>
- [_ (module.declare-tags tags false type)])
+ [_ (module.declare-tags tags #0 type)])
(module.with-module +0 module)))
(def: (check-variant module tags type size tag analysis)
@@ -88,7 +88,7 @@
(check-sum' size tag variant)
_
- false)))
+ #0)))
(def: (right-size? size)
(-> Nat (-> Analysis Bit))
@@ -104,7 +104,7 @@
(right-size? size productA))
_
- false)))
+ #0)))
(context: "Sums"
(<| (times +100)
@@ -140,7 +140,7 @@
(check-sum' size choice variant)
_
- false)))
+ #0)))
(test "Cannot analyse sum through unbound type-vars."
(|> (do compiler.Monad<Operation>
[[_ varT] (typeA.with-env check.var)]
@@ -182,7 +182,7 @@
(right-size? size tupleA)
_
- false)))
+ #0)))
(test "Can infer product."
(|> (typeA.with-inference
(/.product ..analyse (list/map product.right primitives)))
@@ -192,7 +192,7 @@
(right-size? size tupleA))
_
- false)))
+ #0)))
(test "Can analyse pseudo-product (singleton tuple)"
(|> (typeA.with-type singletonT
(..analyse (` [(~ singletonC)])))
@@ -209,7 +209,7 @@
(right-size? size tupleA)
_
- false)))
+ #0)))
(test "Can analyse product through existential quantification."
(|> (typeA.with-type (type.ex-q +1 +tupleT)
(/.product ..analyse (list/map product.right +primitives)))
diff --git a/stdlib/test/test/lux/language/compiler/synthesis/case.lux b/stdlib/test/test/lux/language/compiler/synthesis/case.lux
index ff84207a1..0f907f310 100644
--- a/stdlib/test/test/lux/language/compiler/synthesis/case.lux
+++ b/stdlib/test/test/lux/language/compiler/synthesis/case.lux
@@ -32,7 +32,7 @@
(expressionS.synthesizer extensionL.empty)
(///compiler.run //.init)
(error/map (//primitive.corresponds? maskedA))
- (error.default false))))))
+ (error.default #0))))))
(context: "Let expressions."
(<| (times +100)
@@ -55,7 +55,7 @@
(//primitive.corresponds? outputA outputS))
_
- false))))))
+ #0))))))
(context: "If expressions."
(<| (times +100)
@@ -65,10 +65,10 @@
thenA //primitive.primitive
elseA //primitive.primitive
#let [thenB (: Branch
- [(#analysisL.Simple (#analysisL.Bit true))
+ [(#analysisL.Simple (#analysisL.Bit #1))
thenA])
elseB (: Branch
- [(#analysisL.Simple (#analysisL.Bit false))
+ [(#analysisL.Simple (#analysisL.Bit #0))
elseA])
ifA (if then|else
(analysisL.control/case [inputA [thenB (list elseB)]])
@@ -83,4 +83,4 @@
(//primitive.corresponds? elseA elseS))
_
- false))))))
+ #0))))))
diff --git a/stdlib/test/test/lux/language/compiler/synthesis/function.lux b/stdlib/test/test/lux/language/compiler/synthesis/function.lux
index 0116033bd..0c55b64fd 100644
--- a/stdlib/test/test/lux/language/compiler/synthesis/function.lux
+++ b/stdlib/test/test/lux/language/compiler/synthesis/function.lux
@@ -88,7 +88,7 @@
(def: local-function
(r.Random [Arity Analysis Variable])
(loop [arity +0
- nest? true]
+ nest? #1]
(if nest?
(do r.Monad<Random>
[nest?' r.bit
@@ -129,7 +129,7 @@
(variable/= prediction//environment output))
_
- false)))
+ #0)))
(test "Folded functions properly offset local variables."
(|> function//local
(expressionS.synthesizer extensionL.empty)
@@ -139,7 +139,7 @@
(variable/= prediction//local output))
_
- false)))
+ #0)))
))))
(context: "Function application."
@@ -159,7 +159,7 @@
(list.zip2 argsA argsS)))
_
- false)))
+ #0)))
(test "Function application on no arguments just synthesizes to the function itself."
(|> (analysisL.apply [funcA (list)])
(expressionS.synthesizer extensionL.empty)
@@ -168,5 +168,5 @@
(//primitive.corresponds? funcA funcS)
_
- false)))
+ #0)))
))))
diff --git a/stdlib/test/test/lux/language/compiler/synthesis/primitive.lux b/stdlib/test/test/lux/language/compiler/synthesis/primitive.lux
index c804b94ff..0bf5d9765 100644
--- a/stdlib/test/test/lux/language/compiler/synthesis/primitive.lux
+++ b/stdlib/test/test/lux/language/compiler/synthesis/primitive.lux
@@ -64,7 +64,7 @@
(is? valueS valueA)
_
- false))
+ #0))
(context: "Primitives."
(<| (times +100)
@@ -85,7 +85,7 @@
(is? <sample> value)
_
- false)))]
+ #0)))]
["unit" #analysisL.Unit #//.Text //.unit]
["bit" #analysisL.Bit #//.Bit %bit%]
diff --git a/stdlib/test/test/lux/language/compiler/synthesis/structure.lux b/stdlib/test/test/lux/language/compiler/synthesis/structure.lux
index db56757d1..d3845929c 100644
--- a/stdlib/test/test/lux/language/compiler/synthesis/structure.lux
+++ b/stdlib/test/test/lux/language/compiler/synthesis/structure.lux
@@ -39,7 +39,7 @@
(//primitive.corresponds? memberA valueS)))
_
- false)))
+ #0)))
))))
(context: "Tuples"
@@ -58,5 +58,5 @@
(list.zip2 membersA membersS)))
_
- false)))
+ #0)))
))))
diff --git a/stdlib/test/test/lux/language/syntax.lux b/stdlib/test/test/lux/language/syntax.lux
index 8c93867aa..110140e58 100644
--- a/stdlib/test/test/lux/language/syntax.lux
+++ b/stdlib/test/test/lux/language/syntax.lux
@@ -89,7 +89,7 @@
(case (&.read "" (dict.new text.Hash<Text>)
[default-cursor +0 (code.to-text sample)])
(#e.Error error)
- false
+ #0
(#e.Success [_ parsed])
(:: code.Equivalence<Code> = parsed sample)))
@@ -98,13 +98,13 @@
[default-cursor +0 (format (code.to-text sample) " "
(code.to-text other))])
(#e.Error error)
- false
+ #0
(#e.Success [remaining =sample])
(case (&.read "" (dict.new text.Hash<Text>)
remaining)
(#e.Error error)
- false
+ #0
(#e.Success [_ =other])
(and (:: code.Equivalence<Code> = sample =sample)
@@ -129,7 +129,7 @@
(f/= expected actual)
_
- false)
+ #0)
))))
(context: "Nat special syntax."
@@ -144,7 +144,7 @@
(n/= expected actual)
_
- false)
+ #0)
))))
(def: comment-text^
@@ -193,10 +193,10 @@
[default-cursor +0
(format "\"" bad-match "\"")])
(#e.Error error)
- true
+ #1
(#e.Success [_ parsed])
- false)))
+ #0)))
(test "Will accept valid multi-line text"
(let [good-input (format (text.from-code x) "\n"
offset (text.from-code y) "\n"
@@ -209,7 +209,7 @@
+0
(format "\"" good-input "\"")])
(#e.Error error)
- false
+ #0
(#e.Success [_ parsed])
(:: code.Equivalence<Code> =
@@ -220,7 +220,7 @@
[default-cursor +0
(format comment (code.to-text sample))])
(#e.Error error)
- false
+ #0
(#e.Success [_ parsed])
(:: code.Equivalence<Code> = parsed sample)))
@@ -230,17 +230,17 @@
(format "#(" "#(" unbalanced-comment ")#"
(code.to-text sample))])
(#e.Error error)
- true
+ #1
(#e.Success [_ parsed])
- false)
+ #0)
(case (&.read "" (dict.new text.Hash<Text>)
[default-cursor +0
(format "#(" unbalanced-comment ")#" ")#"
(code.to-text sample))])
(#e.Error error)
- true
+ #1
(#e.Success [_ parsed])
- false)))
+ #0)))
))))
diff --git a/stdlib/test/test/lux/language/type.lux b/stdlib/test/test/lux/language/type.lux
index 5f2cff09b..631e3de09 100644
--- a/stdlib/test/test/lux/language/type.lux
+++ b/stdlib/test/test/lux/language/type.lux
@@ -55,13 +55,13 @@
(context: "Type application"
(test "Can apply quantified types (universal and existential quantification)."
- (and (maybe.default false
+ (and (maybe.default #0
(do maybe.Monad<Maybe>
[partial (&.apply (list Bit) Ann)
full (&.apply (list Int) partial)]
(wrap (:: &.Equivalence<Type> = full (#.Product Bit Int)))))
(|> (&.apply (list Bit) Text)
- (case> #.None true _ false)))))
+ (case> #.None #1 _ #0)))))
(context: "Naming"
(let [base (#.Named ["" "a"] (#.Product Bit Int))
@@ -90,10 +90,10 @@
(r.filter (function (_ type)
(case type
(^or (#.Sum _) (#.Product _))
- false
+ #0
_
- true)))
+ #1)))
(list.repeat size)
(M.seq @))
#let [(^open "&/") &.Equivalence<Type>
@@ -122,10 +122,10 @@
(r.filter (function (_ type)
(case type
(^or (#.Function _) (#.Apply _))
- false
+ #0
_
- true))))
+ #1))))
#let [(^open "&/") &.Equivalence<Type>
(^open "L/") (list.Equivalence<List> &.Equivalence<Type>)]]
($_ seq
@@ -147,10 +147,10 @@
(r.filter (function (_ type)
(case type
(^or (#.UnivQ _) (#.ExQ _))
- false
+ #0
_
- true))))
+ #1))))
#let [(^open "&/") &.Equivalence<Type>]]
(with-expansions
[<quant-tests> (do-template [<desc> <ctor> <dtor>]
diff --git a/stdlib/test/test/lux/language/type/check.lux b/stdlib/test/test/lux/language/type/check.lux
index c2db4533c..1faf59f16 100644
--- a/stdlib/test/test/lux/language/type/check.lux
+++ b/stdlib/test/test/lux/language/type/check.lux
@@ -56,7 +56,7 @@
(list.every? valid-type? params)
(#.Ex id)
- true
+ #1
(^template [<tag>]
(<tag> left right)
@@ -67,16 +67,16 @@
(valid-type? type')
_
- false))
+ #0))
(def: (type-checks? input)
(-> (@.Check []) Bit)
(case (@.run @.fresh-context input)
(#.Right [])
- true
+ #1
(#.Left error)
- false))
+ #0))
## [Tests]
(context: "Any and Nothing."
@@ -210,7 +210,7 @@
(<| (times +100)
(do @
[num-connections (|> r.nat (:: @ map (n/% +100)))
- boundT (|> gen-type (r.filter (|>> (case> (#.Var _) false _ true))))
+ boundT (|> gen-type (r.filter (|>> (case> (#.Var _) #0 _ #1))))
pick-pcg (r.seq r.nat r.nat)]
($_ seq
(test "Can create rings of variables."
diff --git a/stdlib/test/test/lux/macro/code.lux b/stdlib/test/test/lux/macro/code.lux
index 0dfcd8fa0..1a7eba2b7 100644
--- a/stdlib/test/test/lux/macro/code.lux
+++ b/stdlib/test/test/lux/macro/code.lux
@@ -18,17 +18,17 @@
(and (text/= <text> (&.to-text <expr>))
(:: &.Equivalence<Code> = <expr> <expr>)))]
- [(&.bit true) "true"]
- [(&.bit false) "false"]
- [(&.int 123) "123"]
- [(&.frac 123.0) "123.0"]
- [(&.text "\n") "\"\\n\""]
- [(&.tag ["yolo" "lol"]) "#yolo.lol"]
- [(&.symbol ["yolo" "lol"]) "yolo.lol"]
- [(&.form (list (&.bit true) (&.int 123))) "(true 123)"]
- [(&.tuple (list (&.bit true) (&.int 123))) "[true 123]"]
- [(&.record (list [(&.bit true) (&.int 123)])) "{true 123}"]
- [(&.local-tag "lol") "#lol"]
- [(&.local-symbol "lol") "lol"]
+ [(&.bit #1) "#1"]
+ [(&.bit #0) "#0"]
+ [(&.int 123) "123"]
+ [(&.frac 123.0) "123.0"]
+ [(&.text "\n") "\"\\n\""]
+ [(&.tag ["yolo" "lol"]) "#yolo.lol"]
+ [(&.symbol ["yolo" "lol"]) "yolo.lol"]
+ [(&.form (list (&.bit #1) (&.int 123))) "(#1 123)"]
+ [(&.tuple (list (&.bit #1) (&.int 123))) "[#1 123]"]
+ [(&.record (list [(&.bit #1) (&.int 123)])) "{#1 123}"]
+ [(&.local-tag "lol") "#lol"]
+ [(&.local-symbol "lol") "lol"]
)]
($_ seq <tests>)))
diff --git a/stdlib/test/test/lux/macro/poly/functor.lux b/stdlib/test/test/lux/macro/poly/functor.lux
index 6d335701e..3bd4a0847 100644
--- a/stdlib/test/test/lux/macro/poly/functor.lux
+++ b/stdlib/test/test/lux/macro/poly/functor.lux
@@ -21,4 +21,4 @@
## [Tests]
(context: "Functor polytypism."
(test "Can derive functors automatically."
- true))
+ #1))
diff --git a/stdlib/test/test/lux/macro/syntax.lux b/stdlib/test/test/lux/macro/syntax.lux
index 35e25734f..c30157eb7 100644
--- a/stdlib/test/test/lux/macro/syntax.lux
+++ b/stdlib/test/test/lux/macro/syntax.lux
@@ -24,19 +24,19 @@
(-> (Syntax []) (List Code) Bit)
(case (p.run input parser)
(#.Right [_ []])
- true
+ #1
_
- false))
+ #0))
(def: (found? parser input)
(-> (Syntax Bit) (List Code) Bit)
(case (p.run input parser)
- (#.Right [_ true])
- true
+ (#.Right [_ #1])
+ #1
_
- false))
+ #0))
(def: (equals? Equivalence<a> reference parser input)
(All [a] (-> (Equivalence a) a (Syntax a) (List Code) Bit))
@@ -45,24 +45,24 @@
(:: Equivalence<a> = reference output)
_
- false))
+ #0))
(def: (fails? input)
(All [a] (-> (e.Error a) Bit))
(case input
(#.Left _)
- true
+ #1
_
- false))
+ #0))
(syntax: (match pattern input)
(wrap (list (` (case (~ input)
(^ (#.Right [(~' _) (~ pattern)]))
- true
+ #1
(~' _)
- false)))))
+ #0)))))
## [Tests]
(context: "Simple value syntax."
@@ -73,7 +73,7 @@
(found? (s.this? (<ctor> <value>)) (list (<ctor> <value>)))
(enforced? (s.this (<ctor> <value>)) (list (<ctor> <value>)))))]
- ["Can parse Bit syntax." true code.bit bit.Equivalence<Bit> s.bit]
+ ["Can parse Bit syntax." #1 code.bit bit.Equivalence<Bit> s.bit]
["Can parse Nat syntax." +123 code.nat number.Equivalence<Nat> s.nat]
["Can parse Int syntax." 123 code.int number.Equivalence<Int> s.int]
["Can parse Rev syntax." .123 code.rev number.Equivalence<Rev> s.rev]
@@ -104,16 +104,16 @@
(with-expansions
[<group-tests> (do-template [<type> <parser> <ctor>]
[(test (format "Can parse " <type> " syntax.")
- (and (match [true 123]
- (p.run (list (<ctor> (list (code.bit true) (code.int 123))))
+ (and (match [#1 123]
+ (p.run (list (<ctor> (list (code.bit #1) (code.int 123))))
(<parser> (p.seq s.bit s.int))))
- (match true
- (p.run (list (<ctor> (list (code.bit true))))
+ (match #1
+ (p.run (list (<ctor> (list (code.bit #1))))
(<parser> s.bit)))
- (fails? (p.run (list (<ctor> (list (code.bit true) (code.int 123))))
+ (fails? (p.run (list (<ctor> (list (code.bit #1) (code.int 123))))
(<parser> s.bit)))
- (match (#.Left true)
- (p.run (list (<ctor> (list (code.bit true))))
+ (match (#.Left #1)
+ (p.run (list (<ctor> (list (code.bit #1))))
(<parser> (p.alt s.bit s.int))))
(match (#.Right 123)
(p.run (list (<ctor> (list (code.int 123))))
@@ -127,30 +127,30 @@
<group-tests>
(test "Can parse record syntax."
- (match [true 123]
- (p.run (list (code.record (list [(code.bit true) (code.int 123)])))
+ (match [#1 123]
+ (p.run (list (code.record (list [(code.bit #1) (code.int 123)])))
(s.record (p.seq s.bit s.int)))))
)))
(context: "Combinators"
($_ seq
(test "Can parse any Code."
- (match [_ (#.Bit true)]
- (p.run (list (code.bit true) (code.int 123))
+ (match [_ (#.Bit #1)]
+ (p.run (list (code.bit #1) (code.int 123))
s.any)))
(test "Can check whether the end has been reached."
- (and (match true
+ (and (match #1
(p.run (list)
s.end?))
- (match false
- (p.run (list (code.bit true))
+ (match #0
+ (p.run (list (code.bit #1))
s.end?))))
(test "Can ensure the end has been reached."
(and (match []
(p.run (list)
s.end!))
- (fails? (p.run (list (code.bit true))
+ (fails? (p.run (list (code.bit #1))
s.end!))))
))
diff --git a/stdlib/test/test/lux/math/logic/continuous.lux b/stdlib/test/test/lux/math/logic/continuous.lux
index 4dc768cc2..a5501b737 100644
--- a/stdlib/test/test/lux/math/logic/continuous.lux
+++ b/stdlib/test/test/lux/math/logic/continuous.lux
@@ -16,21 +16,21 @@
right r.rev]
($_ seq
(test "AND is the minimum."
- (let [result (&.~and left right)]
+ (let [result (&.and left right)]
(and (r/<= left result)
(r/<= right result))))
(test "OR is the maximum."
- (let [result (&.~or left right)]
+ (let [result (&.or left right)]
(and (r/>= left result)
(r/>= right result))))
(test "Double negation results in the original value."
- (r/= left (&.~not (&.~not left))))
+ (r/= left (&.not (&.not left))))
(test "Every value is equivalent to itself."
(and (r/>= left
- (&.~= left left))
+ (&.= left left))
(r/>= right
- (&.~= right right))))
+ (&.= right right))))
))))
diff --git a/stdlib/test/test/lux/math/logic/fuzzy.lux b/stdlib/test/test/lux/math/logic/fuzzy.lux
index 104c0cf76..55f5d0c67 100644
--- a/stdlib/test/test/lux/math/logic/fuzzy.lux
+++ b/stdlib/test/test/lux/math/logic/fuzzy.lux
@@ -15,7 +15,7 @@
["r" random]
[logic
["&" fuzzy]
- continuous]]]
+ ["_" continuous]]]]
lux/test)
(do-template [<desc> <hash> <gen> <triangle> <lt> <lte> <gt> <gte>]
@@ -39,19 +39,19 @@
triangle (<triangle> x y z)]]
($_ seq
(test "The middle value will always have maximum membership."
- (r/= ~true (&.membership middle triangle)))
+ (r/= _.true (&.membership middle triangle)))
(test "Boundary values will always have 0 membership."
- (and (r/= ~false (&.membership bottom triangle))
- (r/= ~false (&.membership top triangle))))
+ (and (r/= _.false (&.membership bottom triangle))
+ (r/= _.false (&.membership top triangle))))
(test "Values within range, will have membership > 0."
- (bit/= (r/> ~false (&.membership sample triangle))
+ (bit/= (r/> _.false (&.membership sample triangle))
(and (<gt> bottom sample)
(<lt> top sample))))
(test "Values outside of range, will have membership = 0."
- (bit/= (r/= ~false (&.membership sample triangle))
+ (bit/= (r/= _.false (&.membership sample triangle))
(or (<lte> bottom sample)
(<gte> top sample))))
))))]
@@ -80,25 +80,25 @@
trapezoid (<trapezoid> w x y z)]]
($_ seq
(test "The middle values will always have maximum membership."
- (and (r/= ~true (&.membership middle-bottom trapezoid))
- (r/= ~true (&.membership middle-top trapezoid))))
+ (and (r/= _.true (&.membership middle-bottom trapezoid))
+ (r/= _.true (&.membership middle-top trapezoid))))
(test "Boundary values will always have 0 membership."
- (and (r/= ~false (&.membership bottom trapezoid))
- (r/= ~false (&.membership top trapezoid))))
+ (and (r/= _.false (&.membership bottom trapezoid))
+ (r/= _.false (&.membership top trapezoid))))
(test "Values within inner range will have membership = 1"
- (bit/= (r/= ~true (&.membership sample trapezoid))
+ (bit/= (r/= _.true (&.membership sample trapezoid))
(and (<gte> middle-bottom sample)
(<lte> middle-top sample))))
(test "Values within range, will have membership > 0."
- (bit/= (r/> ~false (&.membership sample trapezoid))
+ (bit/= (r/> _.false (&.membership sample trapezoid))
(and (<gt> bottom sample)
(<lt> top sample))))
(test "Values outside of range, will have membership = 0."
- (bit/= (r/= ~false (&.membership sample trapezoid))
+ (bit/= (r/= _.false (&.membership sample trapezoid))
(or (<lte> bottom sample)
(<gte> top sample))))
))))]
@@ -139,7 +139,7 @@
(test "Complement membership is the opposite of normal membership."
(r/= (&.membership sample left)
- (~not (&.membership sample (&.complement left)))))
+ (_.not (&.membership sample (&.complement left)))))
(test "Membership in the difference will never be higher than in the set being subtracted."
(bit/= (r/> (&.membership sample right)
@@ -156,12 +156,12 @@
($_ seq
(test "Values that satisfy a predicate have membership = 1.
Values that don't have membership = 0."
- (bit/= (r/= ~true (&.membership sample (&.from-predicate n/even?)))
+ (bit/= (r/= _.true (&.membership sample (&.from-predicate n/even?)))
(n/even? sample)))
(test "Values that belong to a set have membership = 1.
Values that don't have membership = 0."
- (bit/= (r/= ~true (&.membership sample (&.from-set set-10)))
+ (bit/= (r/= _.true (&.membership sample (&.from-set set-10)))
(set.member? set-10 sample)))
))))
@@ -175,7 +175,7 @@
member? (&.to-predicate threshold fuzzy)]]
($_ seq
(test "Can increase the threshold of membership of a fuzzy set."
- (bit/= (r/> ~false (&.membership sample vip-fuzzy))
+ (bit/= (r/> _.false (&.membership sample vip-fuzzy))
(r/> threshold (&.membership sample fuzzy))))
(test "Can turn fuzzy sets into predicates through a threshold."
diff --git a/stdlib/test/test/lux/math/modular.lux b/stdlib/test/test/lux/math/modular.lux
index 47b8b8aba..f54c2ef69 100644
--- a/stdlib/test/test/lux/math/modular.lux
+++ b/stdlib/test/test/lux/math/modular.lux
@@ -112,7 +112,7 @@
(/.m/= (/.mod normalM 1)))
#.None
- true))
+ #1))
(test "Can encode/decode to text."
(let [(^open "mod/") (/.Codec<Text,Mod> normalM)]
@@ -121,7 +121,7 @@
(/.m/= subject output)
(#e.Error error)
- false)))
+ #0)))
(test "Can equalize 2 moduli if they are equal."
(case (/.equalize (/.mod normalM _subject)
@@ -130,16 +130,16 @@
(/.m/= param paramC)
(#e.Error error)
- false))
+ #0))
(test "Cannot equalize 2 moduli if they are the different."
(case (/.equalize (/.mod normalM _subject)
(/.mod alternativeM _param))
(#e.Success paramA)
- false
+ #0
(#e.Error error)
- true))
+ #1))
(test "All numbers are congruent to themselves."
(/.congruent? normalM _subject _subject))
diff --git a/stdlib/test/test/lux/time/date.lux b/stdlib/test/test/lux/time/date.lux
index 9f70e738f..5e92fffce 100644
--- a/stdlib/test/test/lux/time/date.lux
+++ b/stdlib/test/test/lux/time/date.lux
@@ -144,4 +144,4 @@
(@/= sample decoded)
(#error.Error error)
- false))))))
+ #0))))))
diff --git a/stdlib/test/test/lux/time/duration.lux b/stdlib/test/test/lux/time/duration.lux
index c5896b193..f746f9217 100644
--- a/stdlib/test/test/lux/time/duration.lux
+++ b/stdlib/test/test/lux/time/duration.lux
@@ -80,7 +80,7 @@
#let [(^open "@/") @.Equivalence<Duration>
(^open "@/") @.Codec<Text,Duration>]]
(test "Can encode/decode durations."
- (E.default false
+ (E.default #0
(do E.Monad<Error>
[decoded (|> sample @/encode @/decode)]
(wrap (@/= sample decoded))))))))
diff --git a/stdlib/test/test/lux/time/instant.lux b/stdlib/test/test/lux/time/instant.lux
index 6914bd7b0..27161fa67 100644
--- a/stdlib/test/test/lux/time/instant.lux
+++ b/stdlib/test/test/lux/time/instant.lux
@@ -96,4 +96,4 @@
## (@/= sample decoded)
## (#error.Error error)
-## false))))))
+## #0))))))
diff --git a/stdlib/test/test/lux/type/object/protocol.lux b/stdlib/test/test/lux/type/object/protocol.lux
index 2e2ae212f..fe463205d 100644
--- a/stdlib/test/test/lux/type/object/protocol.lux
+++ b/stdlib/test/test/lux/type/object/protocol.lux
@@ -46,7 +46,7 @@
(def: _test1
[Nat Object0]
- (object0 (method1 [+0 "0" false])))
+ (object0 (method1 [+0 "0" #0])))
(protocol: (Read a)
(read [] a))
diff --git a/stdlib/test/test/lux/world/blob.lux b/stdlib/test/test/lux/world/blob.lux
index ea9dc4087..24035bb0d 100644
--- a/stdlib/test/test/lux/world/blob.lux
+++ b/stdlib/test/test/lux/world/blob.lux
@@ -23,7 +23,7 @@
(-> (e.Error Bit) Bit)
(case result
(#e.Error _)
- false
+ #0
(#e.Success output)
output))
@@ -85,5 +85,5 @@
(:: (list.Equivalence<List> number.Equivalence<Nat>) = slice-vals blob-vals)
_
- false))))
+ #0))))
))))
diff --git a/stdlib/test/test/lux/world/file.lux b/stdlib/test/test/lux/world/file.lux
index 6f508baaa..43b62ac3f 100644
--- a/stdlib/test/test/lux/world/file.lux
+++ b/stdlib/test/test/lux/world/file.lux
@@ -48,7 +48,7 @@
(wrap (and (not pre!) post!
(not remains?)))))]
(assert "Can create/delete files."
- (error.default false result))))
+ (error.default #0 result))))
(wrap (do promise.Monad<Promise>
[#let [file (format "temp_file_" (%n (n/+ +1 code)))]
result (promise.future
@@ -58,7 +58,7 @@
_ (:: @.JVM@System delete file)]
(wrap (:: blob.Equivalence<Blob> = dataL output))))]
(assert "Can write/read files."
- (error.default false result))))
+ (error.default #0 result))))
(wrap (do promise.Monad<Promise>
[#let [file (format "temp_file_" (%n (n/+ +2 code)))]
result (promise.future
@@ -68,7 +68,7 @@
_ (:: @.JVM@System delete file)]
(wrap (n/= file-size read-size))))]
(assert "Can read file size."
- (error.default false result))))
+ (error.default #0 result))))
(wrap (do promise.Monad<Promise>
[#let [file (format "temp_file_" (%n (n/+ +3 code)))]
result (promise.future
@@ -82,7 +82,7 @@
(:: blob.Equivalence<Blob> = dataL (error.assume (blob.slice +0 (dec file-size) output)))
(:: blob.Equivalence<Blob> = dataR (error.assume (blob.slice file-size (dec read-size) output)))))))]
(assert "Can append to files."
- (error.default false result))))
+ (error.default #0 result))))
(wrap (do promise.Monad<Promise>
[#let [dir (format "temp_dir_" (%n (n/+ +4 code)))]
result (promise.future
@@ -95,7 +95,7 @@
(wrap (and (not pre!) post!
(not remains?)))))]
(assert "Can create/delete directories."
- (error.default false result))))
+ (error.default #0 result))))
(wrap (do promise.Monad<Promise>
[#let [file (format "temp_file_" (%n (n/+ +5 code)))
dir (format "temp_dir_" (%n (n/+ +5 code)))]
@@ -112,7 +112,7 @@
(wrap (and file-is-file (not file-is-directory)
(not directory-is-file) directory-is-directory))))]
(assert "Can differentiate files from directories."
- (error.default false result))))
+ (error.default #0 result))))
(wrap (do promise.Monad<Promise>
[#let [file (format "temp_file_" (%n (n/+ +6 code)))
dir (format "temp_dir_" (%n (n/+ +6 code)))]
@@ -126,7 +126,7 @@
_ (:: @.JVM@System delete dir)]
(wrap (n/= file-size read-size))))]
(assert "Can create files inside of directories."
- (error.default false result))))
+ (error.default #0 result))))
(wrap (do promise.Monad<Promise>
[#let [file (format "temp_file_" (%n (n/+ +7 code)))
dir (format "temp_dir_" (%n (n/+ +7 code)))]
@@ -143,9 +143,9 @@
(text.ends-with? file' child)
_
- false))))]
+ #0))))]
(assert "Can list files inside a directory."
- (error.default false result))))
+ (error.default #0 result))))
(wrap (do promise.Monad<Promise>
[#let [file (format "temp_file_" (%n (n/+ +8 code)))]
result (promise.future
@@ -156,7 +156,7 @@
_ (:: @.JVM@System delete file)]
(wrap (:: instant.Equivalence<Instant> = last-modified time-read))))]
(assert "Can change the time of last modification."
- (error.default false result))))
+ (error.default #0 result))))
(wrap (do promise.Monad<Promise>
[#let [file0 (format "temp_file_" (%n (n/+ +9 code)) "0")
file1 (format "temp_file_" (%n (n/+ +9 code)) "1")]
@@ -170,5 +170,5 @@
_ (:: @.JVM@System delete file1)]
(wrap (and pre! (not post!) confirmed?))))]
(assert "Can move a file from one path to another."
- (error.default false result))))
+ (error.default #0 result))))
)))
diff --git a/stdlib/test/test/lux/world/net/tcp.lux b/stdlib/test/test/lux/world/net/tcp.lux
index 1c315c7f5..b72364e5b 100644
--- a/stdlib/test/test/lux/world/net/tcp.lux
+++ b/stdlib/test/test/lux/world/net/tcp.lux
@@ -66,5 +66,5 @@
(wrap (and from-worked?
to-worked?)))]
(assert "Can communicate between client and server."
- (E.default false result))))
+ (E.default #0 result))))
)))
diff --git a/stdlib/test/test/lux/world/net/udp.lux b/stdlib/test/test/lux/world/net/udp.lux
index b1685ebc7..a00b75dbf 100644
--- a/stdlib/test/test/lux/world/net/udp.lux
+++ b/stdlib/test/test/lux/world/net/udp.lux
@@ -59,5 +59,5 @@
(wrap (and from-worked?
to-worked?)))]
(assert "Can communicate between client and server."
- (E.default false result))))
+ (E.default #0 result))))
)))