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.

Literatúra

  1. Kollár, J.: Funkcionálne programovanie. Elfa, Košice, 2009.
  2. Bird, R.J., Wadler, P.: Introduction to Functional Programming.   Prentice Hall, 1988.  
  3. Peyton Jones, S. L.: The Implementation of Functional Programming Languages. PrenticeHall, 1987
  4. Reade, C.: Elements of Functional Programming. PrenticeHall, 1989