Programowanie funkcyjne: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Linia 19: Linia 19:


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


=== Literatura ===
=== Literatura ===

Wersja z 12:10, 7 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 sylabusa

  • 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