Changes between Version 64 and Version 65 of ExplicitCallStack


Ignore:
Timestamp:
Feb 9, 2007 1:18:51 PM (8 years ago)
Author:
bjpop
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ExplicitCallStack

    v64 v65  
    392392
    393393These are largely the same definition, just written in different style. One might expect them to result in the same stack trace. But the above transformation rule treats them differently, because the `g1` is a pattern binding, whereas `g2` is a function binding.
     394
     395== Issue with type classes and instances ==
     396
     397One problem with a selective transformation scheme is how to transform overloaded functions. Suppose we have the following type class:
     398{{{
     399   class Wibble t where
     400      wibbit :: t -> t -> (t, t)
     401      wabbit :: t -> Bool
     402}}}
     403And we have these instances:
     404{{{
     405   instance Wibble Int where
     406      wibbit x y = ...
     407      wabbit x = ...
     408
     409   instance Wibble MyType where
     410      wibbit x y = ...
     411      wabbit x = ...
     412}}}