18.01.2016 - Seminarium Instytutowe - godz. 13:00, Stanisław Ambroszkiewicz (IPI PAN)

18 01 2016 ambroszkiewicz

Wydawałoby się, że w Podstawach Informatyki jest wszystko jasne. Tak jest dla obliczeń na prostych typach.

Czym są obliczenia na obiektach wyższych rzędów, np. funkcjach, funkcjonałach czy relacjach? Są one wtedy traktowane jako obiekty i mogą być argumentami jeszcze wyższych funkcji i relacji. Nie jest to tylko problem teoretyczny. Programiści chcą używać i używają(?) takich obiektów w praktyce programowania, np. języki funkcyjne (np. Haskell, Coq CoIC), programowanie strukturalne, generic programing. Jaki jest współczesny paradygmat w Informatyce?

Jeśli chodzi o architekturę komputera i języki programowania, to według John Backus (1977 ACM Turing Award lecture ``Can Programming Be Liberated from the von Neumann Style?''), paradygmat ten polega na izomorfizmie pojęciowym pomiędzy architekturą komputera według von Neumanna (jedyna jaka jest) a językami programowania. Języki programowania są abstrakcyjną (na wyższym poziomie abstrakcji) kopią komputera von Neumanna.

Jeśli chodzi o programowanie na obiektach wyższych rzędów, to ten paradygmat sprowadza się do tzw. ``lazy evaluation'', czyli do symbolicznego przetwarzania termów (nazw) odnoszących się od tych obiektów. Czy można przełamać ten paradygmat?


© 2021 INSTYTUT PODSTAW INFORMATYKI PAN | Polityka prywatności | Deklaracja dostępności