Penguin

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

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

Newer page: version 10 Last edited on Tuesday, December 28, 2004 1:32:52 am by AristotlePagaltzis Revert
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 = (putStrLn . show . 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