aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--documentation/bookmark/browser.md1
-rw-r--r--documentation/bookmark/compiler.md1
-rw-r--r--stdlib/source/library/lux.lux34
-rw-r--r--stdlib/source/library/lux/abstract/fold.lux2
-rw-r--r--stdlib/source/library/lux/control/function/memo.lux6
-rw-r--r--stdlib/source/library/lux/control/function/mixin.lux2
-rw-r--r--stdlib/source/library/lux/control/parser/tree.lux4
-rw-r--r--stdlib/source/library/lux/control/state.lux2
-rw-r--r--stdlib/source/library/lux/data/collection/bits.lux36
-rw-r--r--stdlib/source/library/lux/data/collection/dictionary.lux8
-rw-r--r--stdlib/source/library/lux/data/collection/tree.lux6
-rw-r--r--stdlib/source/library/lux/data/collection/tree/zipper.lux26
-rw-r--r--stdlib/source/library/lux/data/maybe.lux2
-rw-r--r--stdlib/source/library/lux/ffi.old.lux54
-rw-r--r--stdlib/source/library/lux/ffi.rb.lux2
-rw-r--r--stdlib/source/library/lux/math/number/int.lux2
-rw-r--r--stdlib/source/library/lux/math/number/nat.lux28
-rw-r--r--stdlib/source/library/lux/time/year.lux18
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/host.lux2
-rw-r--r--stdlib/source/library/lux/tool/compiler/meta/archive/document.lux4
-rw-r--r--stdlib/source/library/lux/world/output/video/resolution.lux2
-rw-r--r--stdlib/source/program/aedifex/artifact/time.lux6
-rw-r--r--stdlib/source/specification/compositor/generation/structure.lux2
-rw-r--r--stdlib/source/specification/lux/abstract/comonad.lux8
-rw-r--r--stdlib/source/specification/lux/abstract/monad.lux8
-rw-r--r--stdlib/source/test/aedifex/artifact.lux14
-rw-r--r--stdlib/source/test/aedifex/artifact/extension.lux8
-rw-r--r--stdlib/source/test/aedifex/artifact/time.lux12
-rw-r--r--stdlib/source/test/lux/abstract/fold.lux4
-rw-r--r--stdlib/source/test/lux/control/exception.lux66
-rw-r--r--stdlib/source/test/lux/control/function/mixin.lux4
-rw-r--r--stdlib/source/test/lux/control/parser/tree.lux4
-rw-r--r--stdlib/source/test/lux/control/security/capability.lux20
-rw-r--r--stdlib/source/test/lux/control/state.lux20
-rw-r--r--stdlib/source/test/lux/data/collection/bits.lux4
-rw-r--r--stdlib/source/test/lux/data/collection/tree.lux12
-rw-r--r--stdlib/source/test/lux/data/collection/tree/zipper.lux10
-rw-r--r--stdlib/source/test/lux/data/maybe.lux4
-rw-r--r--stdlib/source/test/lux/ffi.lua.lux4
-rw-r--r--stdlib/source/test/lux/ffi.rb.lux49
-rw-r--r--stdlib/source/test/lux/math/modular.lux6
-rw-r--r--stdlib/source/test/lux/math/number/int.lux4
-rw-r--r--stdlib/source/test/lux/math/number/nat.lux4
-rw-r--r--stdlib/source/test/lux/time/year.lux4
-rw-r--r--stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/case.lux4
-rw-r--r--stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/structure.lux4
-rw-r--r--stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/case.lux2
-rw-r--r--stdlib/source/test/lux/world/output/video/resolution.lux2
48 files changed, 289 insertions, 242 deletions
diff --git a/documentation/bookmark/browser.md b/documentation/bookmark/browser.md
index e2f95c54c..018b3b7b7 100644
--- a/documentation/bookmark/browser.md
+++ b/documentation/bookmark/browser.md
@@ -36,6 +36,7 @@
# Reference
+1. [Public Suffix List](https://publicsuffix.org/)
1. https://www.opera.com/gx
1. https://evertpot.com/tabs-are-the-wrong-abstraction/
1. http://news.mit.edu/2018/system-patches-private-browsing-0223
diff --git a/documentation/bookmark/compiler.md b/documentation/bookmark/compiler.md
index 5d582a174..390c22c5e 100644
--- a/documentation/bookmark/compiler.md
+++ b/documentation/bookmark/compiler.md
@@ -1,5 +1,6 @@
# Methodology
+1. [Compiling with Continuations by Andrew W. Appel](https://www.amazon.com/dp/0521416957)
1. [Collapsing Towers of Interpreters](https://www.cs.purdue.edu/homes/rompf/papers/amin-popl18.pdf)
1. [Miniphases: Compilation using Modular and Efficient Tree Transformations](https://infoscience.epfl.ch/record/228518/files/paper.pdf)
diff --git a/stdlib/source/library/lux.lux b/stdlib/source/library/lux.lux
index 9b01303ea..6d1f82632 100644
--- a/stdlib/source/library/lux.lux
+++ b/stdlib/source/library/lux.lux
@@ -2052,7 +2052,7 @@
#None}
x))
-(def:''' (tuple->list tuple)
+(def:''' (tuple_to_list tuple)
#Nil
(-> Code ($' Maybe ($' List Code)))
({[_ (#Tuple members)]
@@ -2161,7 +2161,7 @@
_
(fail "Wrong syntax for template")}
[(monad\map maybe_monad get_short bindings)
- (monad\map maybe_monad tuple->list data)])
+ (monad\map maybe_monad tuple_to_list data)])
_
(fail "Wrong syntax for template")}
@@ -3294,8 +3294,7 @@
(#Cons x xs')
(if ("lux i64 =" 0 idx)
(#Some x)
- (nth ("lux i64 -" 1 idx) xs')
- )))
+ (nth ("lux i64 -" 1 idx) xs'))))
(def: (beta_reduce env type)
(-> (List Type) Type Type)
@@ -4839,7 +4838,7 @@
(case (: (Maybe (List Code))
(do maybe_monad
[bindings' (monad\map maybe_monad get_short bindings)
- data' (monad\map maybe_monad tuple->list data)]
+ data' (monad\map maybe_monad tuple_to_list data)]
(let [num_bindings (list\size bindings')]
(if (every? (|>> ("lux i64 =" num_bindings))
(list\map list\size data'))
@@ -4943,7 +4942,7 @@
(-> (List [Code Code]) (List Code))
(|>> (list\map rejoin_pair) list\join))
-(def: (doc_example->Text prev_location baseline example)
+(def: (doc_example_to_text prev_location baseline example)
(-> Location Nat Code [Location Text])
(case example
(^template [<tag> <encode>]
@@ -4963,7 +4962,7 @@
(^template [<tag> <open> <close> <prep>]
[[group_location (<tag> parts)]
(let [[group_location' parts_text] (list\fold (function (_ part [last_location text_accum])
- (let [[part_location part_text] (doc_example->Text last_location baseline part)]
+ (let [[part_location part_text] (doc_example_to_text last_location baseline part)]
[part_location (text\compose text_accum part_text)]))
[(delim_update_location group_location) ""]
(<prep> parts))]
@@ -4977,14 +4976,14 @@
[#Record "{" "}" rejoin_all_pairs])
[new_location (#Rev value)]
- ("lux io error" "@doc_example->Text Undefined behavior.")
+ ("lux io error" "@doc_example_to_text Undefined behavior.")
))
(def: (with_baseline baseline [file line column])
(-> Nat Location Location)
[file line baseline])
-(def: (doc_fragment->Text fragment)
+(def: (doc_fragment_to_text fragment)
(-> Doc_Fragment Text)
(case fragment
(#Doc_Comment comment)
@@ -4996,7 +4995,7 @@
(#Doc_Example example)
(let [baseline (find_baseline_column example)
[location _] example
- [_ text] (doc_example->Text (with_baseline baseline location) baseline example)]
+ [_ text] (doc_example_to_text (with_baseline baseline location) baseline example)]
(text\compose text __paragraph))))
(macro: #export (doc tokens)
@@ -5013,7 +5012,7 @@
" x)))"))}
(return (list (` [(~ location_code)
(#.Text (~ (|> tokens
- (list\map (|>> identify_doc_fragment doc_fragment->Text))
+ (list\map (|>> identify_doc_fragment doc_fragment_to_text))
(text\join_with "")
text$)))]))))
@@ -5451,17 +5450,6 @@
(#Right state scope_type_vars)
))
-(def: (list_at idx xs)
- (All [a] (-> Nat (List a) (Maybe a)))
- (case xs
- #Nil
- #None
-
- (#Cons x xs')
- (if ("lux i64 =" 0 idx)
- (#Some x)
- (list_at (dec idx) xs'))))
-
(macro: #export ($ tokens)
{#.doc (doc "Allows you to refer to the type-variables in a polymorphic function's type, by their index."
"In the example below, 0 corresponds to the 'a' variable."
@@ -5475,7 +5463,7 @@
(^ (list [_ (#Nat idx)]))
(do meta_monad
[stvs get_scope_type_vars]
- (case (list_at idx (list\reverse stvs))
+ (case (..nth idx (list\reverse stvs))
(#Some var_id)
(wrap (list (` (#Ex (~ (nat$ var_id))))))
diff --git a/stdlib/source/library/lux/abstract/fold.lux b/stdlib/source/library/lux/abstract/fold.lux
index 168d743be..58059e634 100644
--- a/stdlib/source/library/lux/abstract/fold.lux
+++ b/stdlib/source/library/lux/abstract/fold.lux
@@ -10,7 +10,7 @@
(-> (-> b a a) a (F b) a))
fold))
-(def: #export (with-monoid monoid fold value)
+(def: #export (with_monoid monoid fold value)
(All [F a]
(-> (Monoid a) (Fold F) (F a) a))
(let [(^open "/\.") monoid]
diff --git a/stdlib/source/library/lux/control/function/memo.lux b/stdlib/source/library/lux/control/function/memo.lux
index 5ab6c2b3b..4c50a0695 100644
--- a/stdlib/source/library/lux/control/function/memo.lux
+++ b/stdlib/source/library/lux/control/function/memo.lux
@@ -41,7 +41,7 @@
(All [i o]
(:let [Memory (Dictionary i o)]
(-> (Memo i o) (-> [Memory i] [Memory o]))))
- (let [memo (//.mixin (//.inherit ..memoization (//.from-recursive memo)))]
+ (let [memo (//.mixin (//.inherit ..memoization (//.from_recursive memo)))]
(function (_ [memory input])
(|> input memo (state.run memory)))))
@@ -50,7 +50,7 @@
"Memoized results will be re-used during recursive invocations, but cannot be accessed after the main invocation has ended.")}
(All [i o]
(-> (Hash i) (Memo i o) (-> i o)))
- (let [memo (//.mixin (//.inherit ..memoization (//.from-recursive memo)))
+ (let [memo (//.mixin (//.inherit ..memoization (//.from_recursive memo)))
empty (dictionary.new hash)]
(|>> memo (state.run empty) product.right)))
@@ -59,6 +59,6 @@
"This is useful as a test control when measuring the effect of using memoization.")}
(All [i o]
(-> (Hash i) (Memo i o) (-> i o)))
- (let [memo (//.mixin (//.from-recursive memo))
+ (let [memo (//.mixin (//.from_recursive memo))
empty (dictionary.new hash)]
(|>> memo (state.run empty) product.right)))
diff --git a/stdlib/source/library/lux/control/function/mixin.lux b/stdlib/source/library/lux/control/function/mixin.lux
index f70b2f9c3..8c3443339 100644
--- a/stdlib/source/library/lux/control/function/mixin.lux
+++ b/stdlib/source/library/lux/control/function/mixin.lux
@@ -58,7 +58,7 @@
(type: #export (Recursive i o)
(-> (-> i o) (-> i o)))
-(def: #export (from-recursive recursive)
+(def: #export (from_recursive recursive)
(All [i o] (-> (Recursive i o) (Mixin i o)))
(function (_ delegate recur)
(recursive recur)))
diff --git a/stdlib/source/library/lux/control/parser/tree.lux b/stdlib/source/library/lux/control/parser/tree.lux
index 5834c69e8..6f2080628 100644
--- a/stdlib/source/library/lux/control/parser/tree.lux
+++ b/stdlib/source/library/lux/control/parser/tree.lux
@@ -30,7 +30,7 @@
(function (_ zipper)
(#try.Success [zipper (zipper.value zipper)])))
-(exception: #export cannot-move-further)
+(exception: #export cannot_move_further)
(template [<name> <direction>]
[(def: #export <name>
@@ -38,7 +38,7 @@
(function (_ zipper)
(case (<direction> zipper)
#.None
- (exception.throw ..cannot-move-further [])
+ (exception.throw ..cannot_move_further [])
(#.Some next)
(#try.Success [next []]))))]
diff --git a/stdlib/source/library/lux/control/state.lux b/stdlib/source/library/lux/control/state.lux
index ef0e2dbb7..b39690469 100644
--- a/stdlib/source/library/lux/control/state.lux
+++ b/stdlib/source/library/lux/control/state.lux
@@ -89,7 +89,7 @@
(while condition body))
(wrap []))))
-(def: #export (do-while condition body)
+(def: #export (do_while condition body)
(All [s] (-> (State s Bit) (State s Any) (State s Any)))
(do ..monad
[_ body]
diff --git a/stdlib/source/library/lux/data/collection/bits.lux b/stdlib/source/library/lux/data/collection/bits.lux
index 63e90f7c8..c90cff48c 100644
--- a/stdlib/source/library/lux/data/collection/bits.lux
+++ b/stdlib/source/library/lux/data/collection/bits.lux
@@ -17,13 +17,13 @@
(type: #export Chunk
I64)
-(def: #export chunk-size
+(def: #export chunk_size
i64.width)
(type: #export Bits
(Array Chunk))
-(def: empty-chunk
+(def: empty_chunk
Chunk
(.i64 0))
@@ -40,7 +40,7 @@
(def: #export (capacity bits)
(-> Bits Nat)
- (|> bits array.size (n.* chunk-size)))
+ (|> bits array.size (n.* chunk_size)))
(def: #export empty?
(-> Bits Bit)
@@ -48,38 +48,38 @@
(def: #export (get index bits)
(-> Nat Bits Bit)
- (let [[chunk-index bit-index] (n./% chunk-size index)]
- (.and (n.< (array.size bits) chunk-index)
- (|> (array.read chunk-index bits)
- (maybe.default empty-chunk)
- (i64.set? bit-index)))))
+ (let [[chunk_index bit_index] (n./% chunk_size index)]
+ (.and (n.< (array.size bits) chunk_index)
+ (|> (array.read chunk_index bits)
+ (maybe.default empty_chunk)
+ (i64.set? bit_index)))))
(def: (chunk idx bits)
(-> Nat Bits Chunk)
(if (n.< (array.size bits) idx)
- (|> bits (array.read idx) (maybe.default empty-chunk))
- empty-chunk))
+ (|> bits (array.read idx) (maybe.default empty_chunk))
+ empty_chunk))
(template [<name> <op>]
[(def: #export (<name> index input)
(-> Nat Bits Bits)
- (let [[chunk-index bit-index] (n./% chunk-size index)]
- (loop [size|output (n.max (inc chunk-index)
+ (let [[chunk_index bit_index] (n./% chunk_size index)]
+ (loop [size|output (n.max (inc chunk_index)
(array.size input))
output ..empty]
(let [idx|output (dec size|output)]
(if (n.> 0 size|output)
(case (|> (..chunk idx|output input)
- (cond> [(new> (n.= chunk-index idx|output) [])]
- [(<op> bit-index)]
+ (cond> [(new> (n.= chunk_index idx|output) [])]
+ [(<op> bit_index)]
## else
[])
.nat)
0
- ## TODO: Remove 'no-op' once new-luxc is the official compiler.
- (let [no-op (recur (dec size|output) output)]
- no-op)
+ ## TODO: Remove 'no_op' once new-luxc is the official compiler.
+ (let [no_op (recur (dec size|output) output)]
+ no_op)
chunk
(|> (if (is? ..empty output)
@@ -102,7 +102,7 @@
(if (n.< chunks idx)
(.or (|> (..chunk idx sample)
(i64.and (..chunk idx reference))
- ("lux i64 =" empty-chunk)
+ ("lux i64 =" empty_chunk)
.not)
(recur (inc idx)))
#0))))
diff --git a/stdlib/source/library/lux/data/collection/dictionary.lux b/stdlib/source/library/lux/data/collection/dictionary.lux
index 3ae286db8..02d733d80 100644
--- a/stdlib/source/library/lux/data/collection/dictionary.lux
+++ b/stdlib/source/library/lux/data/collection/dictionary.lux
@@ -174,14 +174,14 @@
(i64.right_shift level hash)))
## A mechanism to go from indices to bit-positions.
-(def: (->bit_position index)
+(def: (to_bit_position index)
(-> Index BitPosition)
(i64.left_shift index 1))
## The bit-position within a base that a given hash-code would have.
(def: (bit_position level hash)
(-> Level Hash_Code BitPosition)
- (->bit_position (level_index level hash)))
+ (to_bit_position (level_index level hash)))
(def: (bit_position_is_set? bit bitmap)
(-> BitPosition BitMap Bit)
@@ -241,7 +241,7 @@
(#.Some sub_node) (if (n.= except_idx idx)
[insertion_idx node]
[(inc insertion_idx)
- [(set_bit_position (->bit_position idx) bitmap)
+ [(set_bit_position (to_bit_position idx) bitmap)
(array.write! insertion_idx (#.Left sub_node) base)]])
)))
[0 [clean_bitmap
@@ -259,7 +259,7 @@
BitMap (Base k v)
(Array (Node k v))))
(product.right (list\fold (function (_ hierarchy_idx (^@ default [base_idx h_array]))
- (if (bit_position_is_set? (->bit_position hierarchy_idx)
+ (if (bit_position_is_set? (to_bit_position hierarchy_idx)
bitmap)
[(inc base_idx)
(case (array.read base_idx base)
diff --git a/stdlib/source/library/lux/data/collection/tree.lux b/stdlib/source/library/lux/data/collection/tree.lux
index f6b3746e7..6ed986476 100644
--- a/stdlib/source/library/lux/data/collection/tree.lux
+++ b/stdlib/source/library/lux/data/collection/tree.lux
@@ -35,11 +35,11 @@
{#value value
#children children})
-(type: #rec Tree-Code
- [Code (List Tree-Code)])
+(type: #rec Tree_Code
+ [Code (List Tree_Code)])
(def: tree^
- (Parser Tree-Code)
+ (Parser Tree_Code)
(|> (|>> <>.some
<c>.record
(<>.and <c>.any))
diff --git a/stdlib/source/library/lux/data/collection/tree/zipper.lux b/stdlib/source/library/lux/data/collection/tree/zipper.lux
index bb36e3e38..942ca5c09 100644
--- a/stdlib/source/library/lux/data/collection/tree/zipper.lux
+++ b/stdlib/source/library/lux/data/collection/tree/zipper.lux
@@ -112,7 +112,7 @@
rights))
parent))))))
-(template [<one> <all> <side> <op-side>]
+(template [<one> <all> <side> <op_side>]
[(def: #export (<one> zipper)
(All [a] (-> (Zipper a) (Maybe (Zipper a))))
(case (get@ #family zipper)
@@ -122,12 +122,12 @@
(#.Some (for {@.old
{#family (#.Some (|> family
(set@ <side> side')
- (update@ <op-side> (|>> (#.Cons (get@ #node zipper))))))
+ (update@ <op_side> (|>> (#.Cons (get@ #node zipper))))))
#node next}}
(let [move (: (All [a] (-> (List (Tree a)) (Zipper a) (Family Zipper a) (Family Zipper a)))
(function (_ side' zipper)
(|>> (set@ <side> side')
- (update@ <op-side> (|>> (#.Cons (get@ #node zipper)))))))]
+ (update@ <op_side> (|>> (#.Cons (get@ #node zipper)))))))]
{#family (#.Some (move side' zipper family))
#node next})))
@@ -151,13 +151,13 @@
(#.Cons last prevs)
(#.Some (for {@.old {#family (#.Some (|> family
(set@ <side> #.Nil)
- (update@ <op-side> (|>> (#.Cons (get@ #node zipper))
+ (update@ <op_side> (|>> (#.Cons (get@ #node zipper))
(list\compose prevs)))))
#node last}}
(let [move (: (All [a] (-> (List (Tree a)) (Zipper a) (Family Zipper a) (Family Zipper a)))
(function (_ prevs zipper)
(|>> (set@ <side> #.Nil)
- (update@ <op-side> (|>> (#.Cons (get@ #node zipper))
+ (update@ <op_side> (|>> (#.Cons (get@ #node zipper))
(list\compose prevs))))))]
{#family (#.Some (move prevs zipper family))
#node last}))))))]
@@ -281,8 +281,8 @@
(#.Some (update@ <side> (|>> (#.Cons (//.leaf value))) family))
zipper))))]
- [insert-left #lefts]
- [insert-right #rights]
+ [insert_left #lefts]
+ [insert_right #rights]
)
(implementation: #export functor
@@ -304,15 +304,15 @@
(def: unwrap (get@ [#node #//.value]))
(def: (split (^slots [#family #node]))
- (let [tree-splitter (: (All [a] (-> (Tree a) (Tree (Zipper a))))
- (function (tree-splitter tree)
+ (let [tree_splitter (: (All [a] (-> (Tree a) (Tree (Zipper a))))
+ (function (tree_splitter tree)
{#//.value (..zip tree)
#//.children (|> tree
(get@ #//.children)
- (list\map tree-splitter))}))]
+ (list\map tree_splitter))}))]
{#family (maybe\map (function (_ (^slots [#parent #lefts #rights]))
{#parent (split parent)
- #lefts (list\map tree-splitter lefts)
- #rights (list\map tree-splitter rights)})
+ #lefts (list\map tree_splitter lefts)
+ #rights (list\map tree_splitter rights)})
family)
- #node (tree-splitter node)})))
+ #node (tree_splitter node)})))
diff --git a/stdlib/source/library/lux/data/maybe.lux b/stdlib/source/library/lux/data/maybe.lux
index d7f010f13..ed6a875ce 100644
--- a/stdlib/source/library/lux/data/maybe.lux
+++ b/stdlib/source/library/lux/data/maybe.lux
@@ -141,7 +141,7 @@
(All [a] (-> (Maybe a) a))
(|>> (..default (undefined))))
-(def: #export (to-list value)
+(def: #export (to_list value)
(All [a] (-> (Maybe a) (List a)))
(case value
#.None
diff --git a/stdlib/source/library/lux/ffi.old.lux b/stdlib/source/library/lux/ffi.old.lux
index fdb5d1412..c8de0eb03 100644
--- a/stdlib/source/library/lux/ffi.old.lux
+++ b/stdlib/source/library/lux/ffi.old.lux
@@ -424,7 +424,7 @@
ast'
ast'))
-(def: (parser->replacer p ast)
+(def: (parser_to_replacer p ast)
(-> (Parser Code) (-> Code Code))
(case (<>.run p (list ast))
(#.Right [#.Nil ast'])
@@ -434,7 +434,7 @@
ast
))
-(def: (field->parser class_name [[field_name _ _] field])
+(def: (field_to_parser class_name [[field_name _ _] field])
(-> Text [Member_Declaration FieldDecl] (Parser Code))
(case field
(#ConstantField _)
@@ -481,7 +481,7 @@
[make_virtual_method_parser "jvm invokevirtual"]
)
-(def: (method->parser params class_name [[method_name _ _] meth_def])
+(def: (method_to_parser params class_name [[method_name _ _] meth_def])
(-> (List Type_Parameter) Text [Member_Declaration Method_Definition] (Parser Code))
(case meth_def
(#ConstructorMethod strict? type_vars args constructor_args return_expr exs)
@@ -1092,16 +1092,16 @@
(~ body))))))))
(#OverridenMethod strict_fp? class_decl type_vars this_name arg_decls return_type body exs)
- (let [super_replacer (parser->replacer (<code>.form (do <>.monad
- [_ (<code>.this! (' ::super!))
- args (<code>.tuple (<>.exactly (list.size arg_decls) <code>.any))
- #let [arg_decls' (: (List Text) (list\map (|>> product.right (simple_class$ (list)))
- arg_decls))]]
- (wrap (`' ((~ (code.text (format "jvm invokespecial"
- ":" (get@ #super_class_name super_class)
- ":" name
- ":" (text.join_with "," arg_decls'))))
- (~' _jvm_this) (~+ args)))))))]
+ (let [super_replacer (parser_to_replacer (<code>.form (do <>.monad
+ [_ (<code>.this! (' ::super!))
+ args (<code>.tuple (<>.exactly (list.size arg_decls) <code>.any))
+ #let [arg_decls' (: (List Text) (list\map (|>> product.right (simple_class$ (list)))
+ arg_decls))]]
+ (wrap (`' ((~ (code.text (format "jvm invokespecial"
+ ":" (get@ #super_class_name super_class)
+ ":" name
+ ":" (text.join_with "," arg_decls'))))
+ (~' _jvm_this) (~+ args)))))))]
(with_parens
(spaced (list "override"
(class_decl$ class_decl)
@@ -1210,11 +1210,11 @@
(do meta.monad
[current_module meta.current_module_name
#let [fully_qualified_class_name (format (sanitize current_module) "." full_class_name)
- field_parsers (list\map (field->parser fully_qualified_class_name) fields)
- method_parsers (list\map (method->parser (product.right class_decl) fully_qualified_class_name) methods)
- replacer (parser->replacer (list\fold <>.either
- (<>.fail "")
- (list\compose field_parsers method_parsers)))
+ field_parsers (list\map (field_to_parser fully_qualified_class_name) fields)
+ method_parsers (list\map (method_to_parser (product.right class_decl) fully_qualified_class_name) methods)
+ replacer (parser_to_replacer (list\fold <>.either
+ (<>.fail "")
+ (list\compose field_parsers method_parsers)))
def_code (format "jvm class:"
(spaced (list (class_decl$ class_decl)
(super_class_decl$ super)
@@ -1449,7 +1449,7 @@
#.Nil #1
_ #0))
-(def: (type_param->type_arg [name _])
+(def: (type_param_to_type_arg [name _])
(-> Type_Parameter Code)
(code.identifier ["" name]))
@@ -1498,7 +1498,7 @@
full_name (sanitize full_name)
all_params (|> (member_type_vars class_tvars member)
(list.filter free_type_param?)
- (list\map type_param->type_arg))]
+ (list\map type_param_to_type_arg))]
(case member
(#EnumDecl enum_members)
(do {! meta.monad}
@@ -1510,7 +1510,7 @@
_
(let [=class_tvars (|> class_tvars
(list.filter free_type_param?)
- (list\map type_param->type_arg))]
+ (list\map type_param_to_type_arg))]
(` (All [(~+ =class_tvars)] (primitive (~ (code.text full_name)) [(~+ =class_tvars)]))))))
getter_interop (: (-> Text Code)
(function (_ name)
@@ -1576,7 +1576,7 @@
tvar_asts (: (List Code)
(|> class_tvars
(list.filter free_type_param?)
- (list\map type_param->type_arg)))
+ (list\map type_param_to_type_arg)))
getter_name (code.identifier ["" (..import_name import_format method_prefix import_field_name)])
setter_name (code.identifier ["" (..import_name import_format method_prefix (format import_field_name "!"))])]
getter_interop (with_gensyms [g!obj]
@@ -1740,7 +1740,7 @@
(array_length my_array))}
(wrap (list (` ("jvm arraylength" (~ array))))))
-(def: (type->class_name type)
+(def: (type_to_class_name type)
(-> Type (Meta Text))
(if (type\= Any type)
(\ meta.monad wrap "java.lang.Object")
@@ -1754,10 +1754,10 @@
(meta.fail (format "Cannot apply type: " (type.format F) " to " (type.format A)))
(#.Some type')
- (type->class_name type'))
+ (type_to_class_name type'))
(#.Named _ type')
- (type->class_name type')
+ (type_to_class_name type')
_
(meta.fail (format "Cannot convert to JvmType: " (type.format type))))))
@@ -1769,7 +1769,7 @@
[_ (#.Identifier array_name)]
(do meta.monad
[array_type (meta.find_type array_name)
- array_jvm_type (type->class_name array_type)]
+ array_jvm_type (type_to_class_name array_type)]
(case array_jvm_type
(^template [<type> <array_op>]
[<type>
@@ -1798,7 +1798,7 @@
[_ (#.Identifier array_name)]
(do meta.monad
[array_type (meta.find_type array_name)
- array_jvm_type (type->class_name array_type)]
+ array_jvm_type (type_to_class_name array_type)]
(case array_jvm_type
(^template [<type> <array_op>]
[<type>
diff --git a/stdlib/source/library/lux/ffi.rb.lux b/stdlib/source/library/lux/ffi.rb.lux
index 511351bad..f3f483e23 100644
--- a/stdlib/source/library/lux/ffi.rb.lux
+++ b/stdlib/source/library/lux/ffi.rb.lux
@@ -27,7 +27,7 @@
(template [<name>]
[(with_expansions [<brand> (template.identifier [<name> "'"])]
- (abstract: #export <brand> Any)
+ (abstract: <brand> Any)
(type: #export <name>
(..Object <brand>)))]
diff --git a/stdlib/source/library/lux/math/number/int.lux b/stdlib/source/library/lux/math/number/int.lux
index c72c31e16..b5806e0db 100644
--- a/stdlib/source/library/lux/math/number/int.lux
+++ b/stdlib/source/library/lux/math/number/int.lux
@@ -131,7 +131,7 @@
+0 a
_ (gcd b (..% b a))))
-(def: #export (co-prime? a b)
+(def: #export (co_prime? a b)
(-> Int Int Bit)
(..= +1 (..gcd a b)))
diff --git a/stdlib/source/library/lux/math/number/nat.lux b/stdlib/source/library/lux/math/number/nat.lux
index 52e252c84..ebec1b4e9 100644
--- a/stdlib/source/library/lux/math/number/nat.lux
+++ b/stdlib/source/library/lux/math/number/nat.lux
@@ -130,7 +130,7 @@
0 a
_ (gcd b (..% b a))))
-(def: #export (co-prime? a b)
+(def: #export (co_prime? a b)
(-> Nat Nat Bit)
(..= 1 (..gcd a b)))
@@ -194,21 +194,21 @@
[maximum ..max (\ ..interval bottom)]
)
-(def: (binary-character value)
+(def: (binary_character value)
(-> Nat Text)
(case value
0 "0"
1 "1"
_ (undefined)))
-(def: (binary-value digit)
+(def: (binary_value digit)
(-> Nat (Maybe Nat))
(case digit
(^ (char "0")) (#.Some 0)
(^ (char "1")) (#.Some 1)
_ #.None))
-(def: (octal-character value)
+(def: (octal_character value)
(-> Nat Text)
(case value
0 "0"
@@ -221,7 +221,7 @@
7 "7"
_ (undefined)))
-(def: (octal-value digit)
+(def: (octal_value digit)
(-> Nat (Maybe Nat))
(case digit
(^ (char "0")) (#.Some 0)
@@ -234,7 +234,7 @@
(^ (char "7")) (#.Some 7)
_ #.None))
-(def: (decimal-character value)
+(def: (decimal_character value)
(-> Nat Text)
(case value
0 "0"
@@ -249,7 +249,7 @@
9 "9"
_ (undefined)))
-(def: (decimal-value digit)
+(def: (decimal_value digit)
(-> Nat (Maybe Nat))
(case digit
(^ (char "0")) (#.Some 0)
@@ -264,7 +264,7 @@
(^ (char "9")) (#.Some 9)
_ #.None))
-(def: (hexadecimal-character value)
+(def: (hexadecimal_character value)
(-> Nat Text)
(case value
0 "0"
@@ -285,7 +285,7 @@
15 "F"
_ (undefined)))
-(def: (hexadecimal-value digit)
+(def: (hexadecimal_value digit)
(-> Nat (Maybe Nat))
(case digit
(^template [<character> <number>]
@@ -336,9 +336,9 @@
(#try.Success output)))
(#try.Failure ("lux text concat" <error> repr))))))]
- [1 binary binary-character binary-value "Invalid binary syntax for Nat: "]
- [3 octal octal-character octal-value "Invalid octal syntax for Nat: "]
- [4 hex hexadecimal-character hexadecimal-value "Invalid hexadecimal syntax for Nat: "]
+ [1 binary binary_character binary_value "Invalid binary syntax for Nat: "]
+ [3 octal octal_character octal_value "Invalid octal syntax for Nat: "]
+ [4 hex hexadecimal_character hexadecimal_value "Invalid hexadecimal syntax for Nat: "]
)
(implementation: #export decimal
@@ -347,7 +347,7 @@
(def: (encode value)
(loop [input value
output ""]
- (let [digit (decimal-character (..% 10 input))
+ (let [digit (decimal_character (..% 10 input))
output' ("lux text concat" digit output)]
(case (../ 10 input)
0
@@ -363,7 +363,7 @@
(loop [idx 0
output 0]
(if (..< input-size idx)
- (case (decimal-value ("lux text char" idx repr))
+ (case (decimal_value ("lux text char" idx repr))
#.None
<failure>
diff --git a/stdlib/source/library/lux/time/year.lux b/stdlib/source/library/lux/time/year.lux
index 95280df9c..b3f3e7ecf 100644
--- a/stdlib/source/library/lux/time/year.lux
+++ b/stdlib/source/library/lux/time/year.lux
@@ -32,7 +32,7 @@
year
(dec year)))
-(exception: #export there-is-no-year-0)
+(exception: #export there_is_no_year_0)
(abstract: #export Year
Int
@@ -40,7 +40,7 @@
(def: #export (year value)
(-> Int (Try Year))
(case value
- +0 (exception.throw ..there-is-no-year-0 [])
+ +0 (exception.throw ..there_is_no_year_0 [])
_ (#try.Success (:abstraction (..internal value)))))
(def: #export value
@@ -80,9 +80,9 @@
(or (not (..divisible? (.int ..century) year))
(..divisible? (.int ..era) year)))))
-(def: (with-year-0-leap year days)
- (let [after-year-0? (i.> +0 year)]
- (if after-year-0?
+(def: (with_year_0_leap year days)
+ (let [after_year_0? (i.> +0 year)]
+ (if after_year_0?
(i.+ +1 days)
days)))
@@ -100,7 +100,7 @@
[i.- ..century]
[i.+ ..era]
))
- (..with-year-0-leap year)))))
+ (..with_year_0_leap year)))))
(def: (encode year)
(-> Year Text)
@@ -114,10 +114,10 @@
(do {! <>.monad}
[sign (<>.or (<t>.this "-") (wrap []))
digits (<t>.many <t>.decimal)
- raw-year (<>.codec i.decimal (wrap (text\compose "+" digits)))]
+ raw_year (<>.codec i.decimal (wrap (text\compose "+" digits)))]
(<>.lift (..year (case sign
- (#.Left _) (i.* -1 raw-year)
- (#.Right _) raw-year)))))
+ (#.Left _) (i.* -1 raw_year)
+ (#.Right _) raw_year)))))
(implementation: #export codec
{#.doc (doc "Based on ISO 8601."
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/host.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/host.lux
index b46934a86..079fc96ec 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/host.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/host.lux
@@ -1021,7 +1021,7 @@
list\join
## Remove duplicates.
(set.from-list //////synthesis.hash)
- set.to-list)
+ set.to_list)
global-mapping (|> total-environment
## Give them names as "foreign" variables.
list.enumeration
diff --git a/stdlib/source/library/lux/tool/compiler/meta/archive/document.lux b/stdlib/source/library/lux/tool/compiler/meta/archive/document.lux
index ea5ce1006..39edd668e 100644
--- a/stdlib/source/library/lux/tool/compiler/meta/archive/document.lux
+++ b/stdlib/source/library/lux/tool/compiler/meta/archive/document.lux
@@ -20,7 +20,7 @@
["." key (#+ Key)]
[descriptor (#+ Module)]])
-(exception: #export (invalid-signature {expected Signature} {actual Signature})
+(exception: #export (invalid_signature {expected Signature} {actual Signature})
(exception.report
["Expected" (signature.description expected)]
["Actual" (signature.description actual)]))
@@ -41,7 +41,7 @@
e
(:assume document//content)))
- (exception.throw ..invalid-signature [(key.signature key)
+ (exception.throw ..invalid_signature [(key.signature key)
document//signature]))))
(def: #export (write key content)
diff --git a/stdlib/source/library/lux/world/output/video/resolution.lux b/stdlib/source/library/lux/world/output/video/resolution.lux
index 24f48182c..8822c268c 100644
--- a/stdlib/source/library/lux/world/output/video/resolution.lux
+++ b/stdlib/source/library/lux/world/output/video/resolution.lux
@@ -43,5 +43,5 @@
[fhd 1920 1080]
[wuxga 1920 1200]
[wqhd 2560 1440]
- [uhd-4k 3840 2160]
+ [uhd_4k 3840 2160]
)
diff --git a/stdlib/source/program/aedifex/artifact/time.lux b/stdlib/source/program/aedifex/artifact/time.lux
index 41ee0d418..ec7ddc4a9 100644
--- a/stdlib/source/program/aedifex/artifact/time.lux
+++ b/stdlib/source/program/aedifex/artifact/time.lux
@@ -26,6 +26,12 @@
Time
[/date.epoch time.midnight])
+(def: #export (instant time)
+ (-> Time Instant)
+ (let [[date time] time]
+ (instant.from_date_time (/date.value date)
+ time)))
+
(def: #export (from_instant instant)
(-> Instant (Try Time))
(do try.monad
diff --git a/stdlib/source/specification/compositor/generation/structure.lux b/stdlib/source/specification/compositor/generation/structure.lux
index 7c45d2a9b..c8482aff2 100644
--- a/stdlib/source/specification/compositor/generation/structure.lux
+++ b/stdlib/source/specification/compositor/generation/structure.lux
@@ -76,7 +76,7 @@
(and (n.= size (array.size tuple-out))
(list.every? (function (_ [left right])
(i.= left (:as Int right)))
- (list.zip/2 tuple-in (array.to-list tuple-out)))))
+ (list.zip/2 tuple-in (array.to_list tuple-out)))))
(#try.Failure _)
false)))))
diff --git a/stdlib/source/specification/lux/abstract/comonad.lux b/stdlib/source/specification/lux/abstract/comonad.lux
index 85d00b8f2..d4532a70b 100644
--- a/stdlib/source/specification/lux/abstract/comonad.lux
+++ b/stdlib/source/specification/lux/abstract/comonad.lux
@@ -13,7 +13,7 @@
[//
[functor (#+ Injection Comparison)]])
-(def: (left-identity injection (^open "_//."))
+(def: (left_identity injection (^open "_//."))
(All [f] (-> (Injection f) (CoMonad f) Test))
(do {! random.monad}
[sample random.nat
@@ -25,7 +25,7 @@
(n.= (morphism start)
(|> start _//split (_//map morphism) _//unwrap)))))
-(def: (right-identity injection comparison (^open "_//."))
+(def: (right_identity injection comparison (^open "_//."))
(All [f] (-> (Injection f) (Comparison f) (CoMonad f) Test))
(do random.monad
[sample random.nat
@@ -55,7 +55,7 @@
(All [f] (-> (Injection f) (Comparison f) (CoMonad f) Test))
(<| (_.for [/.CoMonad])
($_ _.and
- (..left-identity injection subject)
- (..right-identity injection comparison subject)
+ (..left_identity injection subject)
+ (..right_identity injection comparison subject)
(..associativity injection comparison subject)
)))
diff --git a/stdlib/source/specification/lux/abstract/monad.lux b/stdlib/source/specification/lux/abstract/monad.lux
index 869eb24c7..bc1b643f2 100644
--- a/stdlib/source/specification/lux/abstract/monad.lux
+++ b/stdlib/source/specification/lux/abstract/monad.lux
@@ -11,7 +11,7 @@
[//
[functor (#+ Injection Comparison)]])
-(def: (left-identity injection comparison (^open "_//."))
+(def: (left_identity injection comparison (^open "_//."))
(All [f] (-> (Injection f) (Comparison f) (/.Monad f) Test))
(do {! random.monad}
[sample random.nat
@@ -23,7 +23,7 @@
(|> (injection sample) (_//map morphism) _//join)
(morphism sample)))))
-(def: (right-identity injection comparison (^open "_//."))
+(def: (right_identity injection comparison (^open "_//."))
(All [f] (-> (Injection f) (Comparison f) (/.Monad f) Test))
(do random.monad
[sample random.nat]
@@ -51,7 +51,7 @@
(All [f] (-> (Injection f) (Comparison f) (/.Monad f) Test))
(<| (_.for [/.Monad])
($_ _.and
- (..left-identity injection comparison monad)
- (..right-identity injection comparison monad)
+ (..left_identity injection comparison monad)
+ (..right_identity injection comparison monad)
(..associativity injection comparison monad)
)))
diff --git a/stdlib/source/test/aedifex/artifact.lux b/stdlib/source/test/aedifex/artifact.lux
index 6afbbf27c..ce0af7e7f 100644
--- a/stdlib/source/test/aedifex/artifact.lux
+++ b/stdlib/source/test/aedifex/artifact.lux
@@ -6,7 +6,9 @@
[monad (#+ do)]
[hash (#+ Hash)]
[\\specification
- ["$." equivalence]]]
+ ["$." equivalence]
+ ["$." order]
+ ["$." hash]]]
[control
[concurrency
[promise (#+ Promise)]]]
@@ -37,11 +39,21 @@
(def: #export test
Test
(<| (_.covering /._)
+ (do random.monad
+ [sample ..random])
(_.for [/.Group /.Name /.Version
/.Artifact]
($_ _.and
(_.for [/.equivalence]
($equivalence.spec /.equivalence ..random))
+ (_.for [/.order]
+ ($order.spec /.order ..random))
+ (_.for [/.hash]
+ ($hash.spec /.hash ..random))
+
+ (_.cover [/.format /.identity]
+ (and (text.ends_with? (/.identity sample) (/.format sample))
+ (not (text\= (/.identity sample) (/.format sample)))))
/extension.test
/snapshot.test
diff --git a/stdlib/source/test/aedifex/artifact/extension.lux b/stdlib/source/test/aedifex/artifact/extension.lux
index fd28c5d92..b8a2144aa 100644
--- a/stdlib/source/test/aedifex/artifact/extension.lux
+++ b/stdlib/source/test/aedifex/artifact/extension.lux
@@ -29,10 +29,12 @@
uniques (set.from_list text.hash options)]
(n.= (list.size options)
(set.size uniques))))
- (_.cover [/.extension]
+ (_.cover [/.extension /.type]
(`` (and (~~ (template [<type> <extension>]
- [(text\= <extension>
- (/.extension <type>))]
+ [(and (text\= <extension>
+ (/.extension <type>))
+ (text\= <type>
+ (/.type (/.extension <type>))))]
[//.lux_library /.lux_library]
[//.jvm_library /.jvm_library]
diff --git a/stdlib/source/test/aedifex/artifact/time.lux b/stdlib/source/test/aedifex/artifact/time.lux
index f69566096..131155500 100644
--- a/stdlib/source/test/aedifex/artifact/time.lux
+++ b/stdlib/source/test/aedifex/artifact/time.lux
@@ -10,6 +10,8 @@
["." try ("#\." functor)]
[parser
["<.>" text]]]
+ [time
+ ["." instant ("#\." equivalence)]]
[math
["." random (#+ Random)]
[number
@@ -43,6 +45,16 @@
(<text>.run /.parser)
(try\map (\ /.equivalence = expected))
(try.default false))))
+ (do random.monad
+ [expected ..random]
+ (_.cover [/.instant /.from_instant]
+ (|> expected
+ /.instant
+ /.from_instant
+ (try\map (\ /.equivalence = expected))
+ (try.default false))))
+ (_.cover [/.epoch]
+ (instant\= instant.epoch (/.instant /.epoch)))
/date.test
/time.test
diff --git a/stdlib/source/test/lux/abstract/fold.lux b/stdlib/source/test/lux/abstract/fold.lux
index 787a8a03d..a07a19870 100644
--- a/stdlib/source/test/lux/abstract/fold.lux
+++ b/stdlib/source/test/lux/abstract/fold.lux
@@ -20,7 +20,7 @@
[samples (random.list 10 random.nat)]
(<| (_.covering /._)
($_ _.and
- (_.cover [/.with-monoid]
+ (_.cover [/.with_monoid]
(n.= (\ list.fold fold (\ n.addition compose) (\ n.addition identity) samples)
- (/.with-monoid n.addition list.fold samples)))
+ (/.with_monoid n.addition list.fold samples)))
))))
diff --git a/stdlib/source/test/lux/control/exception.lux b/stdlib/source/test/lux/control/exception.lux
index f62ad9271..534d03252 100644
--- a/stdlib/source/test/lux/control/exception.lux
+++ b/stdlib/source/test/lux/control/exception.lux
@@ -16,11 +16,11 @@
[//
["." try (#+ Try)]]]])
-(exception: an-exception)
-(exception: another-exception)
+(exception: an_exception)
+(exception: another_exception)
(def: label "YOLO")
-(exception: (custom-exception {value Nat})
+(exception: (custom_exception {value Nat})
(/.report [label (%.nat value)]))
(def: #export test
@@ -28,12 +28,12 @@
(do {! random.monad}
[expected random.nat
wrong (|> random.nat (random.filter (|>> (n.= expected) not)))
- assertion-succeeded? random.bit
- #let [report-element (\ ! map %.nat random.nat)]
- field0 report-element
- value0 report-element
- field1 report-element
- value1 report-element]
+ assertion_succeeded? random.bit
+ #let [report_element (\ ! map %.nat random.nat)]
+ field0 report_element
+ value0 report_element
+ field1 report_element
+ value1 report_element]
(<| (_.covering /._)
(_.for [/.Exception])
($_ _.and
@@ -42,41 +42,41 @@
(#try.Success actual) (n.= expected actual)
(#try.Failure _) false))
(_.cover [/.throw]
- (case (/.throw ..an-exception [])
+ (case (/.throw ..an_exception [])
(#try.Success _) false
(#try.Failure _) true))
(_.cover [/.construct]
- (case (/.throw ..an-exception [])
+ (case (/.throw ..an_exception [])
(#try.Success _)
false
(#try.Failure message)
- (text\= message (/.construct ..an-exception []))))
+ (text\= message (/.construct ..an_exception []))))
(_.cover [/.match?]
- (/.match? ..an-exception
- (/.construct ..an-exception [])))
+ (/.match? ..an_exception
+ (/.construct ..an_exception [])))
(_.cover [/.assert]
- (case (/.assert ..an-exception [] assertion-succeeded?)
+ (case (/.assert ..an_exception [] assertion_succeeded?)
(#try.Success _)
- assertion-succeeded?
+ assertion_succeeded?
(#try.Failure message)
- (and (not assertion-succeeded?)
- (text\= message (/.construct ..an-exception [])))))
+ (and (not assertion_succeeded?)
+ (text\= message (/.construct ..an_exception [])))))
(_.cover [/.catch]
(and (n.= expected
- (|> (/.throw ..an-exception [])
- (/.catch ..an-exception (function (_ ex) expected))
+ (|> (/.throw ..an_exception [])
+ (/.catch ..an_exception (function (_ ex) expected))
(/.otherwise (function (_ ex) wrong))))
(n.= expected
- (|> (/.throw ..another-exception [])
- (/.catch ..an-exception (function (_ ex) wrong))
- (/.catch ..another-exception (function (_ ex) expected))
+ (|> (/.throw ..another_exception [])
+ (/.catch ..an_exception (function (_ ex) wrong))
+ (/.catch ..another_exception (function (_ ex) expected))
(/.otherwise (function (_ ex) wrong))))))
(_.cover [/.otherwise]
(n.= expected
- (|> (/.throw ..another-exception [])
- (/.catch ..an-exception (function (_ ex) wrong))
+ (|> (/.throw ..another_exception [])
+ (/.catch ..an_exception (function (_ ex) wrong))
(/.otherwise (function (_ ex) expected)))))
(_.cover [/.report]
(let [report (/.report [field0 value0]
@@ -92,23 +92,23 @@
(text.contains? field1 enumeration)
(text.contains? value1 enumeration))))
(_.cover [/.with]
- (and (case (/.with ..an-exception [] (#try.Success expected))
+ (and (case (/.with ..an_exception [] (#try.Success expected))
(#try.Success actual) (n.= expected actual)
(#try.Failure _) false)
- (case (/.with ..an-exception [] (#try.Failure ""))
+ (case (/.with ..an_exception [] (#try.Failure ""))
(#try.Success _) false
- (#try.Failure message) (text\= message (/.construct ..an-exception [])))
- (case (/.with ..an-exception []
+ (#try.Failure message) (text\= message (/.construct ..an_exception [])))
+ (case (/.with ..an_exception []
(: (Try Nat)
- (/.throw ..another-exception [])))
+ (/.throw ..another_exception [])))
(#try.Success _)
false
(#try.Failure message)
- (and (text.contains? (/.construct ..an-exception []) message)
- (text.contains? (/.construct ..another-exception []) message)))))
+ (and (text.contains? (/.construct ..an_exception []) message)
+ (text.contains? (/.construct ..another_exception []) message)))))
(_.cover [/.exception:]
- (case (/.throw ..custom-exception [expected])
+ (case (/.throw ..custom_exception [expected])
(#try.Success _)
false
diff --git a/stdlib/source/test/lux/control/function/mixin.lux b/stdlib/source/test/lux/control/function/mixin.lux
index 339216526..31b1e338d 100644
--- a/stdlib/source/test/lux/control/function/mixin.lux
+++ b/stdlib/source/test/lux/control/function/mixin.lux
@@ -123,9 +123,9 @@
(|> input function (state.run dummy) product.right))))
))
(_.for [/.Recursive]
- (_.cover [/.from-recursive]
+ (_.cover [/.from_recursive]
(let [factorial (/.mixin
- (/.from-recursive
+ (/.from_recursive
(function (_ recur input)
(case input
(^or 0 1) 1
diff --git a/stdlib/source/test/lux/control/parser/tree.lux b/stdlib/source/test/lux/control/parser/tree.lux
index 62c4ab04e..e330464b4 100644
--- a/stdlib/source/test/lux/control/parser/tree.lux
+++ b/stdlib/source/test/lux/control/parser/tree.lux
@@ -159,12 +159,12 @@
(tree.leaf dummy))))
(do {! random.monad}
[dummy random.nat]
- (_.cover [/.cannot-move-further]
+ (_.cover [/.cannot_move_further]
(`` (and (~~ (template [<parser>]
[(|> (/.run <parser>
(tree.leaf dummy))
(!expect (^multi (#try.Failure error)
- (exception.match? /.cannot-move-further error))))]
+ (exception.match? /.cannot_move_further error))))]
[/.down] [/.up]
[/.right] [/.left]
diff --git a/stdlib/source/test/lux/control/security/capability.lux b/stdlib/source/test/lux/control/security/capability.lux
index 2798c21b2..ec2d91d20 100644
--- a/stdlib/source/test/lux/control/security/capability.lux
+++ b/stdlib/source/test/lux/control/security/capability.lux
@@ -15,11 +15,11 @@
[\\library
["." /]])
-(/.capability: (Can-Shift a)
- (can-shift [a Nat] [a Nat]))
+(/.capability: (Can_Shift a)
+ (can_shift [a Nat] [a Nat]))
-(/.capability: Can-IO
- (can-io [] (IO Nat)))
+(/.capability: Can_IO
+ (can_io [] (IO Nat)))
(def: #export test
Test
@@ -28,16 +28,16 @@
[shift random.nat
base random.nat
#let [expected (n.+ shift base)]
- pass-through (random.ascii 1)]
+ pass_through (random.ascii 1)]
(_.for [/.Capability]
($_ _.and
(_.cover [/.capability: /.use]
- (let [capability (..can-shift (function (_ [no-op raw])
- [no-op (n.+ shift raw)]))
- [untouched actual] (/.use capability [pass-through base])]
- (and (is? pass-through untouched)
+ (let [capability (..can_shift (function (_ [no_op raw])
+ [no_op (n.+ shift raw)]))
+ [untouched actual] (/.use capability [pass_through base])]
+ (and (is? pass_through untouched)
(n.= expected actual))))
- (wrap (let [capability (..can-io (function (_ _) (io.io expected)))]
+ (wrap (let [capability (..can_io (function (_ _) (io.io expected)))]
(do promise.monad
[actual (/.use (/.async capability) [])]
(_.cover' [/.async]
diff --git a/stdlib/source/test/lux/control/state.lux b/stdlib/source/test/lux/control/state.lux
index 53622408d..a037f8a91 100644
--- a/stdlib/source/test/lux/control/state.lux
+++ b/stdlib/source/test/lux/control/state.lux
@@ -20,7 +20,7 @@
[\\library
["." / (#+ State)]])
-(def: (with-conditions [state output] computation)
+(def: (with_conditions [state output] computation)
(-> [Nat Nat] (State Nat Nat) Bit)
(|> computation
(/.run state)
@@ -33,23 +33,23 @@
value random.nat]
($_ _.and
(_.cover [/.State /.get]
- (with-conditions [state state]
+ (with_conditions [state state]
/.get))
(_.cover [/.put]
- (with-conditions [state value]
+ (with_conditions [state value]
(do /.monad
[_ (/.put value)]
/.get)))
(_.cover [/.update]
- (with-conditions [state (n.* value state)]
+ (with_conditions [state (n.* value state)]
(do /.monad
[_ (/.update (n.* value))]
/.get)))
(_.cover [/.use]
- (with-conditions [state (inc state)]
+ (with_conditions [state (inc state)]
(/.use inc)))
(_.cover [/.local]
- (with-conditions [state (n.* value state)]
+ (with_conditions [state (n.* value state)]
(/.local (n.* value)
/.get)))
)))
@@ -92,8 +92,8 @@
(/.run 0)
(let> [state' output']
(n.= limit state'))))
- (_.cover [/.do-while]
- (|> (/.do-while condition (/.update inc))
+ (_.cover [/.do_while]
+ (|> (/.do_while condition (/.update inc))
(/.run 0)
(let> [state' output']
(or (n.= limit state')
@@ -101,7 +101,7 @@
(n.= 1 state'))))))
)))
-(def: monad-transformer
+(def: monad_transformer
Test
(do random.monad
[state random.nat
@@ -128,4 +128,4 @@
..basics
..structures
..loops
- ..monad-transformer)))
+ ..monad_transformer)))
diff --git a/stdlib/source/test/lux/data/collection/bits.lux b/stdlib/source/test/lux/data/collection/bits.lux
index bc59e6b34..3e8b89d2a 100644
--- a/stdlib/source/test/lux/data/collection/bits.lux
+++ b/stdlib/source/test/lux/data/collection/bits.lux
@@ -59,12 +59,12 @@
(_.cover [/.flip]
(and (|> /.empty (/.flip idx) (/.get idx))
(|> /.empty (/.flip idx) (/.flip idx) (/.get idx) not)))
- (_.cover [/.Chunk /.capacity /.chunk-size]
+ (_.cover [/.Chunk /.capacity /.chunk_size]
(and (n.= 0 (/.capacity /.empty))
(|> /.empty (/.set idx) /.capacity
(n.- idx)
(predicate.unite (n.>= 0)
- (n.< /.chunk-size)))
+ (n.< /.chunk_size)))
(let [grown (/.flip idx /.empty)]
(and (n.> 0 (/.capacity grown))
(is? /.empty (/.flip idx grown))))))
diff --git a/stdlib/source/test/lux/data/collection/tree.lux b/stdlib/source/test/lux/data/collection/tree.lux
index ff281844a..a610fdef5 100644
--- a/stdlib/source/test/lux/data/collection/tree.lux
+++ b/stdlib/source/test/lux/data/collection/tree.lux
@@ -19,12 +19,12 @@
[\\library
["." / (#+ Tree)]])
-(def: #export (tree gen-value)
+(def: #export (tree gen_value)
(All [a] (-> (Random a) (Random [Nat (Tree a)])))
(do {! random.monad}
- [value gen-value
- num-children (\ ! map (n.% 2) random.nat)
- children (random.list num-children (tree gen-value))]
+ [value gen_value
+ num_children (\ ! map (n.% 2) random.nat)
+ children (random.list num_children (tree gen_value))]
(wrap [(|> children
(list\map product.left)
(list\fold n.+ 1))
@@ -58,8 +58,8 @@
(/.flatten (/.leaf expected)))))
(do {! random.monad}
[value random.nat
- num-children (\ ! map (n.% 3) random.nat)
- children (random.list num-children random.nat)]
+ num_children (\ ! map (n.% 3) random.nat)
+ children (random.list num_children random.nat)]
(_.cover [/.branch]
(\ (list.equivalence n.equivalence) =
(list& value children)
diff --git a/stdlib/source/test/lux/data/collection/tree/zipper.lux b/stdlib/source/test/lux/data/collection/tree/zipper.lux
index 06e53f225..d04b3b8e9 100644
--- a/stdlib/source/test/lux/data/collection/tree/zipper.lux
+++ b/stdlib/source/test/lux/data/collection/tree/zipper.lux
@@ -231,21 +231,21 @@
[/.right]
[/.value (n.= dummy) wrap])
(maybe.default false)))))
- (_.cover [/.insert-left]
+ (_.cover [/.insert_left]
(|> (tree.branch dummy (list (tree.leaf dummy)))
/.zip
(do> maybe.monad
[/.down]
- [(/.insert-left expected)]
+ [(/.insert_left expected)]
[/.left]
[/.value (n.= expected) wrap])
(maybe.default false)))
- (_.cover [/.insert-right]
+ (_.cover [/.insert_right]
(|> (tree.branch dummy (list (tree.leaf dummy)))
/.zip
(do> maybe.monad
[/.down]
- [(/.insert-right expected)]
+ [(/.insert_right expected)]
[/.right]
[/.value (n.= expected) wrap])
(maybe.default false)))
@@ -254,7 +254,7 @@
/.zip
(do> maybe.monad
[/.down]
- [(/.insert-left expected)]
+ [(/.insert_left expected)]
[/.remove]
[/.value (n.= expected) wrap])
(maybe.default false)))
diff --git a/stdlib/source/test/lux/data/maybe.lux b/stdlib/source/test/lux/data/maybe.lux
index 4f5accd9b..899541f37 100644
--- a/stdlib/source/test/lux/data/maybe.lux
+++ b/stdlib/source/test/lux/data/maybe.lux
@@ -75,8 +75,8 @@
(is? value (/.assume (#.Some value)))))
(do random.monad
[value random.nat]
- (_.cover [/.to-list]
+ (_.cover [/.to_list]
(\ (list.equivalence n.equivalence) =
(list value)
- (/.to-list (#.Some value)))))
+ (/.to_list (#.Some value)))))
)))
diff --git a/stdlib/source/test/lux/ffi.lua.lux b/stdlib/source/test/lux/ffi.lua.lux
index a1f181edc..963d45387 100644
--- a/stdlib/source/test/lux/ffi.lua.lux
+++ b/stdlib/source/test/lux/ffi.lua.lux
@@ -7,9 +7,7 @@
[control
["." io]]
[math
- ["." random]
- [number
- ["i" int]]]]]
+ ["." random]]]]
[\\library
["." /]])
diff --git a/stdlib/source/test/lux/ffi.rb.lux b/stdlib/source/test/lux/ffi.rb.lux
index c8d4ea6d5..0b57aee7e 100644
--- a/stdlib/source/test/lux/ffi.rb.lux
+++ b/stdlib/source/test/lux/ffi.rb.lux
@@ -4,22 +4,49 @@
["_" test (#+ Test)]
[abstract
[monad (#+ do)]]
- [control
- ["." try]]
- [data
- ["." text ("#\." equivalence)]]
[math
- ["." random (#+ Random)]
- [number
- ["." nat]
- ["." frac]]]]]
+ ["." random]]]]
[\\library
["." /]])
+(/.import: File
+ ["#::."
+ (#static SEPARATOR /.String)])
+
(def: #export test
Test
(do {! random.monad}
- []
+ [boolean random.bit
+ integer random.int
+ float random.frac
+ string (random.ascii/lower 1)]
(<| (_.covering /._)
- (_.test "TBD"
- true))))
+ (`` ($_ _.and
+ (~~ (template [<type> <sample>]
+ [(_.cover [<type>]
+ (exec
+ (: <type> <sample>)
+ true))]
+
+ [/.Boolean boolean]
+ [/.Integer integer]
+ [/.Float float]
+ [/.String string]
+ ))
+ (_.for [/.Object]
+ ($_ _.and
+ (~~ (template [<type>]
+ [(_.cover [<type>]
+ (exec
+ (|> []
+ (:as <type>)
+ (: (Ex [a] (/.Object a))))
+ true))]
+
+ [/.Nil]
+ [/.Function]
+ ))))
+ (_.cover [/.import:]
+ (is? (..File::SEPARATOR)
+ (..File::SEPARATOR)))
+ )))))
diff --git a/stdlib/source/test/lux/math/modular.lux b/stdlib/source/test/lux/math/modular.lux
index 090481806..40a091008 100644
--- a/stdlib/source/test/lux/math/modular.lux
+++ b/stdlib/source/test/lux/math/modular.lux
@@ -93,17 +93,17 @@
(/.- zero subject)))))
(_.cover [/.inverse]
(let [one (/.modular (/.modulus subject) +1)
- co-prime? (i.co-prime? (//.divisor (/.modulus subject))
+ co_prime? (i.co_prime? (//.divisor (/.modulus subject))
(/.value subject))]
(case (/.inverse subject)
(#.Some subject^-1)
- (and co-prime?
+ (and co_prime?
(|> subject
(/.* subject^-1)
(/.= one)))
#.None
- (not co-prime?))))
+ (not co_prime?))))
(_.cover [/.adapter]
(<| (try.default false)
(do try.monad
diff --git a/stdlib/source/test/lux/math/number/int.lux b/stdlib/source/test/lux/math/number/int.lux
index 9b650e795..1d95a10e5 100644
--- a/stdlib/source/test/lux/math/number/int.lux
+++ b/stdlib/source/test/lux/math/number/int.lux
@@ -158,9 +158,9 @@
(/.* right_k right)))]
(and same_gcd!
bezout_identity!)))
- (_.cover [/.co-prime?]
+ (_.cover [/.co_prime?]
(bit\= (/.= +1 (/.gcd left right))
- (/.co-prime? left right)))
+ (/.co_prime? left right)))
(_.cover [/.lcm]
(let [lcm (/.lcm left right)]
(and (/.= +0 (/.% left lcm))
diff --git a/stdlib/source/test/lux/math/number/nat.lux b/stdlib/source/test/lux/math/number/nat.lux
index 9577b25db..c9bb2102b 100644
--- a/stdlib/source/test/lux/math/number/nat.lux
+++ b/stdlib/source/test/lux/math/number/nat.lux
@@ -112,9 +112,9 @@
(let [gcd (/.gcd left right)]
(and (/.= 0 (/.% gcd left))
(/.= 0 (/.% gcd right)))))
- (_.cover [/.co-prime?]
+ (_.cover [/.co_prime?]
(bit\= (/.= 1 (/.gcd left right))
- (/.co-prime? left right)))
+ (/.co_prime? left right)))
(_.cover [/.lcm]
(let [lcm (/.lcm left right)]
(and (/.= 0 (/.% left lcm))
diff --git a/stdlib/source/test/lux/time/year.lux b/stdlib/source/test/lux/time/year.lux
index b1e2691db..d97eb8334 100644
--- a/stdlib/source/test/lux/time/year.lux
+++ b/stdlib/source/test/lux/time/year.lux
@@ -62,13 +62,13 @@
(#try.Failure _)
(i.= +0 expected)))
))
- (_.cover [/.there-is-no-year-0]
+ (_.cover [/.there_is_no_year_0]
(case (/.year +0)
(#try.Success _)
false
(#try.Failure error)
- (exception.match? /.there-is-no-year-0 error)))
+ (exception.match? /.there_is_no_year_0 error)))
(_.cover [/.days]
(n.= (.nat (//duration.query //duration.day //duration.normal_year))
/.days))
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/case.lux b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/case.lux
index a1d16b40b..44807af9d 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/case.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/case.lux
@@ -144,8 +144,8 @@
variant-name (r.unicode 5)
record-name (|> (r.unicode 5) (r.filter (|>> (text\= variant-name) not)))
size (|> r.nat (\ ! map (|>> (n.% 10) (n.max 2))))
- variant-tags (|> (r.set text.hash size (r.unicode 5)) (\ ! map set.to-list))
- record-tags (|> (r.set text.hash size (r.unicode 5)) (\ ! map set.to-list))
+ variant-tags (|> (r.set text.hash size (r.unicode 5)) (\ ! map set.to_list))
+ record-tags (|> (r.set text.hash size (r.unicode 5)) (\ ! map set.to_list))
primitivesTC (r.list size _primitive.primitive)
#let [primitivesT (list\map product.left primitivesTC)
primitivesC (list\map product.right primitivesTC)
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/structure.lux b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/structure.lux
index 2f0f5d810..d263e3f0d 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/structure.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/structure.lux
@@ -231,7 +231,7 @@
(def: variant
(do {! r.monad}
[size (|> r.nat (\ ! map (|>> (n.% 10) (n.max 2))))
- tags (|> (r.set text.hash size (r.unicode 5)) (\ ! map set.to-list))
+ tags (|> (r.set text.hash size (r.unicode 5)) (\ ! map set.to_list))
choice (|> r.nat (\ ! map (n.% size)))
other-choice (|> r.nat (\ ! map (n.% size)) (r.filter (|>> (n.= choice) not)))
primitives (r.list size _primitive.primitive)
@@ -277,7 +277,7 @@
(def: record
(do {! r.monad}
[size (|> r.nat (\ ! map (|>> (n.% 10) (n.max 2))))
- tags (|> (r.set text.hash size (r.unicode 5)) (\ ! map set.to-list))
+ tags (|> (r.set text.hash size (r.unicode 5)) (\ ! map set.to_list))
primitives (r.list size _primitive.primitive)
module-name (r.unicode 5)
type-name (r.unicode 5)
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/case.lux b/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/case.lux
index 7cce92462..0a7a9d9c5 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/case.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/case.lux
@@ -184,7 +184,7 @@
(All [a] (-> (Hash a) (Random a) (Random [a a a a a])))
(|> random-element
(random.set hash 5)
- (\ random.monad map (|>> set.to-list
+ (\ random.monad map (|>> set.to_list
(case> (^ (list s0 s1 s2 s3 s4))
[s0 s1 s2 s3 s4]
diff --git a/stdlib/source/test/lux/world/output/video/resolution.lux b/stdlib/source/test/lux/world/output/video/resolution.lux
index 671b1952c..a063a23bf 100644
--- a/stdlib/source/test/lux/world/output/video/resolution.lux
+++ b/stdlib/source/test/lux/world/output/video/resolution.lux
@@ -33,7 +33,7 @@
/.fhd
/.wuxga
/.wqhd
- /.uhd-4k)]
+ /.uhd_4k)]
(def: listing
(List /.Resolution)
(list <resolutions>))