[Nickle] Mutual tail-recursion

Bart Massey bart at po8.org
Tue Feb 21 15:41:25 PST 2006


In message <883cfe6d0602211516t79d8c052o14768315305fc22e at mail.gmail.com> you wrote:
> So right now the only snag with using higher-order
> functions is that its type signature is either very
> tightly specified (e.g. bool(int,int) ) or
> loosely-specified (e.g. bool(poly,poly) ), without a
> possibility of saying bool(a,a) that parametric
> polymorphism gives?

Yes, this is a definite hole in the language.  On the other
hand, we do at least support a (IMHO) nice notion of
subtyping: you can say
   bool(real,int)
and then pass two ints without any explicit or implicit
conversions or coercions.  And of course, it's not just
functions: the subtyping rules extend in sensible (?) ways
throughout the language.

It's still not a substitute for real parametric/template
polymorphism, though. :-)

    Bart


More information about the Nickle mailing list