Difference between revisions of "Blog articles"

From HaskellWiki
Jump to navigation Jump to search
(more blogs)
Line 4: Line 4:
 
=== Introductions to Haskell ===
 
=== Introductions to Haskell ===
   
  +
* [http://www.onlamp.com/pub/a/onlamp/2007/05/21/an-introduction-to-haskell---part-1-why-haskell.html ONLamp: An Introduction to Haskell]
 
* [http://www.alpheccar.org/en/posts/show/67 Haskell Study Plan]
 
* [http://www.alpheccar.org/en/posts/show/67 Haskell Study Plan]
 
* [http://programming.reddit.com/goto?id=uzuc On Haskell, Intuition And Expressive Power]
 
* [http://programming.reddit.com/goto?id=uzuc On Haskell, Intuition And Expressive Power]
Line 84: Line 85:
 
* [http://blogs.msdn.com/wesdyer/archive/2007/03/01/immutability-purity-and-referential-transparency.aspx Immutability, Purity, and Referential Transparency in C#]
 
* [http://blogs.msdn.com/wesdyer/archive/2007/03/01/immutability-purity-and-referential-transparency.aspx Immutability, Purity, and Referential Transparency in C#]
 
* [http://themechanicalbride.blogspot.com/2007/04/haskell-for-c-3-programmers.html Haskell for C# 3 Programmers]
 
* [http://themechanicalbride.blogspot.com/2007/04/haskell-for-c-3-programmers.html Haskell for C# 3 Programmers]
  +
* [http://lukeplant.me.uk/blog.php?id=1107301659 Null pointers vs None vs Maybe]
   
 
==== Scala ====
 
==== Scala ====
Line 168: Line 170:
 
** [http://www.xprogramming.com/xpmag/dbcHaskellBowling.htm Haskell Bowling]
 
** [http://www.xprogramming.com/xpmag/dbcHaskellBowling.htm Haskell Bowling]
 
** [http://www.randomhacks.net/articles/2007/04/28/bowling-in-haskell Bowling in Haskell Response]
 
** [http://www.randomhacks.net/articles/2007/04/28/bowling-in-haskell Bowling in Haskell Response]
  +
* [http://www.serpentine.com/blog/2007/05/14/norvigs-spell-checker-and-idiomatic-haskell/ Norvig's spell checker and idiomatic Haskell]
   
 
==== Games ====
 
==== Games ====
Line 233: Line 236:
 
** [http://metavar.blogspot.com/2007/03/simple-socket-programming-2-revenge-of.html Part 2]
 
** [http://metavar.blogspot.com/2007/03/simple-socket-programming-2-revenge-of.html Part 2]
 
* [http://austin.youareinferior.net/?q=node/24 On haskell: writing a packet sniffer]
 
* [http://austin.youareinferior.net/?q=node/24 On haskell: writing a packet sniffer]
  +
* [http://abstractabsurd.blogspot.com/2007/05/couple-of-silly-examples.html A simple echo server]
   
 
==== IRC ====
 
==== IRC ====
Line 272: Line 276:
 
* [http://notes-on-haskell.blogspot.com/2007/05/parsing-json.html Parsing JSON in Haskell]
 
* [http://notes-on-haskell.blogspot.com/2007/05/parsing-json.html Parsing JSON in Haskell]
 
* [http://halogen.note.amherst.edu/~jdtang/scheme_in_48/tutorial/overview.html Write yourself a Scheme in 48 hours]
 
* [http://halogen.note.amherst.edu/~jdtang/scheme_in_48/tutorial/overview.html Write yourself a Scheme in 48 hours]
  +
* [http://davblog48.blogspot.com/2007/05/parsec.html A beginner with Parsec]
   
 
=== Monads ===
 
=== Monads ===
Line 302: Line 307:
 
* [http://therning.org/magnus/archives/215 Simple state monad]
 
* [http://therning.org/magnus/archives/215 Simple state monad]
 
* [http://therning.org/magnus/archives/269 repeat and sequence]
 
* [http://therning.org/magnus/archives/269 repeat and sequence]
  +
* [http://lukeplant.me.uk/blog.php?id=1107301659 What's a monad?]
   
 
==== Monad transformers ====
 
==== Monad transformers ====
Line 336: Line 342:
 
* [http://scienceblogs.com/goodmath/2006/12/building_datatypes_in_haskell_1.php Building Datatypes in Haskell (part 1)]
 
* [http://scienceblogs.com/goodmath/2006/12/building_datatypes_in_haskell_1.php Building Datatypes in Haskell (part 1)]
 
* [http://cucumariid.livejournal.com/36757.html Rank-2 polymorphism is a strange thing]
 
* [http://cucumariid.livejournal.com/36757.html Rank-2 polymorphism is a strange thing]
  +
* [http://liftm.wordpress.com/2007/06/03/scientificdimension-type-arithmetic-and-physical-units-in-haskell/ Scientific.Dimension: Type Arithmetic and Physical Units in Haskell]
   
 
==== Type classes ====
 
==== Type classes ====
Line 349: Line 356:
 
* [http://syntaxfree.wordpress.com/2007/02/11/finally-some-hacking-of-my-own-a-counter-datatype/ A counter datatype with constant-time update]
 
* [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]
  +
* [http://cgi.cse.unsw.edu.au/~dons/blog/2007/05/17#xmonad_part1b_zipper Roll Your Own Window Manager: Tracking Focus with a Zipper]
   
 
====Strings====
 
====Strings====
Line 355: Line 363:
   
 
=== Algorithms and techniques ===
 
=== Algorithms and techniques ===
  +
  +
* [http://twan.home.fmf.nl/blog/haskell/Knuth-Morris-Pratt-in-Haskell.details Knuth-Morris-Pratt in Haskell]
  +
* [http://illicittech.blogspot.com/2007/06/travelling-salesman-problem.html Travelling Salesman Problem: Introduction (in Haskell)]
   
 
====Folds====
 
====Folds====
Line 380: Line 391:
 
* [http://www.ventonegro.org/?p=95 Haskell in the real, mundane world]
 
* [http://www.ventonegro.org/?p=95 Haskell in the real, mundane world]
 
* [http://araujoluis.blogspot.com/2007/04/haskell-gui-programing.html Haskell GUI Programing]
 
* [http://araujoluis.blogspot.com/2007/04/haskell-gui-programing.html Haskell GUI Programing]
  +
  +
=== Databases ===
  +
  +
* [http://davblog48.blogspot.com/2007/05/trying-to-learn-haskell-database.html Learning Haskell databases]
   
 
=== Graphics ===
 
=== Graphics ===
Line 443: Line 458:
 
** [http://augustss.blogspot.com/2007/04/overloading-haskell-numbers-part-2.html Part 2: Forward Automatic Differentiation]
 
** [http://augustss.blogspot.com/2007/04/overloading-haskell-numbers-part-2.html Part 2: Forward Automatic Differentiation]
 
** [http://augustss.blogspot.com/2007/04/overloading-haskell-numbers-part-3.html Part 3: Fixed Precision]
 
** [http://augustss.blogspot.com/2007/04/overloading-haskell-numbers-part-3.html Part 3: Fixed Precision]
  +
** [http://augustss.blogspot.com/2007/05/i-was-asked-if-my-fixed-number-module.html Dynamic epsilons in Haskell with a bit of type hackery]
   
 
==== Theorem proving ====
 
==== Theorem proving ====
Line 458: Line 474:
   
 
==== Mathematics of Haskell ====
 
==== Mathematics of Haskell ====
  +
 
* [http://sigfpe.blogspot.com/2006/11/why-isnt-listt-monad.html Why isn't ListT list a monad?]
 
* [http://sigfpe.blogspot.com/2006/11/why-isnt-listt-monad.html Why isn't ListT list a monad?]
 
* [http://sigfpe.blogspot.com/2006/11/yoneda-lemma.html Reverse Engineering Machines with the Yoneda Lemma]
 
* [http://sigfpe.blogspot.com/2006/11/yoneda-lemma.html Reverse Engineering Machines with the Yoneda Lemma]
Line 466: Line 483:
 
* [http://scienceblogs.com/goodmath/2006/11/why_haskell.php Why Haskell?]
 
* [http://scienceblogs.com/goodmath/2006/11/why_haskell.php Why Haskell?]
 
* [http://www.onebadseed.com/blog/?p=51 Don't need the Y combinator]
 
* [http://www.onebadseed.com/blog/?p=51 Don't need the Y combinator]
  +
* [http://www.rubrication.net/2007/04/21/how-a-real-module-system-should-work/ ML, Haskell and Coq]
  +
* [http://www.alpheccar.org/en/posts/show/70 Djinn, Coq, Monad and a bit of Haskell]
   
=== Testing ===
+
=== Testing, correctness and proofs ===
   
 
* [http://haskell.org/haskellwiki/Introduction_to_QuickCheck Introduction to QuickCheck]
 
* [http://haskell.org/haskellwiki/Introduction_to_QuickCheck Introduction to QuickCheck]
Line 473: Line 492:
 
* [http://blogs.teamb.com/craigstuntz/archive/2006/12/08/UnitTestingAndTypeSafety.aspx On Unit Testing and Type Safety]
 
* [http://blogs.teamb.com/craigstuntz/archive/2006/12/08/UnitTestingAndTypeSafety.aspx On Unit Testing and Type Safety]
 
* [http://abstractabsurd.blogspot.com/2007/02/sussman-robustness-quickcheck.html Robustness and QuickCheck]
 
* [http://abstractabsurd.blogspot.com/2007/02/sussman-robustness-quickcheck.html Robustness and QuickCheck]
  +
* [http://neilmitchell.blogspot.com/2007/05/does-xmonad-crash.html Does XMonad crash? On proving pattern coverage with Catch]
  +
* [http://neilmitchell.blogspot.com/2007/05/preconditions-on-xmonad.html Preconditions on XMonad]
   
 
=== Regular expressions ===
 
=== Regular expressions ===
Line 478: Line 499:
 
* [http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/ A regular expression tutorial]
 
* [http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/ A regular expression tutorial]
 
* [http://haskell.org/haskellwiki/Regular_expressions Using the new regex packages]
 
* [http://haskell.org/haskellwiki/Regular_expressions Using the new regex packages]
  +
* [http://michaelspeer.blogspot.com/2007/05/initial-code-at-regular-expressions-in.html Regular expressions in Haskell]
   
 
=== The foreign function interface ===
 
=== The foreign function interface ===
Line 499: Line 521:
 
* [http://www.brandonwerner.com/2007/06/10/how-to-install-haskell-haddock-on-mac-os-x/ How To Install Haskell Haddock on Mac OS X]
 
* [http://www.brandonwerner.com/2007/06/10/how-to-install-haskell-haddock-on-mac-os-x/ How To Install Haskell Haddock on Mac OS X]
   
=== Hardware description languages ===
+
=== Robots and Hardware ===
   
 
* [http://iguanarama.com/blog/?p=8 Haskell and HDL's]
 
* [http://iguanarama.com/blog/?p=8 Haskell and HDL's]
  +
* [http://sigfpe.blogspot.com/2007/05/haskell-incarnate.html Haskell incarnate: robots and Haskell]
  +
  +
=== Neural networks ===
   
  +
* [http://jpmoresmau.blogspot.com/2007/06/very-dumb-neural-network-in-haskell.html A neural network in Haskell]
   
 
[[Category:Tutorials]]
 
[[Category:Tutorials]]

Revision as of 01:35, 14 June 2007

Many areas of Haskell have been explored in the form of blog posts. This page collects the best of those articles from across the web.

Introductions to Haskell

First impressions

Comparisons to other languages

Ruby

Erlang

Ada

Java

Perl 6

Eiffel

Javascript

C

C#

Scala

CAL

Python

Scheme

Forth

Factor

Lisp

Lua

Qi

Functional programming

Programming exercises

Games

Laziness

Records

IO

Command line arguments

Unix

Network

HTTP

TCP

IRC

Parallelism and Concurrency

Performance

Parsing

Monads

Monad transformers

Arrows

Comonads

Error handling and exceptions

Types

Type classes

Data structures

Strings

Algorithms and techniques

Folds

Dynamic programming

Mutable data

Sections and Currying

GUIs

Databases

Graphics

Web and XML

HTML

XML, Atom, RSS

Maths

Haskell for mathematics

Theorem proving

Quantum computing

Mathematics of Haskell

Testing, correctness and proofs

Regular expressions

The foreign function interface

Tips and tricks

Cabal and libraries

Robots and Hardware

Neural networks