Hello,

I'd like to know if there's in picolisp the common lisp concept of places,
I mean, is it possible to do this:

(setq L (1 2 3))
(set (car L) 'x)
L -> (1 x 3)
(set (cdr L) '(a b))
L -> (1 a b)

I'd say it is not places in picolisp, but reference manual says:

: (set 'L '(a b c)  (cdr L) '999)
-> 999
: L
-> (a 999 c)


Which seems similar to places or at least to the use of setf in common
lisp, but what I find strange is in my understanding the set form above
should lead to L -> (a 999)  or even (a . 999) because (cdr L) is (b c) and
thus replacing cdr L with 999 leads to (a 999)... where's my error?
For me L should be (a 999 c) only if the set form were:

: (set 'L '(a b c) (cadr L) '999)

Also, if not having places, have we got scheme's setcar and setcdr at least?

Is there any way of manipulating parts of lists and even objects rather
than using specific functions such as delete, replace and so on ?

regards

Reply via email to