[Haskell-cafe] Haskell for non-mathematicians (was: Specify array or list size?)

Bulat Ziganshin bulatz at HotPOP.com
Tue May 10 06:19:06 EDT 2005


Hello Graham,

Monday, May 09, 2005, 2:45:06 PM, you wrote:

GK> When I read the above, I found myself thinking of two styles of Haskell
GK> programming:  on one hand there are some, many on these mailing lists, but 
GK> I pick Oleg as an exemplar, who continue to baffle me with the amazing 
GK> tricks they can do with (say) the Haskell type system.  And there are 
GK> "ordinary programmers" (like myself) who want to use Haskell's small core 
GK> and (not-so-small) type system to find more elegant ways to write 
GK> application software (e.g. http://www.cs.kent.ac.uk/projects/vital/ - if IO 
GK> were added).  I find that higher order functions and currying provide 
GK> powerful tools to isolate different aspects of a program's functionality, 
GK> but I'm not sure I'd want to explain them to a complete novice programmer.

imho, this theoretical foundations of Haskell power just don't need to
be explained explicitly. Haskell function just can be applied to
part of its argumnets and we use this very often. small and easy to
understand example are "add2 = map (+2)" which at the same time use
parially-applied function and return such function. it's a problem of
other languages advocates to explain how partial application can be
emulated in their ugly languages :)

and about selecting first language to teach programming. if one needs
to learn concept of controlling computer with help of programmng
language, it's better imho to use dynamic language with minimum
declarations, such as Ruby (or even Logo :) I think that runtime error
messages given in terms of VALUES instead of compile-time error
messages given in terms of TYPES are easier to understand for novice.
also, strict regulations on datatypes are needed for professional
program development, but will be just needless complication for
learning concept of programming itself. even for mathematician Ruby
will be a good choice

on the other side, to learn DISCIPLINE of programming, Haskell with
all its strictness will be a very good instrument

in the old times the same way Pascal was used to teaching future
programmers and Basic for all others



-- 
Best regards,
 Bulat                            mailto:bulatz at HotPOP.com





More information about the Haskell-Cafe mailing list