The 'lack' of arrays has been a non-issue in picolisp for me so far. I've been generating and manipulating some pretty substantial bitmaps using notation like this.
2-D Array: (setq *Img (make (do Size (link (need Size 0))))) Write: (let (Bit (rand 0 1)) (for Pt *Plot (set (nth *Img (cadr Pt) (car Pt)) Bit))) Read: (make (for Pt *Plot (link (car (nth *Img (cadr Pt) (car Pt)))))) Being just lists, it is trivial to slice n dice, nest them, embed additional structures/lists at given data points, serialize, etc.. /Lindsay