# Blog articles/Data

### From HaskellWiki

< Blog articles(Difference between revisions)

DonStewart (Talk | contribs) (→Strings) |
(→Further reading: Added a link to Markov Networks, Monoids, and Futurama) |
||

(19 intermediate revisions by 2 users not shown) | |||

Line 1: | Line 1: | ||

+ | [[Category:Tutorials]] |
||

== Data structures == |
== Data structures == |
||

− | * [http://www.randomhacks.net/articles/2007/02/08/haskell-queues-without-pointers Queues without pointers] |
+ | === 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://progexpr.blogspot.com/2006/11/haskell-stacks-two-different-ways.html Haskell Stacks : Two Different Ways] |
+ | * [http://notvincenz.blogspot.com/2007/07/flatten-benchmark.html Flattening trees] |

− | * [http://syntaxfree.wordpress.com/2007/02/11/finally-some-hacking-of-my-own-a-counter-datatype/ A counter datatype with constant-time update] |
||

* [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=== |
||

Line 15: | Line 34: | ||

* [http://neilbartlett.name/blog/2007/04/11/haskell-an-imperative-language-with-mutable-state/ Haskell: an Imperative Language with Mutable State] |
* [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] |
||

+ | * [http://izbicki.me/blog/markov-networks-monoids-and-futurama Markov Networks, Monoids, and Futurama] |

## Latest revision as of 11:16, 16 May 2013

## Contents |

## [edit] 1 Data structures

### [edit] 1.1 Trees

- A Tree Grows Up in Haskell: Building a Dictionary Type
- Flattening trees
- Map fusion: Making Haskell 225% faster

### [edit] 1.2 Stacks

### [edit] 1.3 Queues

### [edit] 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

### [edit] 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)

### [edit] 1.6 Strings

### [edit] 1.7 Mutable data

### [edit] 1.8 Compression and serialisation

### [edit] 1.9 Generics

### [edit] 1.10 Miscelleanous

### [edit] 1.11 Further reading

## [edit] 2 Control structures

See also the subsections for monads and comonads.