Diff: Haskell

Differences between current version and predecessor to the previous major change of Haskell.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

 Newer page: version 11 Last edited on Sunday, December 13, 2009 10:49:35 pm by FirstnameLastname Older page: version 7 Last edited on Saturday, September 13, 2003 1:08:00 pm by GerwinVanDeSteeg Revert
@@ -1,33 +1,29 @@
-Haskell is another one of those functional programming languages. To quote [ http://www.haskell.org], "In particular, it is a polymorphicly typed, lazy, purely functional language"
+[ Haskell | http://www.haskell.org] is a pure functional ProgrammingLanguage that employs LazyEvaluation and supports generic or PolymorphicTypes

-Everything is a function in Haskell. Everything . If you are used to languages like [C ] or [Java], Haskell can be quite hard to learn. %%%
-''Although it will be an eye-opener, problems that seemed terribly difficult in C will suddenly become easy to solve -- GlynWebster''%%%
-''On the flipside, things that are easy in C (eg: I/O) suddenly become very hard to solve in Haskell :) -- PerryLorier''
+It has some cool concepts, like the dot operator . If you remember your calculus, it used the . for functional composition — and so does [Haskell ]! This allows you to do something similar to the pipe operator used in [Shell] scripting.

-It does have some quite cool concepts though. One in particular is the dot . operator. If you remember your calculus, you use the . for functional composition: so does Haskell ! This allows you to do something similar to the pipe operator used in shell scripting.
+!!! Example

-It also does stuff like LazyEvaluation, supports generic or PolymorphicTypes, and is 'purely functional' -- this means you can even do mathematical proof on your programs.
+<verbatim>
+ -- sieve: prints the number of prime numbers between 2 and 100000

-See [http ://www.haskell.org ] for more info.
+sieve :: [Int] -> [Int]
+sieve [] = []
+sieve (h :t) = h : sieve [x| x <- t, x `mod` h /=

-!!!Example
+main = (print . length . sieve) [2..100000]
+</verbatim>

- -- sieve: prints the number of prime numbers between 2 and 100000
+!!! Implementations

- sieve :: [[Int] -> [[Int ]
- sieve [ [] = [ []
- sieve (h:t ) = h : sieve [[x| x <- t, x `mod` h /= ]
+[HUGS | http ://haskell.org/hugs] ::
+ __H__askell __U__sers' __G__ofer __S__ystem.
+ An interpreter that's good for playing around learning [Haskell ].
+ (“Gofer” was a subset of [Haskell ], but HUGS now implements full [Haskell ].

- main = (putStrLn . show . length . sieve) [[2..100000]
-
-!!!Implementations
-
-__HUGS__ - __H__askell __U__sers' __G__ofer[1] __S__ystem. An interpreter for Haskell. This is good for playing around learning Haskell (which is what you do with Haskell, unless you're serious computer scientist). See: http://haskell.org/hugs
-
-__GHC__ - __G__lasglow __H__askell __C__ompiler. A big, optimising compiler for Haskell. See: http://www.haskell.org/ghc/
+[GHC | http://www. haskell.org/ghc/]::
+ __G__lasglow __H__askell __C__ompiler.
+ A big, optimising compiler for Haskell.

----
-[1] Gofer was a subset of Haskell, HUGS now implements full Haskell.
-
------
- CategoryProgrammingLanguages
+Part of CategoryProgrammingLanguages, CategoryFunctionalProgrammingLanguages