Просьба.

Nov 08, 2011 23:46

Обнаружил проблему в ghc 7.0.2.
{-# LANGUAGE NoImplicitPrelude #-}

import Prelude (Integer)
import Language.Haskell.TH

class FromInteger a where
fromInteger :: Integer -> a

data A = A Integer
instance FromInteger A where
fromInteger = A

testA :: A
testA = 1Даёт ошибку, что нет реализации GHC.Num.Num для A для функции testA. В 6.12. ( Read more... )

ошибки, Хаскель

Leave a comment

Comments 6

metaclass November 8 2011, 20:33:44 UTC
7.0.3, 7.2.1 то же самое

Reply


metaclass November 8 2011, 20:40:06 UTC
в расширения нужно добавить RebindableSyntax

Reply

metaclass November 8 2011, 20:40:19 UTC
тогда компилируется

Reply

thesz November 8 2011, 21:44:19 UTC
А.

Спасибо.

Надо будет посмотреть тонкости применения обоих расширений.

Reply


ilya_portnov November 9 2011, 05:25:52 UTC
Он, в общем-то, правильно говорит, прелюдию-то вы отключили, и упомянутой инстанции у вас нет. С -XRebindableSyntax GHC в таких случаях ищет не инстанцию GHC.Num.Num, а любую функцию с именем fromInteger, которая есть в scope.

Reply

thesz November 9 2011, 08:13:45 UTC
До 7 было достаточно NoImplicitPrelude.

Reply


Leave a comment

Up