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.