Tantárgy neve: Funkcionális programozási nyelvek fogalomrendszere
Tantárgy heti óraszáma: 2+0
Számonkérés rendje: kollokvium
Az elsajátítandó ismeretanyag rövid (néhány soros) leírása (tervezet!):
A Clean, Haskell, SML alapvető nyelvi elemeinek rövid áttekintése után, a tárgy betekintést ad a funkcionális programozási nyelvek absztrakciót támogató fogalomrendszerébe.
A Clean nyelv típusrendszerének elemzése: dinamikus típus, generic, egyszeres hivatkozású típusok.
Az SML modulnyelve: szignatúrák, struktúrák, funktorok, megfelelési és öröklési reláció, szignatúrák kiterjesztése, elsődleges szignatúra, beágyazott struktúra, adatabsztrakció, struktúrák mint paraméterek
A Haskell monádjai, elmélet és alkalmazás:
Elosztott és valósidejű programozás nyelvi elemei: folyamatok, folyamatminták, szinkronizációs minták, távoli függvényhívás, üzenetek, ágensek, mobil kód (Erlang, Clean, JoCaml elemei). Elosztott számítások mintái.
Nyelvi elemek kifejező erejének összehasonlítása.
Kötelező irodalom:
Nyékyné G. Judit (szerk): Programozási nyelvek. Kiskapu, 2003.
Harper, R.: Programming Standard ML. http://www.cs.cmu.edu/~rwh/smlbook/.
Ajánlott irodalom:
Amstrong, J. et al.: Concurrent Programming in Erlang. Prentice Hall, 1996.
Fournet et al.: JoCaml: A Language for Concurrent, Distributed and Mobile Computing.
In: Lecture Notes in Computer Science, Vol.: 2638., Springer, 2003.
Mészáros M.: A JoCaml nyelv, a nyelv modellje, mobil kód JoCaml-ben.
http://aszt.inf.elte.hu/~fun_ver/2004/thesis/mm_diploma.ps.