2 Jul 17:47
Mixing # and : in strided ranges
From: Jan-Willem Maessen <Janwillem.Maessen@...>
Subject: Mixing # and : in strided ranges
Newsgroups: gmane.comp.lang.fortress.general
Date: 2008-07-02 15:51:21 GMT
Subject: Mixing # and : in strided ranges
Newsgroups: gmane.comp.lang.fortress.general
Date: 2008-07-02 15:51:21 GMT
Folks who have been tinkering with Fortress may have noticed that
strided ranges of the form lower:upper:stride haven't yet been
implemented. I'm in the process of thinking about how this might best
be done.
The big question in my mind is how the # and : notations interact with
a stride. My ideal semantics look something like the following:
l:u:s yields l, l+s, l+2s, ... <= u (so u is a rigid upper bound on
the enumeration).
l#n:s yields l, l+s, l+2s, ... l+(n-1)s
(so that n exactly dictates the number of items enumerated).
I raise this issue in part to get people's opinions, but also because
I'll be implementing this by simply overloading the : operator, so
that it should be possible to write something like:
myArray.indices():2
And stride through the indices of myArray by 2. But this will require
some major revisions to the internals of the types involved; at
present we do not distinguish l#s from l:(l+s-1) and we would need to
make that distinction in order for this code to work as we might expect.
-Jan-Willem Maessen
RSS Feed