Обсуждение:Haskell: различия между версиями
>Grep Новая: Примеры жгутъ! С удовольствием разгрёб третий уровень ~~~~ |
wikia.com → wiki |
||
| (не показано 11 промежуточных версий 7 участников) | |||
| Строка 1: | Строка 1: | ||
Примеры жгутъ! С удовольствием разгрёб третий уровень {{:Участник:Grep/.sig}} 19:52, 4 апреля 2007 (UTC) | Примеры жгутъ! С удовольствием разгрёб третий уровень {{:Участник:Grep/.sig}} 19:52, 4 апреля 2007 (UTC) | ||
Четвёртый пример не компилируется: | |||
<pre><nowiki>cata.hs:58:48: | |||
Couldn't match expected type `. (forall a)' | |||
against inferred type `f' (a rigid variable) | |||
`f' is bound by the type signature for `gcata' at cata.hs:54:18 | |||
Expected type: f (n1 a1) -> . (forall a) (f (n a)) | |||
Inferred type: f (n1 a1) -> f (n1 (n1 a1)) | |||
In the second argument of `(.)', namely `fmap dupl' | |||
In the second argument of `(.)', namely `dist . (fmap dupl)' | |||
cata.hs:60:18: | |||
Occurs check: cannot construct the infinite type: a = Prod c a | |||
Expected type: Prod (forall a) (Prod (forall a) (Prod c a)) | |||
-> Prod c (Prod (forall a) a) | |||
Inferred type: Prod (forall a) (Prod (forall a) (Prod c a)) | |||
-> Prod c (Prod (forall a) (Prod c a)) | |||
In the first argument of `gcata', namely | |||
`(fork (fmap outl) (chi . (fmap outr)))' | |||
In the expression: gcata (fork (fmap outl) (chi . (fmap outr)))</nowiki></pre> | |||
GHC 6.6.1 --[[Участник:Beroal|Beroal]] 12:05, 7 мая 2008 (UTC) | |||
:Млин, наши себе проблему... --[[Участник:Глючарина|╔▲╠☼╚╡∩║⌠⅜⌡├┤∩]] 12:41, 7 мая 2008 (UTC) | |||
: Используйте [[компилятор]] [[Григорий Перельман|Перельмана]]. Хотя это вряд ли поможет. В статье явным образом указано, что четвёртый уровень доступен только Перельману :-( [[Участник:Morley Dotes|Morley Dotes]] 14:07, 7 мая 2008 (UTC) | |||
:: Ага, надо убрать сигнатуру gcata и instance Show (Mu N), тогда будет компилироваться в GHC. Компилятор выводит более общий тип для gcata, чем указано в сигнатуре. --[[Участник:Beroal|Beroal]] 14:21, 9 мая 2008 (UTC) | |||
:: Будет смешнее, если программа заработает. --[[Участник:Beroal|Beroal]] 14:28, 9 мая 2008 (UTC) | |||
::: смешнее => абсурднее. :-) --[[Участник:Beroal|Beroal]] 14:35, 9 мая 2008 (UTC) | |||
:: Если заменить newtype Mu f на data Mu f и добавить опцию -XFlexibleInstances, заработает instance Show (Mu N) --[[Участник:Beroal|Beroal]] 14:35, 9 мая 2008 (UTC) | |||
== Другой смайлик Жопы == | |||
Заменил один смайлик Жопы на другой [https://absurdopedia.wiki/w/index.php?title=Haskell&type=revision&diff=84993&oldid=84992]. И не случайно. Интерпретацию для '''(_|_)''' в рамках Хаскеля я не представляю, а вот знак '''(_:_)''' означает образец (выражение в левой части предложения) непустого списка, содержимое которого нам не известно. (Кстати, аналогичный образец в Прологе имеет похожий вид -- '''[_|_]'''). | |||
: Прологисты срут кирпичами? [[Участник:Ded Krapiva|Ded Krapiva]] 04:19, 4 ноября 2008 (UTC) | |||
: Неправильно вы, дядя фёдор, жопу рисуете! Жопа имеет тип "bottom" (англ. "низ" и всё такое, в т.ч. "жопа") - универсальный субтип, этот тип обозначается знаком "перевёрнутое Т", или - за неимением соответствующего глифа, _|_ на литспике. Неперевёрнутое T - это, соответственно, "top", универсальный супертип. К синтаксису хаскелла ни жопа, ни виселица отношения не имеют. [[Участник:Kodt]] 9 августа 2010 | |||