CoW functional list in C++11.
Functionality loosely follows all the nice stuff you find in Haskell (Prelude). Here's a list of functions that have been implemented so far. If the name is different in Haskell, it is given in italic.
- Constructing lists
cons
(:)makeList
[...]append
does not exist in Haskell in this form...- List operations
map
join
(++)filter
head
last
tail
init
null
length
at
(!!)reverse
(implemented in terms offoldl
therefore found at the end of the code)- Reducing lists (folds)
foldl
foldl1
foldr
foldr1
- Special folds
concat
concatMap
- Zipping and unzipping lists
zip
zip3
zipWith
zipWith3
unzip
unzip3
- Other
apply
does not exist in Haskell...
- Implement more functionality
- Write actual (unit) tests
- More documentation
- Performance?!
If you have any questions or suggestions feel free to write an issue report. You can also send me an email to kevin at my domain.