default instance for IsString

Michael Snoyman michael at
Tue Apr 24 10:55:38 CEST 2012

On Tue, Apr 24, 2012 at 11:36 AM, Erik Hesselink <hesselink at> wrote:
> On Tue, Apr 24, 2012 at 08:32, Michael Snoyman <michael at> wrote:
>> Here's a theoretically simple solution to the problem. How about
>> adding a new method to the IsString typeclass:
>>    isValidString :: String -> Bool
> If you're going with this approach, why not evaluate the conversion
> from String immediately? For either case you have to know the
> monomorphic type, and converting at compile time is more efficient as
> well. But we're getting pretty close to Template Haskell here.
> Erik

I could be mistaken, but I think that would be much harder to
implement at the GHC level. GHC would then be responsible for taking a
compile-time value and having it available at runtime (i.e., lifting
in TH parlance). Of course, I'm no expert on GHC at all, so if someone
who actually knows what they're talking about says that this concern
is baseless, I agree that your approach is better.


More information about the Glasgow-haskell-users mailing list