Difference between revisions of "Blog articles"

From HaskellWiki
Jump to navigation Jump to search
(more articles)
(use internal links instead of external links)
 
(170 intermediate revisions by 15 users not shown)
Line 1: Line 1:
  +
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. Due to the
  +
vast amount of material, this page is divided into sub-categories:
   
  +
New material is posted to the [http://www.reddit.com/r/haskell/ Haskell Reddit] and [http://www.dohaskell.com/ dohaskell]
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.
 
   
  +
== Introductory material ==
=== Introductions to Haskell ===
 
   
  +
* [[/Introductions|Introductions to Haskell]]
* [http://programming.reddit.com/goto?id=uzuc On Haskell, Intuition And Expressive Power]
 
  +
* [[/Comparisons|Comparing Haskell to other languages]]
* [http://programming.reddit.com/goto?id=15bx1 Haskell: Raising the bar]
 
  +
* [[/Functional_programming|Functional programming in general]]
* [http://printf.wordpress.com/2007/02/27/haskell-functional-programming-language/ Learning the Haskell programming language]
 
  +
* [[/Exercises|Small programming exercises]]
* [http://osfameron.vox.com/library/post/on-learning-haskell.html On learning Haskell]
 
* [http://onthebalcony.wordpress.com/2007/02/19/my-evolution-as-a-haskell-programmer/ My evolution as a Haskell programmer]
 
* [http://qftblog.wordpress.com/2007/02/14/why-its-so-hard-for-imperative-programmers-to-learn-funtional-languages/ Why its hard for imperative programmers to learn Haskell]
 
* [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://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 ===
+
== Specific topics ==
   
  +
* [[/Algorithms|Algorithms and techniques]]
* [http://blogs.nubgames.com/code/?p=15 Haskell First Impressions]
 
  +
* [[/Data|Data and control structures]]
* [http://blogs.nubgames.com/code/?p=17 One month in Haskell]
 
  +
* [[/Databases|Databases in Haskell]]
* [http://kevin.scaldeferri.com/blog/2007/02/12/OneWeek.html Thoughts on one week in Haskell]
 
  +
* [[/Errors|Error handling and exceptions]]
* [http://blogs.nubgames.com/code/?p=16 Comparing Gzip Code Reduction]
 
  +
* [[/GUIs|GUIs in Haskell]]
* [http://www.stonecode.org/blog/?p=101 Haskell, first impressions (with sexy results)]
 
  +
* [[/Graphics|Graphics]]
  +
* [[/Web|HTML and XML and the Web]]
  +
* [[/Hardware|Hardware and robots]]
  +
* [[/Language|Haskell language features]]
  +
* [[/Performance|High performance Haskell]]
  +
* [[/IO|IO in Haskell]]
  +
* [[/FFI|The FFI: interfaces to other languages]]
  +
* [[/Libraries|Libraries and packages]]
  +
* [[/Mathematics|Mathematics and Haskell]]
  +
* [[/Monads|Monads, Comonads, Arrows]]
  +
* [[/Network|Networking]]
  +
* [[/Parallel|Parallel and concurrent programming]]
  +
* [[/Parsing|Parsing, regular expressions]]
  +
* [[/EDSLs|Domain specific languages and code generation]]
  +
* [[/Types|Programming with types]]
  +
* [[/Testing|Testing, correctness and proofs]]
   
  +
== Further reading ==
=== Comparisons to other languages ===
 
   
  +
Further material on these topics is available in [http://en.wikibooks.org/wiki/Haskell The Haskell Wikibook]
==== Ruby ====
 
   
  +
For libraries divided into similar topics, see:
* [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://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]
 
   
  +
* [http://hackage.haskell.org/packages/archive/pkg-list.html the Hackage database]
==== Java ====
 
  +
* [[Applications and libraries]]
   
  +
For in-depth research into these topics:
* [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]
 
 
==== Scala ====
 
 
* [http://blog.tmorris.net/ignorance-is-mostly-bliss-but-not-always/ Haskell, CAL and Scala]
 
 
==== Python ====
 
 
* [http://wiki.python.org/moin/PythonVsHaskell Haskell versus Python]
 
 
==== Scheme ====
 
 
* [http://programming.reddit.com/goto?id=nq1k Haskell versus Scheme]
 
 
==== Lisp ====
 
 
* [http://www.defmacro.org/ramblings/lisp-in-haskell.html Writing lisp in Haskell]
 
 
=== Functional programming ===
 
 
* [http://mikeburrell.wordpress.com/2007/02/01/functional-idempotence-optimization/ Folds and functional programming]
 
* [http://www.yomi.at/archive/2007/02/115 A fold-like procedure in C]
 
* [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://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 ===
 
 
* [http://blogs.nubgames.com/code/?p=22 Haskell I/O for imperative programmers]
 
* [http://programming.reddit.com/goto?id=jgbf Simple Unix Tools in Elegant Haskell]
 
* [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://therning.org/magnus/archives/228 Listing files in Haskell]
 
 
=== Network ===
 
 
* [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 ===
 
 
* [http://www.serpentine.com/blog/2007/01/31/parsing-a-simple-config-file-in-haskell/ Config file parsing]
 
* [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://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 ===
 
 
* [http://www.serpentine.com/blog/2007/01/09/haskell-bootstrapping-into-a-clue-about-monads/ Haskell: bootstrapping into a clue about monads]
 
* [http://sigfpe.blogspot.com/2007/02/monads-for-vector-spaces-probability.html Monads for vector spaces, probability and quantum mechanics pt. I]
 
* [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://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://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 ====
 
 
* [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 ====
 
 
* [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 ===
 
 
* [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 ====
 
 
* [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 ===
 
 
* [http://www.randomhacks.net/articles/2007/02/08/haskell-queues-without-pointers Queues without pointers]
 
 
=== Web ===
 
 
* [http://programming.reddit.com/goto?id=139vk Haskell and Web Applications]
 
* [http://programming.reddit.com/goto?id=12a6a Ruby and Haskell: write your Rails backend code in Haskell instead of C]
 
* Writing a Simple Search Engine in Haskell
 
** [http://blogs.nubgames.com/code/?p=18 Part 0 Introduction]
 
** [http://blogs.nubgames.com/code/?p=19 Part 1 Maybe and List]
 
 
=== Maths ===
 
 
* [http://sigfpe.blogspot.com/2006/09/learn-maths-with-haskell.html Learn Maths with 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/yoneda-lemma.html Reverse Engineering Machines with the Yoneda Lemma]
 
* [http://sigfpe.blogspot.com/2006/11/variable-substitution-gives.html Variable substitution gives a...]
 
* [http://sigfpe.blogspot.com/2006/11/from-l-theorem-to-spreadsheet.html From Lb's Theorem to Spreadsheet Evaluation]
 
* [http://sigfpe.blogspot.com/2006/10/games-strategies-and-self-composition.html Games, Strategies and the Self-Composition of the List Monad.]
 
* [http://sigfpe.blogspot.com/2006/09/practical-synthetic-differential.html Practical Synthetic Differential Geometry]
 
* [http://sigfpe.blogspot.com/2006/09/more-low-cost-geometric-algebra.html More Low Cost Geometric Algebra]
 
* [http://sigfpe.blogspot.com/2006/08/algebraic-topology-in-haskell.html Algebraic Topology in Haskell]
 
* [http://sigfpe.blogspot.com/2006/09/infinitesimal-types.html Infinitesimal Types]
 
* [http://sigfpe.blogspot.com/2006/08/geometric-algebra-for-free_30.html Geometric Algebra for Free!]
 
* [http://sigfpe.blogspot.com/2006/01/eleven-reasons-to-use-haskell-as.html Eleven Reasons to use Haskell as a Mathematician]
 
* [http://sigfpe.blogspot.com/2006/06/laws-of-form-opinion.html Laws of Form: An Opinion]
 
* [http://blog.mikael.johanssons.org/archive/2006/11/a-algebras-and-group-cohomology/ A-algebras and group cohomology]
 
* [http://blog.mikael.johanssons.org/archive/2006/10/prototyping-thought/ Prototyping thought]
 
* [http://blog.mikael.johanssons.org/archive/2006/10/computational-group-theory-in-haskell-1-in-a-series/ Computational Group Theory in Haskell]
 
* [http://blog.mikael.johanssons.org/archive/2006/07/carry-bits-and-group-cohomology/ Carry bits and group cohomology]
 
* [http://scienceblogs.com/goodmath/2006/11/why_haskell.php Why Haskell?]
 
* [http://scienceblogs.com/goodmath/2006/09/programs_are_proofs_models_and_1.php Programs are Proofs: Models and Types in Lambda Calculus]
 
* [http://www.quetzal.com/sambangu/2006/12/polynomials-as-numbers Polynomials as numbers]
 
* [http://vandreev.wordpress.com/2006/12/04/non-standard-analysis-and-automatic-differentiation/ Non-standard analysis, automatic differentiation, Haskell]
 
* [http://www.polyomino.f2s.com/ Haskell for Maths]: commutative algebra, combinatorics, number theory, and group theory
 
* [http://www.serpentine.com/blog/2007/01/11/two-dimensional-spatial-hashing-with-space-filling-curves/ Two-dimensional spatial hashing with space-filling curves]
 
* [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://www.quetzal.com/sambangu/2006/12/polynomials-as-numbers Polynomials as numbers]
 
 
=== Regular expressions ===
 
 
* [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 ===
 
 
* [http://www.serpentine.com/blog/2007/02/20/haskell-cabal-now-with-extra-crunchy-rpm-goodness/ Cabal and rpms]
 
* [http://www.serpentine.com/blog/2007/01/05/getting-started-with-installing-third-party-haskell-packages/ Getting started with installing third-party Haskell packages]
 
 
=== Hardware description languages ===
 
 
* [http://iguanarama.com/blog/?p=8 Haskell and HDL's]
 
   
  +
* [[Research papers]]
  +
 
[[Category:Tutorials]]
 
[[Category:Tutorials]]

Latest revision as of 11:34, 27 February 2019