Difference between revisions of "Blog articles"

From HaskellWiki
Jump to navigation Jump to search
(lots more articles)
(more articles)
Line 1: Line 1:
Popular Haskell articles from across the web
 
   
  +
Many areas of Haskell have been explored in the form of blog posts. This page
=== Learning Haskell ===
 
 
collects the best of those articles from across the web.
  +
 
=== Introductions to Haskell ===
   
 
* [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 11: Line 13:
 
* [http://johnleesmiller.blogspot.com/2007/02/first-post.html Flirting with Functional Programming]
 
* [http://johnleesmiller.blogspot.com/2007/02/first-post.html Flirting with Functional Programming]
 
* [http://toomuchcode.blogspot.com/2007/02/building-firewall-against-complexity.html Building a Firewall Against Complexity]
 
* [http://toomuchcode.blogspot.com/2007/02/building-firewall-against-complexity.html Building a Firewall Against Complexity]
  +
* [http://syntaxfree.wordpress.com/2007/01/08/haskell-bondage-and-discipline-and-separation-of-concerns-programming/ Haskell, bondage-and-discipline and separation-of-concerns programming]
  +
* [http://programming.reddit.com/info/xbc7/comments/cxfs0 Type systems as safety belts]
  +
* [http://blog.interlinked.org/tutorials/haskell_introduction.html Haskell introduction for beginners]
  +
* [http://blog.interlinked.org/tutorials/haskell_2.html Haskell Basics]
  +
* [http://scienceblogs.com/goodmath/2006/11/haskell_preliminaries_implemen.php Haskell Preliminaries: Implementations and Tools]
  +
* [http://scienceblogs.com/goodmath/2006/11/simple_functions_in_haskell_1.php Simple Functions in Haskell]
   
 
=== First impressions ===
 
=== First impressions ===
Line 17: Line 25:
 
* [http://blogs.nubgames.com/code/?p=17 One month in Haskell]
 
* [http://blogs.nubgames.com/code/?p=17 One month in Haskell]
 
* [http://kevin.scaldeferri.com/blog/2007/02/12/OneWeek.html Thoughts on one week in Haskell]
 
* [http://kevin.scaldeferri.com/blog/2007/02/12/OneWeek.html Thoughts on one week in Haskell]
  +
* [http://blogs.nubgames.com/code/?p=16 Comparing Gzip Code Reduction]
  +
* [http://www.stonecode.org/blog/?p=101 Haskell, first impressions (with sexy results)]
   
 
=== Comparisons to other languages ===
 
=== Comparisons to other languages ===
   
  +
==== Scala ====
 
* [http://blog.tmorris.net/ignorance-is-mostly-bliss-but-not-always/ Haskell, CAL and Scala]
 
* [http://blog.tmorris.net/ignorance-is-mostly-bliss-but-not-always/ Haskell, CAL and Scala]
  +
  +
==== Ruby ====
  +
 
* [http://notes-on-haskell.blogspot.com/2007/01/ruby-vs-haskell-choose-what-works.html Ruby vs Haskell: choose what works]
 
* [http://notes-on-haskell.blogspot.com/2007/01/ruby-vs-haskell-choose-what-works.html Ruby vs Haskell: choose what works]
 
* [http://notes-on-haskell.blogspot.com/2007/01/haskell-open-secret.html Haskell: open secret in Ruby land]
 
* [http://notes-on-haskell.blogspot.com/2007/01/haskell-open-secret.html Haskell: open secret in Ruby land]
  +
* [http://meta-meta.blogspot.com/2006/12/monads-in-ruby-part-1-identity.html Monads in Ruby Part 1: Identity]
  +
* [http://meta-meta.blogspot.com/2006/12/monads-in-ruby-part-15-identity.html Monads In Ruby Part 1.5: Identity]
  +
  +
==== Java ====
  +
  +
* [http://blogs.msdn.com/ralflammel/archive/2006/12/21/more-haskell-in-java-7-or-8.aspx More Haskell in Java 7 or 8?]
  +
* [http://syntaxfree.wordpress.com/2006/12/23/et-tu-brute/ Type classes in Java]
  +
* [http://www.javac.info/closures-v03.html Closures and bottom for Java]
  +
  +
==== Javascript ====
  +
  +
* [http://satta.org/2007/01/08/foldr-and-foldl-in-javascript/ foldr and foldl in JavaScript]
  +
  +
==== C ====
  +
  +
* [http://jaortega.wordpress.com/2007/01/29/the-functional-c-programmer/ The functional C programmer]
   
 
=== Functional programming ===
 
=== Functional programming ===
Line 30: Line 60:
 
* [http://notes-on-haskell.blogspot.com/2007/02/whats-wrong-with-for-loop.html What's wrong with for loops]
 
* [http://notes-on-haskell.blogspot.com/2007/02/whats-wrong-with-for-loop.html What's wrong with for loops]
 
* [http://notes-on-haskell.blogspot.com/2007/02/whats-wrong-with-for-loop-revisited.html More on what's wrong with for loops]
 
* [http://notes-on-haskell.blogspot.com/2007/02/whats-wrong-with-for-loop-revisited.html More on what's wrong with for loops]
  +
* [http://blogs.nubgames.com/code/?p=4 Liberating Myself from the von Neumann Style]
  +
* [http://josefsblog.blogspot.com/2007/01/programming-productivity-and.html Programming Productivity and Programming Languages]
  +
* [http://www.acooke.org/andrew/writing/folds.html Second order folds]
  +
* [http://channel9.msdn.com/ShowPost.aspx?PostID=261386#261386 Haskell - A valuable language]
  +
* [http://www.pbell.com/index.cfm/2006/11/26/On-Functional-Programming On Functional Programming]
  +
* [http://monad.carnalreason.org/wordpress/?p=19 foldr, foldl]
  +
  +
=== Programming exercises ===
  +
  +
* [http://mult.ifario.us/articles/2006/12/22/secret-santas-in-haskell-iii-collect-reap-repeat Secret Santas in Haskell III: Lather, Rinse, Repeat 1]
 
* [http://www.randomhacks.net/articles/2007/02/22/bayes-rule-and-drug-tests Using Bayesian filtering instead of 'if' in Haskell]
  +
* [http://sigfpe.blogspot.com/2006/12/tying-knots-generically.html Tying Knots Generically]
  +
* [http://vandreev.wordpress.com/2006/12/24/quick-and-dirty-theorem-prover/ A quick and dirty theorem prover in Haskell]
  +
* [http://www.joachim-breitner.de/blog/archives/210-FourFours-in-Haskell.html FourFours in Haskell]
  +
  +
=== Laziness ==
  +
  +
* [http://blog.interlinked.org/tutorials/haskell_laziness.html Haskell laziness]
  +
* [http://mult.ifario.us/articles/2007/01/25/laziness-and-fizzbuzz-in-haskell Laziness and fizzbuzz in Haskell]
   
 
=== IO ===
 
=== IO ===
Line 37: Line 86:
 
* [http://blog.moertel.com/articles/2007/02/22/a-simple-directory-tree-printer-in-haskell A filesystem tree printer]
 
* [http://blog.moertel.com/articles/2007/02/22/a-simple-directory-tree-printer-in-haskell A filesystem tree printer]
 
* [http://cod3po37ry.blogspot.com/2007/02/more-on-haskell-io-and-interact.html Introductory console IO in Haskell]
 
* [http://cod3po37ry.blogspot.com/2007/02/more-on-haskell-io-and-interact.html Introductory console IO in Haskell]
  +
* [http://therning.org/magnus/archives/228 Listing files in Haskell]
   
 
=== Network ===
 
=== Network ===
   
 
* [http://blog.nurd.se/hype/?p=30 An IRC client/server in Haskell]
 
* [http://blog.nurd.se/hype/?p=30 An IRC client/server in Haskell]
  +
* [http://sequence.complete.org/node/258 Simple STM TCP server]
  +
  +
=== Concurrency ===
  +
  +
* [http://radar.oreilly.com/archives/2007/01/threads_conside.html Threads]
  +
  +
=== Performance ===
  +
  +
* [http://www.randomhacks.net/articles/2007/01/22/high-performance-haskell High performance Haskell]
   
 
=== Parsing ===
 
=== Parsing ===
Line 47: Line 106:
 
* [http://www.serpentine.com/blog/2007/01/19/playing-fast-and-loose-with-parsec-for-parsing-in-haskell/ Playing fast and loose with Parsec for parsing in Haskell]
 
* [http://www.serpentine.com/blog/2007/01/19/playing-fast-and-loose-with-parsec-for-parsing-in-haskell/ Playing fast and loose with Parsec for parsing in Haskell]
 
* [http://mikeburrell.wordpress.com/2007/02/25/combinator-parsing/ Combinator parsing]
 
* [http://mikeburrell.wordpress.com/2007/02/25/combinator-parsing/ Combinator parsing]
  +
* [http://www-etud.iro.umontreal.ca/~laurieti/parser.html Interesting parsers in Haskell]
  +
* [http://sequence.complete.org/node/231 Parser with Writer monad]
  +
* [http://a-preponderance-of-pondering.blogspot.com/2006/12/parser-combinators.html Parser combinators]
   
 
=== Monads and arrows ===
 
=== Monads and arrows ===
Line 54: Line 116:
 
* [http://www.sdowney.org/2007/01/monads-rest-and-c-template.html Monads work because they have a tight interface]
 
* [http://www.sdowney.org/2007/01/monads-rest-and-c-template.html Monads work because they have a tight interface]
 
* [http://scienceblogs.com/goodmath/2007/01/the_theory_of_monads_and_the_m_1.php The theory of monads]
 
* [http://scienceblogs.com/goodmath/2007/01/the_theory_of_monads_and_the_m_1.php The theory of monads]
  +
* [http://sigfpe.blogspot.com/2007/01/monads-hidden-behind-every-zipper.html The monad behind every zipper]
 
* [http://neilbartlett.name/blog/?p=13 More on Haskell, Side Effects and Code Reuse]
 
* [http://neilbartlett.name/blog/?p=13 More on Haskell, Side Effects and Code Reuse]
  +
* [http://hierodule.livejournal.com/69052.html Monads]
  +
* [http://scienceblogs.com/goodmath/2007/01/haskell_a_first_step_into_mona_1.php A First Step Into Monads]
  +
* [http://scienceblogs.com/goodmath/2007/01/more_monads_stateful_programmi_1.php More Monads: Stateful Programming]
   
 
==== Monad transformers ====
 
==== Monad transformers ====
   
 
* [http://conway.rutgers.edu/~ccshan/wiki/blog/posts/Monad_transformers.html A twisted history of monad transformers]
 
* [http://conway.rutgers.edu/~ccshan/wiki/blog/posts/Monad_transformers.html A twisted history of monad transformers]
  +
* [http://cale.yi.org/index.php/How_To_Use_Monad_Transformers How To Use Monad Transformers]
   
 
==== Comonads ====
 
==== Comonads ====
   
 
* [http://sigfpe.blogspot.com/2007/02/comonads-and-reading-from-future.html Comonads and reading from the future]
 
* [http://sigfpe.blogspot.com/2007/02/comonads-and-reading-from-future.html Comonads and reading from the future]
  +
* [http://sigfpe.blogspot.com/2006/12/evaluating-cellular-automata-is.html Evaluating cellular automata is co-monadic]
  +
  +
=== Error handling and exceptions ===
  +
  +
* [http://edwinb.wordpress.com/2007/01/15/error-handling-in-haskell/ Error handling in Haskell]
  +
* [http://praisecurseandrecurse.blogspot.com/2006/11/some-very-basic-haskell-and-thoughts-on.html Some Very Basic Haskell and Thoughts on Error Diagnosis]
   
 
=== Types ===
 
=== Types ===
   
 
* [http://www.cs.nott.ac.uk/~pni/Papers/Notes/GADTs.html Generalised Algebraic Data Types, Phantom Types, and Dependent Types]
 
* [http://www.cs.nott.ac.uk/~pni/Papers/Notes/GADTs.html Generalised Algebraic Data Types, Phantom Types, and Dependent Types]
  +
* [http://scienceblogs.com/goodmath/2006/12/functions_types_function_types_1.php Functions, Types, Function Types, and Type Inference]
  +
* [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]
   
 
==== Type classes ====
 
==== Type classes ====
   
 
* [http://www.cs.nott.ac.uk/~pni/Papers/Notes/typeClassOvld.html Type Classes: Not Quite Overloading"]
 
* [http://www.cs.nott.ac.uk/~pni/Papers/Notes/typeClassOvld.html Type Classes: Not Quite Overloading"]
  +
* [http://scienceblogs.com/goodmath/2007/01/haskell_the_basics_of_type_cla_1.php Haskell: the Basics of Type Classes]
   
 
=== Data structures ===
 
=== Data structures ===
Line 111: Line 188:
 
* [http://vandreev.wordpress.com/2007/01/07/arithmetic-coding/ Arithemtic coding in Haskell]
 
* [http://vandreev.wordpress.com/2007/01/07/arithmetic-coding/ Arithemtic coding in Haskell]
 
* [http://japple.blogspot.com/2007/02/countable-ordinals-in-haskell.html Countable Ordinals in Haskell]
 
* [http://japple.blogspot.com/2007/02/countable-ordinals-in-haskell.html Countable Ordinals in Haskell]
  +
* [http://www.quetzal.com/sambangu/2006/12/polynomials-as-numbers Polynomials as numbers]
   
 
=== Regular expressions ===
 
=== Regular expressions ===
   
 
* [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]
  +
  +
=== The foreign function interface ===
  +
  +
* [http://blog.acolyte.co.za/articles/2007/01/01/simple-demonstration-of-haskell-ffi Simple demonstration of Haskell FFI]
   
 
=== Cabal and libraries ===
 
=== Cabal and libraries ===
Line 124: Line 206:
   
 
* [http://iguanarama.com/blog/?p=8 Haskell and HDL's]
 
* [http://iguanarama.com/blog/?p=8 Haskell and HDL's]
 
=== Uncategorised ===
 
 
*[http://www.randomhacks.net/articles/2007/02/22/bayes-rule-and-drug-tests Using Bayesian filtering instead of 'if' in Haskell]
 
   
 
[[Category:Tutorials]]
 
[[Category:Tutorials]]

Revision as of 03:40, 1 March 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

Scala

Ruby

Java

Javascript

C

Functional programming

Programming exercises

= Laziness

IO

Network

Concurrency

Performance

Parsing

Monads and arrows

Monad transformers

Comonads

Error handling and exceptions

Types

Type classes

Data structures

Web

Maths

Regular expressions

The foreign function interface

Cabal and libraries

Hardware description languages