Implementing Haskell in Perl

The birth of a new small project: Implementing Haskell in Perl.
I started a new project: Implementing Haskell in Perl. For those of you not familiar with Haskell, look at some of the tutorials available at www.haskell.org (especially something about Monads).

Why

Why make another Haskell implementation? There are already good ones out there (Hugs, GHC) and a new implementation will not get close to them in any respect. So why bother? For one, I never implemented a programming language before and since I have the ambition to write my own language sometime, this seems a nice project to try implementing a language. There a several reason for choosing Perl for the implementation. One, I am familiar with Perl (not really a good criteria for choosing a language, but still useful). Two, you can manipulate everything at run-time allowing integration between Haskell and Perl. Three, there are a lot of good libraries for Perl. Four, I have a lot of Perl code for which it might be nice (i.e. unreadable) to mix it with some Haskell.

Things to do

There is the Haskell 98 Report which needs to be implemented:
  • Lexer. Implement the lexer according to Chapter 2
  • Expression parser. Convert expressions to some kind of function tree Chapter 3
  • Declaration and bindings. Chapter 4
  • Modules. Chapter 5
  • Predefined stuff.
  • Function evaluator.
Since this is my first attempt at implementing a programming language, the idea is to just start and see how things go, get the main thing working and only later worry about the detail.