Personal tools

Cookbook

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
[[Category:How to]]
[[Category:How to]]
 +
* [[Cookbook/General hints|General hints]]
* [[Cookbook/Strings|Strings]]
* [[Cookbook/Strings|Strings]]
* [[Cookbook/Numbers|Numbers]]
* [[Cookbook/Numbers|Numbers]]
Line 23: Line 24:
This page is based on the Scheme Cookbook at
This page is based on the Scheme Cookbook at
http://schemecookbook.org/Cookbook/WebHome'''
http://schemecookbook.org/Cookbook/WebHome'''
-
== Prelude ==
 
-
 
-
A lot of functions are defined in the "[http://www.haskell.org/hoogle/?q=Prelude Prelude]". Also, if you ever want to search for a function, based on the name, type or module, take a look at the excellent [http://www.haskell.org/hoogle/ Hoogle]. This is for a lot of people a must-have while debugging and writing Haskell programs.
 
-
 
-
== GHCi/Hugs ==
 
-
=== GHCi interaction ===
 
-
To start GHCi from a command prompt, simply type `ghci'
 
-
 
-
$ ghci
 
-
___ ___ _
 
-
/ _ \ /\ /\/ __(_)
 
-
/ /_\// /_/ / / | | GHC Interactive, version 6.6, for Haskell 98.
 
-
/ /_\\/ __ / /___| | http://www.haskell.org/ghc/
 
-
\____/\/ /_/\____/|_| Type :? for help.
 
-
 
-
Loading package base ... linking ... done.
 
-
Prelude>
 
-
 
-
[http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html Prelude] is the "base" library of Haskell.
 
-
 
-
To create variables at the GHCi prompt, use `let'
 
-
<haskell>
 
-
Prelude> let x = 5
 
-
Prelude> x
 
-
5
 
-
Prelude> let y = 3
 
-
Prelude> y
 
-
3
 
-
Prelude> x + y
 
-
8
 
-
</haskell>
 
-
 
-
`let' is also the way to create simple functions at the GHCi prompt
 
-
<haskell>
 
-
Prelude> let fact n = product [1..n]
 
-
Prelude> fact 5
 
-
120
 
-
</haskell>
 
-
 
-
 
-
=== Checking Types ===
 
-
To check the type of an expression or function, use the command `:t'
 
-
<haskell>
 
-
Prelude> :t x
 
-
x :: Integer
 
-
Prelude> :t "Hello"
 
-
"Hello" :: [Char]
 
-
</haskell>
 
-
Haskell has the following types defined in the [http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html Standard Prelude].
 
-
<haskell>
 
-
Int -- bounded, word-sized integers
 
-
Integer -- unbounded integers
 
-
Double -- floating point values
 
-
Char -- characters
 
-
String -- equivalent to [Char], strings are lists of characters
 
-
() -- the unit type
 
-
Bool -- booleans
 
-
[a] -- lists
 
-
(a,b) -- tuples / product types
 
-
Either a b -- sum types
 
-
Maybe a -- optional values
 
-
</haskell>
 

Revision as of 10:44, 23 April 2009


This article is a draft, with further revisions actively invited. Drafts are typically different than stubs in that these articles are in an active edit process. Feel free to help by expanding the article.

We need to start a Haskell centered cookbook (aka, not a PLEAC clone)

This page is based on the Scheme Cookbook at http://schemecookbook.org/Cookbook/WebHome