diff options
Diffstat (limited to 'stdlib/source/library/lux/data/collection/dictionary/plist.lux')
-rw-r--r-- | stdlib/source/library/lux/data/collection/dictionary/plist.lux | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/stdlib/source/library/lux/data/collection/dictionary/plist.lux b/stdlib/source/library/lux/data/collection/dictionary/plist.lux index 03025db7e..10c831700 100644 --- a/stdlib/source/library/lux/data/collection/dictionary/plist.lux +++ b/stdlib/source/library/lux/data/collection/dictionary/plist.lux @@ -13,24 +13,24 @@ ["n" nat]]]]]) ## https://en.wikipedia.org/wiki/Property_list -(type: #export (PList a) +(type: .public (PList a) {#.doc (doc "A property list." "It's a simple dictionary-like structure with Text keys.")} (List [Text a])) -(def: #export empty +(def: .public empty PList #.End) -(def: #export size +(def: .public size (All [a] (-> (PList a) Nat)) list.size) -(def: #export empty? +(def: .public empty? (All [a] (-> (PList a) Bit)) (|>> ..size (n.= 0))) -(def: #export (get key properties) +(def: .public (get key properties) (All [a] (-> Text (PList a) (Maybe a))) (case properties #.End @@ -42,7 +42,7 @@ (get key properties')))) (template [<name> <type> <access>] - [(def: #export <name> + [(def: .public <name> (All [a] (-> (PList a) (List <type>))) (list\map <access>))] @@ -50,7 +50,7 @@ [values a product.right] ) -(def: #export (contains? key properties) +(def: .public (contains? key properties) (All [a] (-> Text (PList a) Bit)) (case (..get key properties) (#.Some _) @@ -59,7 +59,7 @@ #.None false)) -(def: #export (put key val properties) +(def: .public (put key val properties) (All [a] (-> Text a (PList a) (PList a))) (case properties #.End @@ -72,7 +72,7 @@ (#.Item [k' v'] (put key val properties'))))) -(def: #export (update key f properties) +(def: .public (update key f properties) (All [a] (-> Text (-> a a) (PList a) (PList a))) (case properties #.End @@ -83,7 +83,7 @@ (#.Item [k' (f v')] properties') (#.Item [k' v'] (update key f properties'))))) -(def: #export (remove key properties) +(def: .public (remove key properties) (All [a] (-> Text (PList a) (PList a))) (case properties #.End @@ -95,7 +95,7 @@ (#.Item [k' v'] (remove key properties'))))) -(def: #export equivalence +(def: .public equivalence (All [a] (-> (Equivalence a) (Equivalence (PList a)))) (|>> (product.equivalence text.equivalence) list.equivalence)) |