R
Robert Wilkins
I'm a programming language designer ( data languages comparable to SQL
and SAS if you want to know ). I'm currently making a decision between
Haskell and Python to implement a compiler where both the source and
target are fairly high level ( think of subordinating SAS data steps
and regression/chisq/etc procs(SAS or S) to the role of assembler and
you get the basic idea ).
So here's the problem: Haskell is supposed to be really good at
compilers , maybe the best, or so I hear: parsing and all the symbolic
transformation that goes after the parse. But it has a really tough
and long learning curve , and methods of thinking that carry over well
( from say , C++ and C++/STL, to Python and lists and dictionaries) do
not translate so easily to Haskell.
By far the most high-profile breakthrough of Haskell in compilers/
interpreters was PUGS, the first compiler for Perl 6. I can't think of
any other well known breakthroughs in that direction. PUGS was a huge
and unique marketing breakthrough for Haskell.
So now PUGS is dead, from what I see on Wikipedia. The developer has
walked away. The Perl 6 community has decided not to get a
replacement, and PUGS has and will have no customer base. Perl 6 has
decided to focus on a non-Haskell implementation. PUGS undoubtedly has
a lot of cool features, components and code. But the PUGS software
product is effectively dead, no maintainer + no customer base = death.
While monads are really cool code transformation stuff, they are also
incredibly tough to grasp, and I am rethinking my preference to
Haskell. And as I've seen over the years, Python is so bloody easy,
especially for someone with a C++ background.
Before I decide, can anyone tell me why Pugs died? The reason for it's
demise would be useful to know whether Haskell is a good choice for
writing compilers. It's clear that it's symbolic transformation and
code transformation stuff is amazing, but it's tough to get.
thanks
Robert
and SAS if you want to know ). I'm currently making a decision between
Haskell and Python to implement a compiler where both the source and
target are fairly high level ( think of subordinating SAS data steps
and regression/chisq/etc procs(SAS or S) to the role of assembler and
you get the basic idea ).
So here's the problem: Haskell is supposed to be really good at
compilers , maybe the best, or so I hear: parsing and all the symbolic
transformation that goes after the parse. But it has a really tough
and long learning curve , and methods of thinking that carry over well
( from say , C++ and C++/STL, to Python and lists and dictionaries) do
not translate so easily to Haskell.
By far the most high-profile breakthrough of Haskell in compilers/
interpreters was PUGS, the first compiler for Perl 6. I can't think of
any other well known breakthroughs in that direction. PUGS was a huge
and unique marketing breakthrough for Haskell.
So now PUGS is dead, from what I see on Wikipedia. The developer has
walked away. The Perl 6 community has decided not to get a
replacement, and PUGS has and will have no customer base. Perl 6 has
decided to focus on a non-Haskell implementation. PUGS undoubtedly has
a lot of cool features, components and code. But the PUGS software
product is effectively dead, no maintainer + no customer base = death.
While monads are really cool code transformation stuff, they are also
incredibly tough to grasp, and I am rethinking my preference to
Haskell. And as I've seen over the years, Python is so bloody easy,
especially for someone with a C++ background.
Before I decide, can anyone tell me why Pugs died? The reason for it's
demise would be useful to know whether Haskell is a good choice for
writing compilers. It's clear that it's symbolic transformation and
code transformation stuff is amazing, but it's tough to get.
thanks
Robert