Thanks Alex,

Another clarification - I was looking at the implementation of consName


After this assignment, p points to the CDR of the cell -

   p = symPtr(p);


However, this assignment assigns to ((p)->car)

   val(p) = n;

I figured out what's happening is equivalent of *(word*)p = val?:p;
I got a little tripped by the definition of val - because "p" is really not
a Cell pointer after the symPtr assignment right? I mean, p->cdr is invalid
at this point correct?

Regards,
Kashyap

On Sat, Mar 9, 2019 at 10:54 PM Alexander Burger <a...@software-lab.de>
wrote:

> Hi Kashyap,
>
> > am curious though ... how's hash table implemented without array?
>
> We are talking here about C and Java. In pil32 it *is* an array
>
>    any Intern[IHASH], Transient[IHASH], Extern[EHASH];
>
> and in Ersatz it is a HashMap
>
>    final static HashMap<String,Symbol> Intern = new
> HashMap<String,Symbol>();
>    final static HashMap<String,Symbol> Transient = new
> HashMap<String,Symbol>();
>
> - Alex
>
> --
> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
>

Reply via email to