Package frege.List

Compiled: Wed Dec 05 00:00:49 PST 2012 from source file: ./frege/List.fr

Package Documentation

Additional functions for lists as well as closely related data types and type classes like Tree, Map and Set with their operations.

Table of Content

Imports

Type Aliases

type ListKV key value = ListKV key value

This type is used in place of the unary [] in the instance of Map, where Map can be instantiated with binary type constructors only.

type OrdSet a = OrdSet a
type Set a b = ListKV a b

Classes

class Map keyed

Known Instances

Tree

Member Functions

delete :: (Map keyed, Ord key) => keyed key value -> key -> keyed key value
each :: (Map keyed, Ord key) => keyed key value -> ListKV key value
fromList :: (Map keyed, Ord key) => ListKV key value -> keyed key value
insert :: (Map keyed, Ord key) => keyed key value -> key -> value -> keyed key value
keyvalues :: (Map keyed, Ord key) => keyed key value -> Ordering -> ListKV key value
lookup :: (Map keyed, Ord key) => keyed key value -> key -> Maybe value
update :: (Map keyed, Ord key) => keyed key value -> key -> value -> keyed key value

Instances

instance Empty Tree a

Member Functions

empty :: Tree α β
null :: Tree α β -> Bool
instance Map Tree

Member Functions

delete :: Ord α => Tree α β -> α -> Tree α β
each :: Ord α => Tree α β -> ListKV α β
fromList :: Ord α => ListKV α β -> Tree α β
insert :: Ord α => Tree α β -> α -> β -> Tree α β
keyvalues :: Ord α => Tree α β -> Ordering -> ListKV α β
lookup :: Ord α => Tree α β -> α -> Maybe β
update :: Ord α => Tree α β -> α -> β -> Tree α β
instance Show (Show k, Show v) => Tree k v

Member Functions

display :: (Show α, Show β) => Tree α β -> String

inherited from Show.display

show :: (Show α, Show β) => Tree α β -> String

Function generated for derived istance.

showList :: (Show α, Show β) => [Tree α β] -> String -> String

inherited from Show.showList

showsPrec :: (Show α, Show β) => Int -> Tree α β -> String -> String

inherited from Show.showsPrec

showsub :: (Show α, Show β) => Tree α β -> String

Function generated for derived istance.

Data Types

data Tree k v

Constructors

Nil
Node Int   (Tree k v)   (Tree k v)   k   v

Member Functions

balance :: Tree α β -> Int
depth :: Tree α β -> Int
drotlr :: Tree α β -> Tree α β
drotrl :: Tree α β -> Tree α β
height :: Tree α β -> Int
heightchange :: Tree β α -> Tree γ δ -> Int -> Int
insertlist :: Ord α => Tree α β -> ListKV α β -> Tree α β
leftmost :: Tree α β -> Tree α β
lookupS :: Tree String value -> String -> Maybe value

version of lookup that is optimised for Strings

map :: (γ->β) -> Tree α γ -> Tree α β
rebalance :: Tree α β -> Tree α β
rotleft :: Tree α β -> Tree α β
rotright :: Tree α β -> Tree α β
showins :: (Show α, Show β) => String -> Tree α β -> String
tmap :: (γ->α) -> Tree β γ -> Tree β α

Functions and Values

contains :: Ord α => Tree α β -> α -> Bool
deletek :: Ord α => α -> Tree α β -> Tree α β
diff :: Ord γ => Tree γ α -> Tree γ β -> OrdSet γ
emptySet :: OrdSet a
fromKeys :: Ord α => [α] -> OrdSet α
grep :: Regex -> [String] -> [String]
 grep rx strs = filter (~ rx) strs

Returns the list of strings in /strs/ that match the regular expression /rx/.

See also filter, ~

including :: Ord α => OrdSet α -> α -> OrdSet α
insertkv :: Ord α => α -> β -> Tree α β -> Tree α β
intersection :: Ord γ => Tree γ α -> Tree γ β -> OrdSet γ
isEmpty :: Tree α β -> Bool
iselem :: Ord α => ListKV α β -> α -> Maybe β
keys :: Tree α β -> [α]
union :: Ord α => Tree α β -> Tree α β -> Tree α β
updatekv :: Ord α => α -> β -> Tree α β -> Tree α β
values :: Tree α β -> [β]

Functions and Values by Type

Regex -> [String] -> [String]

grep

Tree String value -> String -> Maybe value

Tree.lookupS

Ord α => OrdSet α -> α -> OrdSet α

including

Ord α => [α] -> OrdSet α

fromKeys

OrdSet a

emptySet

Tree α β -> Tree α β

Tree.drotlr, Tree.drotrl, Tree.rotleft, Tree.leftmost, Tree.rebalance, Tree.rotright

Tree α β -> [α]

keys

Tree α β -> [β]

values

Tree α β -> Bool

isEmpty, Empty_Tree.null

Tree α β -> Int

Tree.height, Tree.depth, Tree.balance

Int -> Tree k v -> Tree k v -> k -> v -> Tree k v

Tree.Node

Ord α => Tree α β -> Tree α β -> Tree α β

union

Ord α => Tree α β -> ListKV α β -> Tree α β

Tree.insertlist

Ord α => Tree α β -> Ordering -> ListKV α β

Map_Tree.keyvalues

Ord α => Tree α β -> α -> β -> Tree α β

Map_Tree.insert, Map_Tree.update

Ord α => Tree α β -> α -> Tree α β

Map_Tree.delete

Ord α => Tree α β -> α -> Maybe β

Map_Tree.lookup

Ord α => Tree α β -> α -> Bool

contains

Ord α => Tree α β -> ListKV α β

Map_Tree.each

Ord α => ListKV α β -> α -> Maybe β

iselem

Ord α => ListKV α β -> Tree α β

Map_Tree.fromList

Ord α => α -> Tree α β -> Tree α β

deletek

Ord α => α -> β -> Tree α β -> Tree α β

insertkv, updatekv

(Show α, Show β) => Tree α β -> String

Show_Tree.show, Show_Tree.display, Show_Tree.showsub

(Show α, Show β) => String -> Tree α β -> String

Tree.showins

(Show α, Show β) => [Tree α β] -> String -> String

Show_Tree.showList

(Show α, Show β) => Int -> Tree α β -> String -> String

Show_Tree.showsPrec

Tree k v

Tree.Nil

Tree α β

Empty_Tree.empty

(γ->α) -> Tree β γ -> Tree β α

Tree.tmap

(γ->β) -> Tree α γ -> Tree α β

Tree.map

(Map keyed, Ord key) => keyed key value -> Ordering -> ListKV key value

Map.keyvalues

(Map keyed, Ord key) => keyed key value -> key -> value -> keyed key value

Map.insert, Map.update

(Map keyed, Ord key) => keyed key value -> key -> keyed key value

Map.delete

(Map keyed, Ord key) => keyed key value -> key -> Maybe value

Map.lookup

(Map keyed, Ord key) => keyed key value -> ListKV key value

Map.each

(Map keyed, Ord key) => ListKV key value -> keyed key value

Map.fromList

Ord γ => Tree γ α -> Tree γ β -> OrdSet γ

diff, intersection

Tree β α -> Tree γ δ -> Int -> Int

Tree.heightchange

Valid HTML 4.01 Strict