[linux] funkcionalne jazyky

(-K JohnNy johnny64 na swissjabber.org
Pondělí Červenec 27 14:16:10 CEST 2009


> Tak nakoniec este raz ten dotaz: Robili ste niekto s nejakym dialektom
> LISPu, Scheme ci Haskelu? Poradte ktory sa oplati naucit, s tym, aby som
> neskor mal na hranie aj nejake graficke kniznice.

LISP ani Scheme som v živote nevidel, takže neviem posúdiť, ako sú na
tom, Haskell som videl tak niekoľko hodín, takže ani v tom sa necítim
veľmi doma.
Každopádne, aspoň za ten Haskell môžem povedať, že sa v ňom toho dá
spraviť naozaj veľa a naozaj dosť elegantne. Ako príklad sa dá uviesť
quicksort napísateľný na dva riadky:

qsort []     = []
qsort (a:as) = qsort [x | x <- as, x <= a] ++ [a] ++ qsort [x | x <- as, x > a]

Pre prázdny zoznam vráti prázdny zoznam, pre ostatné vyberie prvý
prvok, zavolá sa na podzoznam zložený z prvkov, ktoré sú menšie, než
prvý, výsledok zreťazí s prvým prvkom a na koniec pricapí výsledok
rekurzívneho volania na podzoznam zložený z väčších prvkov.
Kód je celkom jednoduchý a pochopiteľný.

A čo sa týka GUI, ani s tým by nemal byť problém. Konkrétna ukážka
z reálneho života je window manager xmonad, ktorý je kompletne
napísaný v Haskelli.
Inak existujú pre Haskell aj knižnice pracujúce s GTK (v Debiane
libghc6-gtk-dev).

(-K

-- 
(-K JohnNy aka Partial Derivative ∂
[home] http://johnny64.fixinko.sk/
[icq] 338328204 [abandoned]
[jabber] JohnNy64 at swissjabber.org
[skype] JohnNy64-konik [abandoned]
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
URL: <http://lists.linux.sk/pipermail/linux/attachments/20090727/9d803c54/attachment.bin>


Další informace o konferenci linux