Funkcionálne programovanie


Anotácia

Študent sa oboznámi s funkcionálnym prístupom k programovaniu na báze jazyka Haskell, naučí sa využívať funkcie vyššieho rádu, efektívne pracovať so štruktúrovanými údajmi, a v konečnom dôsledku programovať stručne, efektívne a spoľahlivo. Nadobudne taktiež vedomosti o jazyku lambda a základoch typového systéme jazykov.

Obsah prednášok

  1. Význam definície funkcie a jej aplikácia.
  2. Hodnoty a algebraické typy, kategorizácia algebraických typov.
  3. Funkcie pre prácu so zoznamami a ich aplikácia.
  4. Reprezentácia a aplikácia funkcií v jazyku lambda.
  5. Funkcie vyššieho rádu, postupná aplikácia a odvodenie typov.
  6. Ďalšia podpora abstrakcie -  aritmetické postupnosti a množinové abstrakcie.
  7. Kategorizácia a charakteristiky stromov.
  8. Procedurálne prvky vo funkcionálnom jazyku a monadický prístup.
  9. Abstraktné typy a ich implementácia.
  10. Špecifikácia, implementácia a dôkaz platnosti.
  11. Syntéza programov.
  12. Jazyk lambda a kombinátory.

Odporúča sa samostatná analýza riešených príkladov, porovnanie so základnou literatúrou a samostatná projektová práca podľa inštruktáže na úvodných prednáškach s použitím funkcionálneho jazyka Hugs98. 


Základná literatúra

  1. Kollár Ján: Funkcionálne programovanie, elfa, 2009, 256 strán, ISBN 978-80-8086-116-2
  2. Učebné texty v elektronickej forme a riešené príklady

Literatúra

  1. Bird, R.J., Wadler, P.: Introduction to Functional Programming.   Prentice Hall, 1988.
  2. Kollár, J.: Funkcionálne programovanie. Elfa, Košice, 1995.
  3. Thompson, S.: Haskell: The Craft of Functional Programming (2nd Edition). Addison-Wesley. 1999.

Ďalšie zdroje

Funkcionálny jazyk Hugs98 (Winhugs)