
On Dec 11, 2007, at 22:47 , Steve Lihn wrote:
1. can be used for many kinds of software development. (some may argue yes, but different kinds from what python is good for.)
This question is somewhat tied to (3), but really the answer is "it can be, but you may have to think differently about the problem to formulate a good program". (See below.)
* Domain Specific Language (who needs it? other than academics and Wall Streeter?)
DSELs can be thought of as a programming methodology; as such, it has wide applicability, but most programmers don't think that way. Tcl was originally positioned as a "DSEL enabler" (write composable functions in C, tie them together in Tcl), but most programmers "don't get it" and so don't tend to use it as such. More recently, Lua seems to be using a similar philosophy with a little more success --- but mainly by limiting it to something which most programmers can deal with. Also compare how Perl and Python monoliths have replaced the original Unix philosophy in which the shell is a DSEL enabler (composing single-function programs like "cat" and "sort"). When it comes down to it, Haskell's strengths are only realizeable if you approach programming problems in a different way from most common languages. It's a fairly big leap, and arguably Haskell won't compete well in the mainstream until more programmers have made that leap. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH