Print

Print


Van Snyder writes:

 > I think you're looking at Constraint 626, which refers to kind parameters.
 > LEN is a nonkind parameter.  [elaborates]

That distinction is really critical.  It is the heart of the
difference between kind and nonkind parameters.  There are lots of
consequences, but the central points comes back to being that
kind type parameters are *ALWAYS* known at compile time.  Lots
of things depend on that.  Well, the standard doesn't use the
words "compile time" because it tries not to tie implementor's
hands on such implementation things.  But beneath the standardese,
that's the crucial difference.

Most of the other differences are all consequences of this.  Generic
resolution is supposed to happen at compile time, so it can't
be based on nonkind parameters.  You can't have deferred or
assumed kind type parameters because those can vary at rune-time,
etc.

--
Richard Maine                |  Good judgment comes from experience;
[log in to unmask]   |  experience comes from bad judgment.
                             |        -- Mark Twain