hwechtla-tl:
Teos: haskell
Taivas, jossa on huonekaluina timantteja. Keskellä leijuu jumalan henki
lambda-kirjaimen muodossa.
Miksi?
- Haskell on, paitsi käytännöllinen ohjelmointikieli, myös teoreettinen
luomus, jonka toimintaan ja toteuttamiseen on käytetty huomattava
määrä tutkimustyötä kielen nuorehkosta iästä huolimatta.
- Haskell pyrkii olemaan osoitus siitä, että puhdas funktionaalinen
ohjelmointi on oikeasti käytännöllistä. Silti kieli on usein vaikea
lähestyä niille, jotka ovat tottuneet vähemmän oikeaoppisiin kieliin.
- Haskell on jotenkin hämmentävän "täydellinen" kieli: on vaikea
keksiä, mikä siinä voisi olla paremmin.
- Haskellin tyyppijärjestelmää kehitetään koko ajan monimutkaisemmaksi,
jotta yhä useammat ohjelmat olisivat suorituskelpoisia. Koska
tyyppijärjestelmät ja logiikat vastaavat toisiaan, Haskellin
tyyppijärjestelmien ristiriidattomuus kulkee käsi kädessä uusien
logiikoiden ristiriidattomuuden kanssa ja on siis melko akateeminen
aihe.
Kuvia netistä:
minus :: (Monad m) => [CharCount] -> [CharCount] -> m [CharCount]
minus x [] = return x
minus [] _ = fail "can't subtract from empty"
minus (lft@(CharCount c1 i1):xs) r@((CharCount c2 i2):ys)
| (c1 == c2) && (i2 == i1) = xs `minus` ys
| (c1 == c2) && (i2 < i1) = do rem <- xs `minus` ys
return $! (CharCount c1 (i1 - i2)):rem
| (c1 < c2) = do rem <- xs `minus` r
return $! lft:rem
| (c1 == c2) && (i2 > i1) = fail "right has more chars than left"
| (c1 > c2) = fail "right has chars not in left"
| otherwise = error "Bad condition"
näyttely: ohjelmointikielten kuvat
kommentoi
(viimeksi muutettu 17.01.2012 13:01)