default instance for IsString

Erik Hesselink hesselink at gmail.com
Tue Apr 24 12:08:41 CEST 2012


On Tue, Apr 24, 2012 at 10:55, Michael Snoyman <michael at snoyman.com> wrote:
> On Tue, Apr 24, 2012 at 11:36 AM, Erik Hesselink <hesselink at gmail.com> wrote:
>> On Tue, Apr 24, 2012 at 08:32, Michael Snoyman <michael at snoyman.com> 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.
>
> 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.

But GHC already has all the infrastructure for this, right? You can do
exactly this with TH.

Erik



More information about the Glasgow-haskell-users mailing list