[Haskell-cafe] Elevator pitch for Haskell.

Neil Mitchell ndmitchell at gmail.com
Sat Sep 8 12:44:47 EDT 2007


Hi

> * Create sophisticated GUIs.

Gtk2hs. Could do with a nice wrapper on that, but Conal is doing some
interesting stuff, and I've got PropLang on the back burner. People
are thinking the right thoughts, it just needs time.

> * Read and write standard binary file formats. (Images, compressed
> files, etc.)

Data.Binary is the low level frameworks, now people can pick up the rest.

> * Talk to a database.

Databases are dead, long live flat files :-) It's possible, but I
don't have a clue how.

> * Use various network protocols (possibly custom, possibly standardised).

The great thing about Data.Binary is that its for binary stuff,
whether it be networks or files.

> * Access the Windoze registry and play with COM stuff.

H/Direct, System.Win32. My only question is why you want to build
non-portable software when Haskell is so beautifully portable.

> * Get system-specific file information (protection bits, modification
> times, security information, etc.)

THe Unix stuff does all this, and the win32 stuff does it on Windows.

> * Query the OS. (How many CPUs? How much RAM? What is my IP address?)

Easy enough, if anyone took the time to FFI to a library.

> I don't know how to do any of that in Haskell. Some of it can be done,
> just not very easily. Other items are, AFAIK, impossible.

All of it can be done. The problem is that it hasn't been done, since
Haskell libraries tend to be written lazily, usually after the need is
present.

> And then there's just random stuff like the Prelude numeric classes
> being "broken", the fact that the array API is virtually skeletal
> compared to what you can do with lists, the lack of a clean,
> standardised character encoding system [that handles more than 2
> encodings], etc.

All these things are minor. The Prelude numeric classes aren't
"broken" - they don't quite match what a mathematician might have
picked, but its certainly easy enough to do numeric operations! The
array API is a bit poor, but should never be used - lists are more
functional.

> I'd like to think that Haskell will soon be "ready" for prime-time. But
> let's face it, the language is 20 years old already...

Most of your problems are lack of libraries. We've had Cabal in
mainstream for maybe a year, hackage is even newer. People know where
the problems are, and they are being fixed. Haskell as a "language" is
pretty much done, people just like tweaking the corners.

Thanks

Neil


More information about the Haskell-Cafe mailing list