Difference between revisions of "User:Lenny222/Haskell explained to the busy"

From HaskellWiki
Jump to navigation Jump to search
Line 33: Line 33:
 
|-
 
|-
 
|What is the meaning of the '''dollar''' sign "'''$'''"?
 
|What is the meaning of the '''dollar''' sign "'''$'''"?
|"$" is a way to avoid typing too many brackets.
+
|"$" is a way to compose functions, but avoid typing too many brackets.
 
For example:
 
For example:
 
<haskell>foo x = h (g (f x))</haskell>
 
<haskell>foo x = h (g (f x))</haskell>
 
is the same as
 
is the same as
 
<haskell>foo x = h $ g $ f x</haskell>
 
<haskell>foo x = h $ g $ f x</haskell>
 
|-
 
|What is the meaning of the '''dot''' "'''.'''"?
 
|"." is used to compose functions in point-free style, similar to "$".
 
For example:
 
<haskell>foo x = h $ g $ f x</haskell>
 
is the same as
 
<haskell>foo = h . g . f</haskell>
 
|-
 
|-
 
|What is '''point-free style'''?
 
|What is '''point-free style'''?
Line 46: Line 53:
 
<haskell>takeFive = take 5</haskell>
 
<haskell>takeFive = take 5</haskell>
 
in point-free style.
 
in point-free style.
|-
 
|What is the meaning of the '''dot''' "'''.'''"?
 
|"." is used to compose functions in point-free style, similar to "$".
 
For example:
 
<haskell>foo x = h $ g $ f x</haskell>
 
is the same as
 
<haskell>foo = h . g . f</haskell>
 
 
|-
 
|-
 
|What is the meaning of "'''data'''"?
 
|What is the meaning of "'''data'''"?

Revision as of 15:09, 29 September 2009

You have heard about Haskell but don't have the time to find out what it is?

I hope this page is for you.

Introduction

Question Answer
What is Haskell? Haskell is a purely functional, lazy, statically typed programming language
What is a purely functional programming language? TODO
What is a lazy programming language? TODO
What is a statically typed programming language? TODO
Why the name "Haskell"? Haskell is named after the American mathematician Haskell Curry

Basics

Question Answer
What is the meaning of the dollar sign "$"? "$" is a way to compose functions, but avoid typing too many brackets.

For example:

foo x = h (g (f x))

is the same as

foo x = h $ g $ f x
What is the meaning of the dot "."? "." is used to compose functions in point-free style, similar to "$".

For example:

foo x = h $ g $ f x

is the same as

foo = h . g . f
What is point-free style? Point-free style is a way to define functions solely as a composition of other functions, leaving arguments in the definition out.

For example:

takeFive x = take 5 x

is the same as

takeFive = take 5

in point-free style.

What is the meaning of "data"? TODO
What is the meaning of "newtype"? TODO
What is the meaning of "type"? TODO

Advanced

Question Answer
What is a Monad? TODO
What is the meaning of "forall"? TODO