Re: Is it time to legitimise REAL*8 etc?
- From: nospam@xxxxxxxxxxxxx (Richard Maine)
- Date: Fri, 27 Jun 2008 17:39:06 -0700
James Giles <jamesgiles@xxxxxxxxxxxxxxxx> wrote:
they decided to limit non-KIND type parameters to only be lengths.
There was no reason for that decision that I could discover.
If I understood what you meant, perhaps I could answer. What do you mean
by "only be lengths?" Have you just been confused by the terminology
used? If so that wouldn't be surprising. Yes, type parameters are
categorized as kind or length. If they aren't kind parameters, they are
called length ones. But that doesn't actually mean that they have to
have anything in particular to do with lengths. Lengths is a common use
for them - thus the name, but that's not a restriction. I think there
was once a time when I objected to the term "length" since they don't
actually hav eto be lengths. I finally gave in on that, but I'm
suspicious that you are illustrating the original reasons for my
reluctance. Is your objection to anything other than the term?
The actual restrictions tend to have pretty concrete reasons... which
isn't to say that things couldn't be different, but they at least don't
tend to be arbitrary.
Perhaps the most fundamental distinction is that kind type parameters
are always known at compile time. Length type parameters need not be. Of
course, the standard doesn't say it in those words, but that's the crux
of it. From that distinction, many other things follow. For example,
kind type parameters play a role in generic disambiguation, but length
type parameters don't. That's because generic disambiguation is designed
to be done at compile time. There are a bunch of other things like that,
but they mostly follow in pretty "obvious" manner from the basic
distinction. For example, you can't use a length type parameter value to
specify a kind... because the length parameter value isn't necessarily
known at compile time. I can't think of any of the related restrictions
that I'd consider arbitrary.
Also note that there can be multiple kind type parameters. A type
parameter isn't necessarily a non-kind one just because its name isn't
KIND. I suppose that point might also be confusing. I'm stretching a bit
here, looking for possible things that you might be confused about
because I just can't figure out what your concrete complaint is here
(unless your complaint is about confusing terminology, in which case I
can't argue with it).
--
Richard Maine | Good judgement comes from experience;
email: last name at domain . net | experience comes from bad judgement.
domain: summertriangle | -- Mark Twain
.
- Follow-Ups:
- Re: Is it time to legitimise REAL*8 etc?
- From: James Giles
- Re: Is it time to legitimise REAL*8 etc?
- References:
- Is it time to legitimise REAL*8 etc?
- From: Clive Page
- Re: Is it time to legitimise REAL*8 etc?
- From: John Appleyard
- Re: Is it time to legitimise REAL*8 etc?
- From: Dan Nagle
- Re: Is it time to legitimise REAL*8 etc?
- From: glen herrmannsfeldt
- Re: Is it time to legitimise REAL*8 etc?
- From: Dan Nagle
- Re: Is it time to legitimise REAL*8 etc?
- From: glen herrmannsfeldt
- Re: Is it time to legitimise REAL*8 etc?
- From: Dan Nagle
- Re: Is it time to legitimise REAL*8 etc?
- From: GaryScott
- Re: Is it time to legitimise REAL*8 etc?
- From: James Giles
- Is it time to legitimise REAL*8 etc?
- Prev by Date: Re: undefined reference with include 'netcdf.inc'
- Next by Date: Re: Overflow errror--what could cause this?
- Previous by thread: Re: Is it time to legitimise REAL*8 etc?
- Next by thread: Re: Is it time to legitimise REAL*8 etc?
- Index(es):