Сделал простой GADT:
data Expr :: * -> * where
ExprStdLogicConst :: Expr (shape StdLogic)
ExprStdLogicNot :: (shape StdLogic) -> Expr (shape StdLogic)
ExprLogicBin :: LogicBin -> (shape StdLogic) -> (shape StdLogic) -> Expr (shape StdLogic)Посмотрел на один из его конструкторов:
*Main> :i ExprLogicBin
(
Read more... )
Comments 8
Reply
Причём в стороне от GADT, что интересно.
Reply
и дальше там ссылочка есть на FωC: http://research.microsoft.com/~simonpj/papers/ext-f
Это то, на чём хаскел нынче работает. Очень интересно, но я пока до конца не осилил.
Reply
Даже, прям, неохота изучать. ;)
Reply
Reply
Если запускаешь ghci module.hs, то он мог по окончанию проверки типов оказаться в любом модуле из списка импорта module. Приходилось форсировать :l.
Reply
Ни разу такого не видел в 6.8.3. Винда?
Зато другая "фича" стабильно едет через все версии: путь ~aname/path стабильно воспринимается как ~/aname/path.
Reply
Reply
Leave a comment