
catamorphism:
On 10/4/07, Don Stewart
wrote: It was raised at CUFP today that while Python has:
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.
With the links from the start about using Python for various purposes, along with reassuring text about licenses and so on.
Note its all about how it can help you.
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.
Which doesn't say why these help you.
Any suggestions on a 2 or 3 sentence spiel about what's available?
Here's some quick points:
General purpose: applications from OS kernels to compilers to web dev to ... Strong integration with other languages: FFI, and FFI binding tools Many developer tools: debugger, profiler, code coverage, QuickCheck Extensive libraries: central library repository, central repo hosting Productivity, robustness, maintainability: purity, type system, etc Parallelism!
Can't we embrace the power of 'and'? It's wonderful that Haskell is seeing more practical use, but we shouldn't forget the foundations, either. Maybe we should put your second description first, and *then* have a paragraph saying, "and, for those who know what these are, polymorphism, monadic effects, etc."? Only describing Haskell in terms of software engineeering doesn't seem right to me.
Yes, I think that's the best step. Combine both why you'd use it, with what unique features enable this. -- Don