Phiroc, Hi Welcome to the mailing list.
Problem with partially functional languages in my opinion is if you can do things the way that your most use i.e. imperative programming you will do it Perl, Python, Lisp, Scheme and etc have features that support functional programming but I would wager that you will find more imperative code written in those languages then you would functional code. People tend to do things in the way there most accustom too and most developers are educated in and work in imperative languages so if you really want to do FP then your better to stick to a language that doesn't support other more familiar paradigms otherwise you will find yourself falling back on more comfortable and familiar ways of doing things. Side effects include I/O, mutable assignment (destructively writing to memory), generating random numbers etc. Haskell of course has to allow these things otherwise it could not produce useful programs it just does a lot better job of isolating these side effects from Code that does not have these side effects which have many benefits first most being the ability to compose/glue code together in all sorts of neat ways and not having to worry about unintentional side effects. Advantage of Haskell over most other languages would be the core language itself and its ability to glue software components together in a safe way. This advantage doesn't come without some pain and learning curve though. Haskell is also a great language to learn new ideas and ways of thinking about building software this is my interest in this language at this time. Haskell is a good place to start if you are looking to write something from scratch Unfortunately this is not my case. Disadvantages of Haskell are unfortunately greater then its advantages as beautiful a programming language as Haskell is it lacks Libraries ( A great glue language without many components to glue together is a sad irony) and Tooling Haskell is not a language to get stuff done quickly in. I will probably use Monads in a real world project in VB.NET 9 before Haskell. I am not a Perl fan but CPAN is very cool when I have had to do something in Perl I could find what I need there and it was well documented too. Haskell to me is the promise of a dream yet unrealized in which you easily glue together components together and it just works maybe one day these components will actually get written. Troy -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: Thursday, April 26, 2007 12:48 PM To: haskell@haskell.org Subject: [Haskell] Newbie: what are the advantages of Haskell? Hello, what are the advantages of haskell over semi-functional programming languages such as Perl, Common Lisp, etc.? What are the mysterious "side effects" which are avoided by using Haskell, which everyone talks about? Null pointers? Don't you ever get null pointers in Haskell, including when doing IO? Aren't Haskell's advantages outweighed by its complexity (Monads, etc.) and rigidity? Last but not least, I would like to learn from those among you who are former PERL developers, why you switched to Haskell. Many thanks. phiroc _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell