[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
> 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
>> 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