From 1251b22ebc01795d19a67246350805654d8e6666 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Fri, 3 Aug 2018 00:18:52 -0400 Subject: Moved "Array" type back into "lux/data/collection/array". --- stdlib/source/lux.lux | 4 ---- .../compiler/default/phase/extension/analysis/host.jvm.lux | 2 +- stdlib/source/lux/control/thread.lux | 2 +- stdlib/source/lux/data/collection/array.lux | 6 ++++++ stdlib/source/lux/data/collection/bits.lux | 2 +- stdlib/source/lux/data/collection/dictionary.lux | 2 +- stdlib/source/lux/data/collection/row.lux | 2 +- stdlib/source/lux/data/format/json.lux | 2 +- stdlib/source/lux/data/number.lux | 2 +- stdlib/source/lux/host.jvm.lux | 6 +++--- stdlib/source/lux/macro/poly/equivalence.lux | 14 +++++++------- stdlib/source/lux/math/random.lux | 2 +- stdlib/source/lux/type.lux | 3 ++- stdlib/source/lux/world/binary.lux | 4 +++- stdlib/source/lux/world/file.lux | 2 +- stdlib/test/test/lux/data/collection/array.lux | 2 +- 16 files changed, 31 insertions(+), 26 deletions(-) diff --git a/stdlib/source/lux.lux b/stdlib/source/lux.lux index 1c7969f99..4f48518a1 100644 --- a/stdlib/source/lux.lux +++ b/stdlib/source/lux.lux @@ -5975,10 +5975,6 @@ (f value) value))) -(type: #export (Array a) - {#.doc "Mutable arrays."} - (#.Primitive "#Array" (#.Cons a #.Nil))) - (def: target (Meta Text) (function (_ compiler) diff --git a/stdlib/source/lux/compiler/default/phase/extension/analysis/host.jvm.lux b/stdlib/source/lux/compiler/default/phase/extension/analysis/host.jvm.lux index 2713f59a2..5ba07b362 100644 --- a/stdlib/source/lux/compiler/default/phase/extension/analysis/host.jvm.lux +++ b/stdlib/source/lux/compiler/default/phase/extension/analysis/host.jvm.lux @@ -13,7 +13,7 @@ format] [collection ["." list ("list/." Fold Functor Monoid)] - ["." array] + ["." array (#+ Array)] ["." dictionary (#+ Dictionary)]]] ["." type ["." check]] diff --git a/stdlib/source/lux/control/thread.lux b/stdlib/source/lux/control/thread.lux index 2e7942355..f81877a2a 100644 --- a/stdlib/source/lux/control/thread.lux +++ b/stdlib/source/lux/control/thread.lux @@ -6,7 +6,7 @@ [monad (#+ Monad do)]] [data [collection - ["." array]]] + ["." array (#+ Array)]]] [type (#+ :share) abstract] [compiler diff --git a/stdlib/source/lux/data/collection/array.lux b/stdlib/source/lux/data/collection/array.lux index f19ad6547..6036d96ae 100644 --- a/stdlib/source/lux/data/collection/array.lux +++ b/stdlib/source/lux/data/collection/array.lux @@ -13,6 +13,12 @@ [compiler ["." host]]]) +(def: #export array-type-name "#Array") + +(type: #export (Array a) + {#.doc "Mutable arrays."} + (#.Primitive array-type-name (#.Cons a #.Nil))) + (def: #export (new size) (All [a] (-> Nat (Array a))) (`` (for {(~~ (static host.jvm)) diff --git a/stdlib/source/lux/data/collection/bits.lux b/stdlib/source/lux/data/collection/bits.lux index 66cb2dab7..8855c0593 100644 --- a/stdlib/source/lux/data/collection/bits.lux +++ b/stdlib/source/lux/data/collection/bits.lux @@ -10,7 +10,7 @@ [text format] [collection - ["." array ("array/." Fold)]]]]) + ["." array (#+ Array) ("array/." Fold)]]]]) (type: #export Chunk I64) diff --git a/stdlib/source/lux/data/collection/dictionary.lux b/stdlib/source/lux/data/collection/dictionary.lux index f48554f55..e61d657a5 100644 --- a/stdlib/source/lux/data/collection/dictionary.lux +++ b/stdlib/source/lux/data/collection/dictionary.lux @@ -10,7 +10,7 @@ ["." i64]] [collection ["." list ("list/." Fold Functor Monoid)] - ["." array ("array/." Functor Fold)]]] + ["." array (#+ Array) ("array/." Functor Fold)]]] ]) ## This implementation of Hash Array Mapped Trie (HAMT) is based on diff --git a/stdlib/source/lux/data/collection/row.lux b/stdlib/source/lux/data/collection/row.lux index 3951aadd1..668e49b6c 100644 --- a/stdlib/source/lux/data/collection/row.lux +++ b/stdlib/source/lux/data/collection/row.lux @@ -16,7 +16,7 @@ ["." i64]] [collection ["." list ("list/." Fold Functor Monoid)] - ["." array ("array/." Functor Fold)]]] + ["." array (#+ Array) ("array/." Functor Fold)]]] [macro (#+ with-gensyms) ["." code] ["s" syntax (#+ syntax: Syntax)]]]) diff --git a/stdlib/source/lux/data/format/json.lux b/stdlib/source/lux/data/format/json.lux index 549631f2a..3594ef28c 100644 --- a/stdlib/source/lux/data/format/json.lux +++ b/stdlib/source/lux/data/format/json.lux @@ -1,7 +1,7 @@ (.module: {#.doc "Functionality for reading and writing values in the JSON format. For more information, please see: http://www.json.org/"} - [lux (#- Array) + [lux #* [control ["." monad (#+ do Monad)] [equivalence (#+ Equivalence)] diff --git a/stdlib/source/lux/data/number.lux b/stdlib/source/lux/data/number.lux index 2fc52ae41..a1303f848 100644 --- a/stdlib/source/lux/data/number.lux +++ b/stdlib/source/lux/data/number.lux @@ -14,7 +14,7 @@ ["." maybe] ["." text] [collection - ["." array]]] + ["." array (#+ Array)]]] ["." math]] [/ ["." i64]]) diff --git a/stdlib/source/lux/host.jvm.lux b/stdlib/source/lux/host.jvm.lux index 98cf40bfc..e7d28dd04 100644 --- a/stdlib/source/lux/host.jvm.lux +++ b/stdlib/source/lux/host.jvm.lux @@ -13,6 +13,7 @@ ["." text ("text/." Equivalence Monoid) format] [collection + ["." array (#+ Array)] ["." list ("list/." Monad Fold Monoid)]]] function ["." type ("type/." Equivalence)] @@ -63,7 +64,6 @@ ) ## [Utils] -(def: array-type-name "#Array") (def: constructor-method-name "") (def: member-separator "::") @@ -315,7 +315,7 @@ (#GenericArray param) (let [=param (class->type' mode type-params #1 param)] - (` (.Array (~ =param)))) + (` ((~! array.Array) (~ =param)))) (^or (#GenericWildcard #.None) (#GenericWildcard (#.Some [#LowerBound _]))) (' (.Ex [*] *)) @@ -1105,7 +1105,7 @@ (format "(" (sanitize name) " " (spaced (list/map generic-type$ params)) ")") (#GenericArray param) - (format "(" array-type-name " " (generic-type$ param) ")") + (format "(" array.array-type-name " " (generic-type$ param) ")") (#GenericWildcard #.None) "?" diff --git a/stdlib/source/lux/macro/poly/equivalence.lux b/stdlib/source/lux/macro/poly/equivalence.lux index 672817ee6..edb1f8dfc 100644 --- a/stdlib/source/lux/macro/poly/equivalence.lux +++ b/stdlib/source/lux/macro/poly/equivalence.lux @@ -64,13 +64,13 @@ (wrap (` (: (~ (@Equivalence inputT)) ( (~ argC))))))] - [.Maybe maybe.Equivalence] - [.List list.Equivalence] - [row.Row row.Equivalence] - [.Array array.Equivalence] - [queue.Queue queue.Equivalence] - [set.Set set.Equivalence] - [rose.Tree rose.Equivalence] + [.Maybe maybe.Equivalence] + [.List list.Equivalence] + [row.Row row.Equivalence] + [array.Array array.Equivalence] + [queue.Queue queue.Equivalence] + [set.Set set.Equivalence] + [rose.Tree rose.Equivalence] )) (do @ [[_ _ valC] (poly.apply ($_ p.and diff --git a/stdlib/source/lux/math/random.lux b/stdlib/source/lux/math/random.lux index f743b2d35..eab1ae04c 100644 --- a/stdlib/source/lux/math/random.lux +++ b/stdlib/source/lux/math/random.lux @@ -16,7 +16,7 @@ ["." unicode (#+ Char Segment)]] [collection ["." list ("list/." Fold)] - ["." array] + ["." array (#+ Array)] ["." dictionary (#+ Dictionary)] ["." queue (#+ Queue)] ["." set (#+ Set)] diff --git a/stdlib/source/lux/type.lux b/stdlib/source/lux/type.lux index 5dd1e905f..be3b54eed 100644 --- a/stdlib/source/lux/type.lux +++ b/stdlib/source/lux/type.lux @@ -10,6 +10,7 @@ [number ("nat/." Codec)] ["." maybe] [collection + ["." array] ["." list ("list/." Functor Monoid Fold)]]] ["." macro ["." code] @@ -334,7 +335,7 @@ (-> Nat Type Type) (case level 0 elem-type - _ (|> elem-type (array (dec level)) (list) (#.Primitive "#Array")))) + _ (|> elem-type (array (dec level)) (list) (#.Primitive array.array-type-name)))) (syntax: #export (:log! {input (p.or s.identifier s.any)}) diff --git a/stdlib/source/lux/world/binary.lux b/stdlib/source/lux/world/binary.lux index a125b8067..1821c61b9 100644 --- a/stdlib/source/lux/world/binary.lux +++ b/stdlib/source/lux/world/binary.lux @@ -10,7 +10,9 @@ [number ["." i64]] [text - format]] + format] + [collection + [array (#+ Array)]]] ["." host (#+ import:)]]) (exception: #export (index-out-of-bounds {description Text}) diff --git a/stdlib/source/lux/world/file.lux b/stdlib/source/lux/world/file.lux index 50d9ec2bc..912c448e9 100644 --- a/stdlib/source/lux/world/file.lux +++ b/stdlib/source/lux/world/file.lux @@ -9,7 +9,7 @@ [text format] [collection - ["." array]]] + ["." array (#+ Array)]]] [time ["." instant (#+ Instant)] ["." duration]] diff --git a/stdlib/test/test/lux/data/collection/array.lux b/stdlib/test/test/lux/data/collection/array.lux index f1421f7ea..ea3ab69d5 100644 --- a/stdlib/test/test/lux/data/collection/array.lux +++ b/stdlib/test/test/lux/data/collection/array.lux @@ -7,7 +7,7 @@ ["." number] ["." maybe] [collection - ["@" array] + ["@" array (#+ Array)] ["." list]]] [math ["r" random]]] -- cgit v1.2.3