[Haskell-cafe] Re: Tutorial uploaded
Bulat Ziganshin
bulatz at HotPOP.com
Thu Dec 22 17:01:51 EST 2005
Hello Bill,
Wednesday, December 21, 2005, 6:38:33 PM, you wrote:
BW> PS: While looking over my post it occurred to me that the issue is at
BW> least as much methodological as it is linguistic. So I ask: Does
BW> Haskell stand far enough apart from other programming languages to
BW> warrant adapting standard methodological principles to it? Is there an
BW> identifiable "Haskell Way"?
as the man, who learned Haskell just year ago, and written large
enough imperative program in Haskell (you can see it at
http://freearc.narod.ru), i can answer both "yes" and "no". yes, Haskell
really changes the way i program. no, it not diverges from the
standard methodology - it forces to use it! :)
any real program uses global variables, side-effects of functions,
manually controlled sharing of data and so on. imagine programming in
language which just don't support any provision for those tricks
well, Haskell implementations de-facto supports such tricks, but they
are considered as "bad programming style" and can lead to problems
with optimized compilation, so you will aspire to avoid them as much
as possible. you will need to decide beforehand for each function,
whether it will have side effects or will be pure (although you of
course may change your solution, whis will require to edit all
functions which directly or indirectly call it, because function with
side effects cannot be called inside pure function)
you will need to learn programming techniques, which can be used in
reliable way instead of forbidden unreliable ones - such as implicit
parameters and using large structure to pass through the many levels
of calls all data needed for these functions
you will become an expert in organizing cycles via recursion
ay least, you must try :) even if Haskell is not useful as real
programming language, you at least will improve your programming style
;)
--
Best regards,
Bulat mailto:bulatz at HotPOP.com
More information about the Haskell-Cafe
mailing list