[Haskell-cafe] Research language vs. professional language

Manuel M T Chakravarty chak at cse.unsw.edu.au
Tue Sep 2 03:10:28 EDT 2008

Ryan Ingram:
> On Sun, Aug 31, 2008 at 7:27 PM, Jonathan Cast
> <jonathanccast at fastmail.fm> wrote:
>> This concept of `day-to-day work' is a curious one.  Haskell is not a
>> mature language, and probably shouldn't ever be one.
> I see where you are coming from here, but I think that train has
> already started and can't be stopped.  I find Haskell interesting as a
> professional programmer for these four reasons: it's pure, it's
> functional, it's lazy, and it's got a great compiler.
>> There will always be new discoveries in purely functional  
>> programming,
>> and as the art advances, features like this ad-hoc overloading hack
>> (and ACIO) will become obsolete and have to be thrown over-board.
> This is a good point.  However, it seems to me that the pure
> programming language research is moving towards dependently typed
> languages, and that progress in Haskell has been more
> application-side; transactional memory and data-parallel, along with
> research on various fusion techniques, for example.

Let me quote from the Preface of the Haskell report:

> It was decided that a committee should be formed to design such a  
> language, providing faster communication of new ideas, a stable  
> foundation for real applications development, and a vehicle through  
> which others would be encouraged to use functional languages.


> It should be suitable for teaching, research, and applications,  
> including building large systems.

 From the outset, the Haskell vision included being a "stable  
foundation for real applications development" (I read this as aiming  
at industrial use) and "research".  This leads to tension, but, for  
better or worse, I believe that the Haskell community -in its current  
form- is pretty much committed to meet both goals.  You can see it in  
GHC.  It implements the static Haskell 98 and at the same time many  
experimental, researchy features (which you use at your own risk).   
More generally, I think that this is one of the killer features of  
functional languages, they provide a fast path from innovative, even  
highly theoretical research to practical applications.

This may not work forever -maybe all interesting research that can be  
done in Haskell without radical changes will have been done at some  
point- but for the moment, I think we are in pretty good shape.


More information about the Haskell-Cafe mailing list