Blog articles/Data
From HaskellWiki
(Difference between revisions)
m |
|||
| (19 intermediate revisions not shown.) | |||
| Line 1: | Line 1: | ||
| + | [[Category:Tutorials]] | ||
== Data structures == | == Data structures == | ||
| - | + | === Trees === | |
| + | |||
* [http://scienceblogs.com/goodmath/2006/12/a_tree_grows_up_in_haskell_bui_1.php A Tree Grows Up in Haskell: Building a Dictionary Type] | * [http://scienceblogs.com/goodmath/2006/12/a_tree_grows_up_in_haskell_bui_1.php A Tree Grows Up in Haskell: Building a Dictionary Type] | ||
| - | * [http:// | + | * [http://notvincenz.blogspot.com/2007/07/flatten-benchmark.html Flattening trees] |
| - | + | ||
* [http://www.randomhacks.net/articles/2007/02/10/map-fusion-and-haskell-performance Map fusion: Making Haskell 225% faster] | * [http://www.randomhacks.net/articles/2007/02/10/map-fusion-and-haskell-performance Map fusion: Making Haskell 225% faster] | ||
| + | |||
| + | === Stacks === | ||
| + | |||
| + | * [http://progexpr.blogspot.com/2006/11/haskell-stacks-two-different-ways.html Haskell Stacks : Two Different Ways] | ||
| + | |||
| + | === Queues === | ||
| + | |||
| + | * [http://www.randomhacks.net/articles/2007/02/08/haskell-queues-without-pointers Queues without pointers] | ||
| + | |||
| + | === Zipper === | ||
* [http://cgi.cse.unsw.edu.au/~dons/blog/2007/05/17#xmonad_part1b_zipper Roll Your Own Window Manager: Tracking Focus with a Zipper] | * [http://cgi.cse.unsw.edu.au/~dons/blog/2007/05/17#xmonad_part1b_zipper Roll Your Own Window Manager: Tracking Focus with a Zipper] | ||
| + | * [http://conway.rutgers.edu/~ccshan/wiki/blog/posts/WalkZip1/ From walking to zipping, Part 1: Moving right] | ||
| + | * [http://conway.rutgers.edu/~ccshan/wiki/blog/posts/WalkZip2/ From walking to zipping, Part 2: Down and up] | ||
| + | * [http://www.haskell.org/haskellwiki/Zipper The Zipper] | ||
| + | |||
| + | ===Lists=== | ||
| + | |||
| + | * [http://wadler.blogspot.com/2007/12/arithmetic-for-lists.html Arithmetic for lists] | ||
| + | * [http://www.kennknowles.com/blog/2008/04/16/drawing-fractals-in-haskell-with-a-cursor-graphics-dsel-and-a-cute-list-representation/ Drawing fractals in Haskell with a cursor graphics DSEL and a cute list representation] (reproduces [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/dlist difference lists] from old primary sources) | ||
===Strings=== | ===Strings=== | ||
* [http://gimbo.org.uk/blog/2007/04/20/splitting-a-string-in-haskell/ Splitting a string in Haskell] | * [http://gimbo.org.uk/blog/2007/04/20/splitting-a-string-in-haskell/ Splitting a string in Haskell] | ||
| + | |||
| + | ===Mutable data=== | ||
| + | |||
| + | * [http://neilbartlett.name/blog/2007/04/11/haskell-an-imperative-language-with-mutable-state/ Haskell: an Imperative Language with Mutable State] | ||
| + | * [http://jputnam.livejournal.com/42065.html Haskell and inplace QuickSort] | ||
| + | |||
| + | ===Compression and serialisation === | ||
| + | |||
| + | * [[Serialisation and compression with Data_Binary]] | ||
| + | |||
| + | === Generics === | ||
| + | |||
| + | * [http://neilmitchell.blogspot.com/2007/06/boilerplate-considered-harmful-uniplate.html Boilerplate considered harmful (Uniplate edition!)] | ||
| + | |||
| + | === Miscelleanous === | ||
| + | * [http://syntaxfree.wordpress.com/2007/02/11/finally-some-hacking-of-my-own-a-counter-datatype/ A counter datatype with constant-time update] | ||
| + | |||
| + | === Further reading === | ||
| + | |||
| + | * [http://haskell.org/haskellwiki/Research_papers/Data_structures Research papers on data structures in Haskell] | ||
| + | |||
| + | == Control structures == | ||
| + | |||
| + | See also the subsections for [[Blog_articles/Monads#Monads|monads]] and [[Blog_articles/Monads#Comonads|comonads]]. | ||
| + | |||
| + | === Codata === | ||
| + | |||
| + | * [http://sigfpe.blogspot.com/2007/07/data-and-codata.html Data and Co-Data] | ||
| + | |||
| + | === Continuations === | ||
| + | |||
| + | * [http://therning.org/magnus/archives/306 Continuing with continuations] | ||
| + | |||
| + | === Delimited continuations === | ||
| + | |||
| + | * [http://blog.moertel.com/articles/2005/09/13/scope-herding-with-delimited-continuations Scope herding with delimited continuations] | ||
| + | |||
| + | == Further reading == | ||
| + | * [http://hackage.haskell.org/packages/archive/pkg-list.html#cat:Data%20Structures Data structures on Hackage] | ||
| + | * [http://hackage.haskell.org/packages/archive/pkg-list.html#cat:Data More data structures on Hackage] | ||
| + | * [http://hackage.haskell.org/packages/archive/pkg-list.html#cat:Generics Generics on Hackage] | ||
| + | * [http://hackage.haskell.org/packages/archive/pkg-list.html#cat:Control Control structures on Hackage] | ||
Revision as of 21:42, 16 April 2008
Contents |
1 Data structures
1.1 Trees
- A Tree Grows Up in Haskell: Building a Dictionary Type
- Flattening trees
- Map fusion: Making Haskell 225% faster
1.2 Stacks
1.3 Queues
1.4 Zipper
- Roll Your Own Window Manager: Tracking Focus with a Zipper
- From walking to zipping, Part 1: Moving right
- From walking to zipping, Part 2: Down and up
- The Zipper
1.5 Lists
- Arithmetic for lists
- Drawing fractals in Haskell with a cursor graphics DSEL and a cute list representation (reproduces difference lists from old primary sources)
1.6 Strings
1.7 Mutable data
1.8 Compression and serialisation
1.9 Generics
1.10 Miscelleanous
1.11 Further reading
2 Control structures
See also the subsections for monads and comonads.
