Programowanie funkcyjne/System typów/Ćwiczenia

From Studia Informatyczne

Praca domowa

  • Wyznacz typ:
let f = function x -> function y -> y 
in f (function x -> x) 42
         
  • Wyznacz typ:
let p = function x -> function y -> function f -> f x y
in function f -> p 4 2 f

Ćwiczenia

  • Wyznacz typ:
let p = function f -> function x -> f (f x)
in p p (function x -> x)
         
  • Wyprowadź skróconą regułę wnioskowania o typie procedur rekurencyjnych na podstawie typu operatora fix i pozostałych reguł.