Programowanie funkcyjne: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Przemek (dyskusja | edycje)
Przemek (dyskusja | edycje)
Linia 39: Linia 39:
* [[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]]
osierocone:
* [[Programowanie funkcyjne/Procedury wyższych rzędów i listy  | Procedury wyższych rzędów i listy]] (BRAK!!! - część innego wykładu)


finalne:
finalne:
Linia 45: Linia 48:
* [[Programowanie funkcyjne/Struktury danych | Podstawowe typy danych]] ([[Programowanie funkcyjne/Struktury danych/Ćwiczenia        |Ćwiczenia]])
* [[Programowanie funkcyjne/Struktury danych | Podstawowe typy danych]] ([[Programowanie funkcyjne/Struktury danych/Ćwiczenia        |Ćwiczenia]])
* [[Programowanie funkcyjne/Procedury wyższych rzędów  | Procedury wyższych rzędów]] ([[Programowanie funkcyjne/Procedury wyższych rzędów/Ćwiczenia        |Ćwiczenia]])
* [[Programowanie funkcyjne/Procedury wyższych rzędów  | Procedury wyższych rzędów]] ([[Programowanie funkcyjne/Procedury wyższych rzędów/Ćwiczenia        |Ćwiczenia]])
* [[Programowanie funkcyjne/Procedury wyższych rzędów i listy  | Procedury wyższych rzędów i listy]] (BRAK!!! - część innego wykładu)
* [[Programowanie funkcyjne/Procedury jeszcze wyższych rzędów  | Procedury jeszcze wyższych rzędów]] ([[Programowanie funkcyjne/Procedury jeszcze wyższych rzędów/Ćwiczenia        |Ćwiczenia]])
* [[Programowanie funkcyjne/Procedury jeszcze wyższych rzędów  | Procedury jeszcze wyższych rzędów]] ([[Programowanie funkcyjne/Procedury jeszcze wyższych rzędów/Ćwiczenia        |Ćwiczenia]])
* [[Programowanie funkcyjne/Wyliczanie procesów  | Wyliczanie procesów - proces wyliczania]]  
* [[Programowanie funkcyjne/Wyliczanie procesów  | Wyliczanie procesów - proces wyliczania]]  

Wersja z 13:17, 18 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

do testów:

osierocone:

finalne: