Haskell/Print version

= Table Of Contents =

Specialised Tasks


= Haskell Basics =

= Getting set up =

= Variables and functions =

= Truth values =

= Type basics =

= Lists and tuples =

= Type basics II =

= Building vocabulary =

= Next steps =

= Simple input and output =

= Elementary Haskell =

= Recursion =

= Lists II =

= Lists III =

= Type declarations =

= Pattern matching =

= Control structures =

= More on functions =

= Higher-order functions =

= Using GHCi effectively =

= Intermediate Haskell =

= Modules =

= Indentation =

= More on datatypes =

= Other data structures =

= Classes and types =

= The Functor class =

= Monads =

= Prologue: IO, an applicative functor =

= Understanding monads =

= The Maybe monad =

= The List monad =

=  Notation =

= The IO monad =

= The State monad =

= Alternative and MonadPlus =

= Monad transformers =

= Advanced Haskell =

= Monoids =

= Applicative functors =

= Foldable =

= Traversable =

= Arrow tutorial =

= Understanding arrows =

= Continuation passing style (CPS) =

= Zippers =

= Lenses and functional references =

= Mutable objects =

= Concurrency =

= Fun with Types =

= Polymorphism basics =

= Existentially quantified types =

= Advanced type classes =

= Phantom types =

= Generalised algebraic data-types (GADT) =

= Datatype algebra =

= Type constructors & Kinds =

= Wider Theory =

= Denotational semantics =

= Equational reasoning =

= Program derivation =

= Category theory =

= The Curry-Howard isomorphism =

= fix and recursion =

= Haskell Performance =

= Introduction =

= Step by Step Examples =

= Graph reduction =

= Laziness =

= Strictness =

= Algorithm complexity =

= Data structures =

= Parallelism =

= Libraries Reference =

= The Hierarchical Libraries =

= Lists =

= Arrays =

= Maybe =

= Maps =

= IO =

= Random Numbers =

= General Practices =

= Building a standalone application =

= Debugging =

= Testing =

= Packaging your software (Cabal) =

= Using the Foreign Function Interface (FFI) =

= Generic Programming : Scrap your boilerplate =

= Specialised Tasks =

= Graphical user interfaces (GUI) =

= Databases =

= Web programming =

= Working with XML =

= Using Regular Expressions =

= Parsing Mathematical Expressions =