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

From HaskellWiki
Jump to navigation Jump to search
 
(108 intermediate revisions by the same user not shown)
Line 1: Line 1:
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 ==
 
{| class="wikitable"
 
|-
 
 
! 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 good about a purely functional programming language?
 
| TODO
 
|-
 
|What is a '''lazy''' programming language?
 
| TODO
 
|-
 
|What is good about a lazy programming language?
 
| TODO
 
|-
 
|What is a '''statically typed''' programming language?
 
| TODO
 
|-
 
|What is good about a statically typed programming language?
 
| TODO
 
|-
 
|Is Haskell '''Open Source'''?
 
| TODO
 
|-
 
|Why the name '''"Haskell"'''?
 
| Haskell is named after the American mathematician [http://en.wikipedia.org/wiki/Haskell_Curry Haskell Curry]
 
|}
 
 
== Basics ==
 
{| class="wikitable"
 
|-
 
! Question
 
! Answer
 
|-
 
|What is the meaning of the '''dollar''' sign "'''$'''"?
 
|"$" is a way to compose functions, but avoid typing too many brackets.
 
For example:
 
<haskell>foo x = h (g (f x))</haskell>
 
is the same as
 
<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'''?
 
|Point-free style is a way to define functions solely as a composition of other functions, leaving arguments in the definition out.
 
For example:
 
<haskell>takeFive x = take 5 x</haskell>
 
is the same as
 
<haskell>takeFive = take 5</haskell>
 
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
 
|-
 
|What is '''currying'''?
 
| TODO
 
|}
 
 
== Advanced ==
 
 
{| class="wikitable"
 
|-
 
! Question
 
! Answer
 
|-
 
|What is a '''Monad'''?
 
|TODO
 
|-
 
|What is the meaning of "'''forall'''"?
 
|TODO
 
|}
 

Latest revision as of 15:52, 19 February 2010