Certainly. But how is it *implemented* internally? Mostly you suffer massive performance loss when prepending, because complete linked list gets moved to a new place in memory. If internal representaion ist a double cell, one value, pointer to next, then you quickly suffer CPU cache misses. Wild jumps across memory with upto 18 CPU waitstates for random access. Means: Your proud 4 GHz machine gets slower than a 250 MHz embedded ESP32 ARM CPU. E.g. Python dqueue doesn't show any performance loss here.
Have fun! Am Dienstag, 28. April 2020 schrieb Wilhelm Fitzpatrick <raf...@well.com>: > On 4/27/20 2:42 PM, Guido Stepken wrote: > >> In most Lisp languages, you only can "append" to a list, never "prepend".: > > "Prepend", aka "add to the beginning" seems the natural (and non-destructive) operation of Lisp, e.g. > > (cons 9 (1 2 3)) -> (9 1 2 3) > > ..perhaps that is what you meant? > > -wilhelm > > > -- > UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe >