[ ghc-Bugs-1201666 ] Default methods not in scope for spliced-in instances?

SourceForge.net noreply at sourceforge.net
Fri May 13 17:29:18 EDT 2005


Bugs item #1201666, was opened at 2005-05-13 17:16
Message generated for change (Comment added) made by sbronson
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=108032&aid=1201666&group_id=8032

Category: Template Haskell
Group: 6.4
Status: Open
Resolution: None
Priority: 5
Submitted By: Samuel Bronson (sbronson)
Assigned to: Simon Peyton Jones (simonpj)
Summary: Default methods not in scope for spliced-in instances?

Initial Comment:
This is a literate haskell bugreport. Save it to
DefaultMethodScopeTH.lhs.

I noticed a problem with instantiating a typeclasse
from Template
Haskell in the same module that defined it. I've bumped
into this
twice close together now, so I figure I really ought to
report it now.

> {-# OPTIONS_GHC -fth #-}
> 
> module DefaultMethodScopeTH where

First, define a typeclass with a default method.

This is probably not a very usefull class, but nobody
wants me to drag
half of the module I'm actually working on into this ;-).

> class Foo a where
>     foo :: a -> a
>     foo = id

Now try to instantiate it from TH with the default method.

> $([d| instance Foo () where |])

Nothing particularly complicated, right?

But when I try to actually build it, I get this:

$ ghc --make DefaultMethodScopeTH.lhs
Chasing modules from: DefaultMethodScopeTH.lhs
Compiling DefaultMethodScopeTH (
DefaultMethodScopeTH.lhs, DefaultMethodScopeTH.o )

DefaultMethodScopeTH.lhs:22:7:
    GHC internal error: `DefaultMethodScopeTH.$dmfoo'
is not in scope
    In the definition of `foo': foo =
DefaultMethodScopeTH.$dmfoo
    In the definition for method `foo'
    In the instance declaration for `Foo ()'

Kind of nasty, eh?


----------------------------------------------------------------------

>Comment By: Samuel Bronson (sbronson)
Date: 2005-05-13 17:29

Message:
Logged In: YES 
user_id=237753

Ugg, this looks horrible. That'll teach me to write bug
reports in Emacs, I guess... the autogenerated email looks
very slightly better, but not much. I'm attaching the original.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=108032&aid=1201666&group_id=8032



More information about the Glasgow-haskell-bugs mailing list