summaryrefslogtreecommitdiff
path: root/fp1/week3/camil/StdSortList.dcl
blob: 556dfc0593fce85dd15411f9d38e744de40d644d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
definition module StdSortList

import StdClass

::  SortList a

newSortList   :: SortList a                   | zero a         // lege gesorteerde lijst
memberSort    :: a (SortList a) -> Bool       | Eq, Ord a      // is element van
insertSort    :: a (SortList a) -> SortList a | Ord a          // voeg element toe
removeFirst   :: a (SortList a) -> SortList a | Eq, Ord, zero a      // verwijder eerste voorkomen
removeAll     :: a (SortList a) -> SortList a | Eq, Ord, zero a      // verwijder alle voorkomens
elements      ::   (SortList a) -> [a]                         // geef alle elementen
count         ::   (SortList a) -> Int                         // aantal elementen

minimum       ::   (SortList a) -> a                           // huidige minimum waarde
maximum       ::   (SortList a) -> a                           // huidige maximum waarde

mergeSortList :: (SortList a) (SortList a) -> SortList a | Eq, Ord, zero a // meng gesorteerde lijsten