[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]

Re: [zzdev] Re: [zzdev] Re: [zzdev] Fully general cell references

Hi A-J,

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.

- Benja

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:
>                   B
>                   |
>                   *
>                  /
>                 A
>    Now, add a cell C that also refers to B.
>                   B
>                   |
>             *-----*
>            /     /
>           C     A
>    Call one of the stars D and add a cell E that refers to it.
>                   B
>                   |
>             *-----D
>            /     /|
>           C     A *
>                  /
>                 E
>    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/ %%%