Programowanie funkcyjne: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Kubica (dyskusja | edycje)
Nie podano opisu zmian
Przemek (dyskusja | edycje)
Linia 38: Linia 38:
* [[PF:Moduł Wstęp            | Wstęp – porównanie programowania funkcyjnego i imperatywnego]]
* [[PF:Moduł Wstęp            | Wstęp – porównanie programowania funkcyjnego i imperatywnego]]
* [[PF:Moduł Podstawy        | Podstawy języka programowania Ocaml]]
* [[PF:Moduł Podstawy        | Podstawy języka programowania Ocaml]]
* [[PF:Moduł Struktury danych | Podstawowe typy danych]]
 
* [[PF:Moduł Model obliczeń  | Model obliczeń]]
* [[Programowanie funkcyjne/Wstęp            | Wstęp – porównanie programowania funkcyjnego i imperatywnego]]
* [[PF:Moduł Wyrzsze rzędy 1 | Procedury wyższych rzędów]]
* [[Programowanie funkcyjne/Podstawy        | Podstawy języka programowania Ocaml]]
* [[PF:Moduł Wyrzsze rzędy 2 | Procedury wyższych rzędów i listy]]
* [[Programowanie funkcyjne/Struktury danych | Podstawowe typy danych]]
* [[PF:Moduł Wyrzsze rzędy 3 | Procedury jeszcze wyższych rzędów]]
* [[Programowanie funkcyjne/Model obliczeń  | Model obliczeń]]
* [[PF:Moduł Moduły          | Moduły]]
* [[Programowanie funkcyjne/Wyższe rzędy 1   | Procedury wyższych rzędów]]
* [[PF:Moduł Funktory        | Funktory]]
* [[Programowanie funkcyjne/Wyższe rzędy 2   | Procedury wyższych rzędów i listy]]
* [[PF:Moduł Imperatywne      | Programowanie imperatywne]]
* [[Programowanie funkcyjne/Wyższe rzędy 3   | Procedury jeszcze wyższych rzędów]]
* [[PF:Moduł System typów    | System typów]]
* [[Programowanie funkcyjne/Moduły          | Moduły]]
* [[PF:Moduł Uleniwianie      | Techniki uleniwiania i spamiętywania ]]
* [[Programowanie funkcyjne/Funktory        | Funktory]]
* [[PF:Moduł Strunmienie      | Strumienie]]
* [[Programowanie funkcyjne/Imperatywne      | Programowanie imperatywne]]
* [[Programowanie funkcyjne/System typów    | System typów]]
* [[Programowanie funkcyjne/Uleniwianie      | Techniki uleniwiania i spamiętywania ]]
* [[Programowanie funkcyjne/Strunmienie      | Strumienie]]

Wersja z 09:59, 17 lip 2006

Forma zajęć

wykład (30 godz.) + laboratorium (30 godz.)

Opis

Celem przedmiotu jest przedstawienie programowania funkcyjnego – paradygmatu i stylu programowania, oraz towarzyszących mu technik programistycznych. Wykłady obejmują wprowadzenie do wybranego języka funkcyjnego (Ocaml) oraz podstawowe pojęcia i techniki programowania funkcyjnego. Laboratoria obejmują praktyczną naukę programowania funkcyjnego, zwieńczoną realizacją średniej wielkości programu.

Sylabus

Autor

  • Marcin Kubica

Wymagania wstępne

  • Wstęp do programowania
  • Logika i teoria mnogości

Zawartość

  • Podstawowe konstrukcje wybranego funkcyjnego języka programowania
  • Typy danych
  • Proceudry wyższych rzędów
  • Model obliczeń programów funkcyjnych (uproszczona semantyka operacyjna)
  • System typów dla fragmentu języka
  • Moduły i funktory
  • Konstrukcje imperatywne
  • Uleniwianie i spamiętywanie
  • Strumienie

Literatura

  1. H. Abelson, G. J. Sussman, Struktura i interpretacja programów komputerowych, WNT 2002.
  2. X. Leroy, The Objective Caml system, [1]
  3. E. Chailloux, P. Manoury, B. Pagano, Developing Applications with Objective Caml, [2]
  4. D. Remy, Using, Understanding and Unraveling the Ocaml Language, [3]

Moduły