On Friday, 9 November 2012 at 14:04:26 UTC, Manfred Nowak wrote:
Nick Sabalausky wrote:

So ok:

s/There *IS NO RECURSION* here./There is no _IMPOSSIBLE_ recursion
here./

That's one correection only. Several more are to come.

Sorrily no one seems to have recognized this sentence in
digitalmars.D.learn:40918:

Because `R' can recurse infinitely over `Ancor' a mooring and a way to that mooring is needed.

In regex-parlor this meens, that `( R!Ancor!)*' is the type the
compiler should be able to handle according to the template definitions
given.

But the compiler currently can only handle types with a finite length
of description on instantiation. For me it is in doubt that this
restriction can be declared as a bug.

-manfred

I'm not sure if you commented on why the non-templated version compiled. Since it does compile as I expected it would, it means that the templates operate in another dimension from what I was expecting, i.e., there's two languages in D, one for templates and another for non-temnplate code. My understanding of D from what I read, was that templates are supposed to work in the same way as regular code. The (T) is only there to introduce a type, so that code can be reused over multiple types. What is happening however, is that the templates are not doing what would be expected if the type was introduced manually, and to me this is plain wrong, or at best very unfortunate for D.

--rt

Reply via email to