Thanks for the responses. But....

> >> find list reduce [select list 'a]
> == [["a" "a-test"] b ["b"]]
>
> -Galt
>
>

Galt, that looked like what I wanted but on further investigation does'nt
seem to do what I want. It find the value that is the result of the reduce,
not the reference to the block itself - which is want I want.

I've gotta confess to making a bad example as the basis of my query too.

A better example would be this:

lookup: []
reverse_lookup: []

entry: func[x] [
    e: copy []  ; Note that e here is global - needed below.
    append lookup x append/only lookup e
    append/only reverse_lookup e append reverse_lookup x
]

entry "a"
entry "b"
entry "c"

; Show that my lookup blocks contain references to blocks.
append select lookup "b" "added to the series" ; Works well adds to both
probe lookup ; it appears here
probe reverse_lookup ; and here - now that's useful.

; But can I find the reference to the block that e refers to in the lookup
list?
probe find reverse_lookup :e ; No is the answer

; -------

So the upshot is. I seem to be able to store references to blocks in other
blocks. Thus allowing using a pointer concept. But I cannot find an operator
which can find the reference, as opposed to, finding the thing it refers to.

Correct?

Brett.

Reply via email to