Were the modules the main elements you decided not to tackle, or were there other elements you also avoided?
Another more minor thing was records. Haskell has a very simple record system, and there are lots of more complicated record systems about. It’s a rather complicated design space. Record systems are a place where there’s a lot of variation and it’s hard to know which is best. So again, we chose something simple.
People sometimes complain and say ‘I want to do this obviously sensible thing, and Haskell doesn’t let me do it.’ And we have to say, well, that was a place we chose not to invest effort in. It’s usually not fundamental however, in that you can get around it in some other way. So I’m not unhappy with that. It was the economic choice that we made.
So you still support these decisions now?
Yes. I think the record limitation would probably be the easiest thing to overcome now, but at this stage Haskell is so widely used that it would likely be rather difficult to add a complete record system. And there still isn’t an obvious winner! Even if you asked ‘today, what should records in Haskell look like?’, there still isn’t an obvious answer.
Do you think that new modules and record formats will ever be added on to the language?
You could certainly add an ML style module system to Haskell, and there have been a couple of papers about that in the research literature. It would make the whole language significantly more complicated, but you’d get some significant benefits from it. I think at the moment, depending on who you speak to, for some people it would be the most pressing issue with Haskell, whereas for others, it wouldn’t.
At the moment I don’t know anyone who’s actively working on a revision of Haskell with a full scale module implementation system.
Do you think that this is likely to happen?
I doubt it will be done by fitting it [new modules and record formats] on to Haskell. It might be done by a successor language to both ML and Haskell, however.
I believe that a substantial new thing like modules is unlikely. Because Haskell’s already quite complicated right now, adding a new complicated thing to an already complicated language is going to be hard work! And then people will say, ‘oh, so you implemented a module system on Haskell. Very well, what’s next?’ In terms of academic brownie points, you don’t get many unfortunately.
Read up on the latest ideas and technologies from companies that sell hardware, software and services. Reducing the risk of insider abuse
Providing Business Continuity and Disaster Recovery for Microsoft Cluster Server and Windows Server 08 Failover Clustering Apps
Best Practices in Lifecycle Management
Wireless LANs: Is My Enterprise At Risk?
Data Centre Assessments: The First Step to Optimisation
Look before you leap | Key considerations for moving to 802.11n
State of Internet Security
Top 10 Ways to Increase IT ROI Without Adding Staff
Zones provide focussed content from Computerworld and leading technology partners.

















Comments
Scala
I'd like to here an interview about new and fast emerging Scala language. It takes a niche in Java world similar to F# in Microsoft world.
http://www.scala-lang.org/
to the editor
Hi there,
how about an iterview on Standard ML?
Post new comment