[Haskell-cafe] New slogan for haskell.org

Thomas Davie tom.davie at gmail.com
Mon Nov 26 10:29:09 EST 2007

On 26 Nov 2007, at 15:15, Henning Thielemann wrote:

> On Thu, 4 Oct 2007, Don Stewart wrote:
>> The Haskell website has the rather strange motivational text:
>>    Haskell is a general purpose, purely functional programming  
>> language
>>    featuring static typing, higher order functions, polymorphism,  
>> type
>>    classes, and monadic effects. Haskell compilers are freely  
>> available
>>    for almost any computer.
> To continue an old thread: What about turning the strange words like
> 'monadic effects' into links to glossary articles?
> Btw. where is 'lazy' ?

I believe the point of this discussion was that anyone reading the  
Haskell webpage will currently get about as far as "featuring static  
typing", and go "this is all very nice, but what exactly does this  
language do for me?  Why should I use it?".  Take for example what the  
python website says:

Python is a dynamic object-oriented programming language that can be  
used for many kinds of software development. It offers strong support  
for integration with other languages and tools, comes with extensive  
standard libraries, and can be learned in a few days. Many Python  
programmers report substantial productivity gains and feel the  
language encourages the development of higher quality, more  
maintainable code.

People can instantly go "great, lots of kinds of development, it may  
work for me; good integration with other languages, that'll be really  
good for working with my existing codebase; extensive standard  
libraries, excellent, I shouldn't have problems with finding the  
functions I need; can be learned in a few days, excellent, won't need  
to pay much to train the monkeys; high quality maintainable code,  
that's really good, that'll save me a bundle later".

There's no such check list of "good stuff" with the Haskell slogan,  
instead, we've got a list of buzzwords, as bad as company webpages  
preaching that they offer "synergised solutions", but not actually  
telling anyone what they do.

Sorry this has turned into a bit of a rant.  I guess I should add  
something constructive.  I think the key points that we should mention  
about Haskell are:
• It's functional
• It can be used for a lot of problems, most prominently compiler  
building and highly mathematical problems
• There are freely available compilers that produce well optimised  
code competative with modern imperative lanugages (debian language  
shootout backs us up -- we use less memory and less CPU than C#  
amongst others)
• Higher orderness allows for removing large amounts of boiler plate  
code, significantly simplifying programs
• Static type checking gives us stronger guarentees about our  
program's behavior than most languages, while still providing a lot of  

Perhaps something like this:

Haskell is a functional programming language.  It can be used for lots  
of kinds of development, and is particularly strong for writing  
parsers and mathematical algorithms.  Freely available Haskell  
compilers can produce highly optimised code that is competative with  
modern imperative languages.  Several language features like Higher  
order functions and static type checking help to encourage and enforce  
good programming techniques, and weed out common bugs.

There's my 2¢

Tom Davie

More information about the Haskell-Cafe mailing list