[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]
Re: [zzdev] Re: [zzdev] Re: [zzdev] Fully general cell references
- To: Antti-Juhani Kaijanaho <gaia@xxxxxx>
- Subject: Re: [zzdev] Re: [zzdev] Re: [zzdev] Fully general cell references
- From: Benjamin Fallenstein <b.fallenstein@xxxxxx>
- Date: Wed, 16 Aug 2000 19:15:13 +0200
- Cc: ZZ Development <zzdev@xxxxxxxxxx>
- References: <20000816100959.A8215@xxxxxxxxxxx> <20000816101717.B8215@xxxxxxxxxxx> <20000816123606.C8215@xxxxxxxxxxx>
I cannot find a hole in your system -- it does work, and it is
"reasonably" efficient -- although I don't know what you need it for, so
I don't know if it is "reasonable" in that context. Question is: What do
you need it for? You could as well seperate between two kinds of
cursor-cargo cells (maybe using a different dim, cursor-pointer or
something) which references to the cursor at its head, not to the cell
the cursor points to. Of course, I see that this might not be desirable
because it lumps some additional functionality on an existing system,
which makes it less easy to understand. So the tradeoff is:
1) create an additional system, which is inconsistent with the rest,
2) extend the existing system, which clutters it, or
3) create a new system and make it the main system, which may be less
efficient than the current main system.
The last solution would mean replacing current cursors by your system.
As I don't know what you need this for, and which other uses you expect,
I have no idea what would be appropriate. (It doesn't cover *everything*
we might want for pointing: one cell can't point to multiple others.
But, of course, you can always work around that. It's just, no
possibility is intrinsically better or worse; it all depends on what
you're going to do with this.
Antti-Juhani Kaijanaho wrote:
> On 20000816T101717+0300, Antti-Juhani Kaijanaho wrote:
> > On 20000816T101000+0300, Antti-Juhani Kaijanaho wrote:
> > > I have not been able to design such a structure using any bounded number
> > > of dimensions.
> > Actually, I just had an idea. I'll post details when I've convinced
> > myself that it works.
> Ok, here goes:
> We need three dimensions, call them for now d.start-reference,
> d.continue-reference and d.finish-reference. In the following
> diagrams, negative-to-positive d.start-reference is lower-left to
> upper-right, negative-to-positive d.continue-reference is left to
> right and negative-to-positive d.finish-reference is bottom to up. In
> the diagrams, a star denotes a helper cell (each star a different cell)
> A cell A refers to a cell B which is not referred to by anyone else:
> Now, add a cell C that also refers to B.
> / /
> C A
> Call one of the stars D and add a cell E that refers to it.
> / /|
> C A *
> Thus we can define that a cell A refers to a cell B if and only
> if there is a cell C that is a positive neighbour of A along
> d.start-reference and there is a cell D that is the endcell of the
> rank along d.continue-reference on which C lies and B is the positive
> neighbour of D along d.finish-reference.
> I believe this works and is reasonably efficient. Comments?
> %%% Antti-Juhani Kaijanaho % gaia@xxxxxx % http://www.iki.fi/gaia/ %%%