[Haskell-cafe] self-referential data

Brent Yorgey byorgey at seas.upenn.edu
Sat Aug 9 18:18:04 EDT 2008

On Sat, Aug 09, 2008 at 05:09:06PM -0500, brian wrote:
> >From https://secure.wikimedia.org/wikipedia/en/wiki/Bencoding , I
> think I should code
> data BValue = BString     String
>             | BInteger    Integer
>             | BList       [BValue]
>             | BDictionary (M.Map BString BValue)
> but: Not in scope: type constructor or class `BString'
> The implementations I've found just implemented BDictionary's map key
> as String, but I think that's kind of wrong.

The problem is that BString is not a type, it is a data constructor.
You could use M.Map BValue BValue, but of course that's probably not
what you want either.  What's wrong with just using 'String' as the
Map key?


More information about the Haskell-Cafe mailing list