Термы с заданными типами
Jun. 28th, 2012 05:04 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Три задачки с экзамена, в порядке усложнения условия.
Написать замкнутый терм типа (a -> b) -> ((a -> b) -> b) -> b.
Написать замкнутый терм типа (a -> b) -> ((a -> b) -> b) -> b, которому нельзя приписать тип c -> (c -> b) -> b.
Написать замкнутый терм с наиболее общим типом (a -> b) -> ((a -> b) -> b) -> b.
Написать замкнутый терм типа (a -> b) -> ((a -> b) -> b) -> b.
Написать замкнутый терм типа (a -> b) -> ((a -> b) -> b) -> b, которому нельзя приписать тип c -> (c -> b) -> b.
Написать замкнутый терм с наиболее общим типом (a -> b) -> ((a -> b) -> b) -> b.
Наиболее общий тип
Date: 2012-06-28 05:46 pm (UTC)Re: Наиболее общий тип
Date: 2012-06-28 05:55 pm (UTC)Последний является наиболее общим (главным, principle, most general), потому что все остальные могут быть получены из него подстановкой выражения типа вместо переменной типа. Вот эти подстановки:
Re: Наиболее общий тип
Date: 2012-06-28 07:06 pm (UTC)То есть третье задание - написать терм с конкретным типом, наиболее общим для которого будет заданный?
*(я не мог понять, есть ли и какая разница между вторым и третьим заданием)
Re: Наиболее общий тип
Date: 2012-06-28 07:38 pm (UTC)Re: Наиболее общий тип
Date: 2012-06-29 09:41 pm (UTC)Re: Наиболее общий тип
Date: 2012-06-29 07:41 am (UTC)Re: Наиболее общий тип
Date: 2012-06-29 09:43 pm (UTC)*(у меня плохой функциональный бекграунд, поэтому отошлите куда-то, если так будет лучше - литература имеется ввиду)
Re: Наиболее общий тип
Date: 2012-06-30 05:54 am (UTC)Re: Наиболее общий тип
Date: 2012-06-30 09:31 am (UTC)\f g -> g (\x -> g f)
\f g -> g (\y -> g ((\x -> f) y))
Re: Наиболее общий тип
Date: 2012-07-01 12:40 pm (UTC)Re: Наиболее общий тип
Date: 2012-07-01 09:08 pm (UTC)Простите, я уже наверное достал.
Скажите, пожалуйста, есть ли терм, который будет решением второго задания но не третьего? И какой?
Re: Наиболее общий тип
Date: 2012-07-01 09:11 pm (UTC)Re: Наиболее общий тип
Date: 2012-07-01 09:18 pm (UTC)