type classes for selection of template variant
Robert Jacques
sandford at jhu.edu
Wed Dec 15 07:30:39 PST 2010
On Wed, 15 Dec 2010 07:58:36 -0500, spir <denis.spir at gmail.com> wrote:
> Hello,
>
>
> see http://en.wikipedia.org/wiki/Type_class
>
> I have tried several times to express the idea of using intervaces
> (only) for template case selection. Instead of a combination of really
> penible & hardly readible is() expressions and adhoc functions like
> isRandomAccessRange. (No chance in these trials ;-)
> Just discovered this idea is actually the same as 'type classes'
> introduced in Haskell (not that I'm a fan of functional programming,
> just stepped on the article by chance).
> D does not need any new language feature: interfaces are perfect for
> that.
>
> Maybe the syntax could be slightly extended to allow expressing negative
> constraints, like the following (defining an interface for types that
> support '==', but not comp)
> interface EqualityOnly : Equality !: Comparable {}
>
>
> Denis
> -- -- -- -- -- -- --
> vit esse estrany ☣
>
> spir.wikidot.com
>
No new syntax is required: templates can already test whether two types
are similar in a 'duck' sense today, thanks to compile time reflection.
More information about the Digitalmars-d
mailing list