Első előadás

Ismertetőjegyek

A Haskell

Egyéb szempontok

Alkalmazási területek

A Haskell kiválóan alkalmas

Összehasonlítás: futási idő

A The Computer Language Benchmarks Game alapján.

szorzónyelv
1.0C
1.3Pascal
1.5Haskell
1.8Lisp, BASIC, Java
13+script nyelvek

Összehasonlítás: memóriahasználat

A The Computer Language Benchmarks Game alapján.

szorzónyelv
1.0Pascal
1.6C
4.1Haskell
6-16script nyelvek
17Java
32Lisp

Összehasonlítás: tömörség

A The Computer Language Benchmarks Game alapján.

szorzónyelv
1.0-1.3script nyelvek
1.6Haskell, Lisp
1.8Pascal, Java, C

Nevek

Változó-, függvény- és konstruktornevek:

f
f'
splitAt
True
xs
nem_szokás_így_tagolni

Operátornevek:

+
<=
≤
++
:
!?.#$%@&*+-~^/|\<=>:

Függvényalkalmazás

Nem kell zárójel:

sin pi

gcd 12 60

Általában f arg1 arg2 ... argn jelentése:

Hibás kifejezés: sin cos 1. Helyesen: sin (cos 1).

Függvényalkalmazás (2)

A függvényalkalmazás minden operátornál erősebb:

sin 1 + 2

jelentése (sin 1) + 2.

Dollár ($)

A dollár a sor végéig tartó zárójelet helyettesíti.

Példa:

sin (cos (4 + log 1))

helyett írhatjuk ezt:

sin $ cos $ 4 + log 1

Operátorok

OperátorKötés
^, ^^, **(2 ^ (3 ^ 4))
*, /((2 / 3) / 4)
+, -((2 - 3) - 4)
==, /=, <, <=, >, >=nem lehetséges
&&(True && (True && False))
||(False || (False || True))

Példák

Zárójelezzük az alábbi kifejezést:

3 > 2 || 4 == 1 + 2 - 3 * 5

Számítsuk ki az 1.01 sugarú gömb térfogatát.

A példák megoldásai

Zárójelezzük az alábbi kifejezést:

 3 > 2  ||  4 ==  1 +  2 -  3 * 5
(3 > 2) || (4 == (1 + (2 - (3 * 5))))

Számítsuk ki az 1.01 sugarú gömb térfogatát.

4 * 1.01^3 * pi / 3