fun reverse list/0,1# {@@ok/result.= do_reverse $list [list]} fun do_reverse h/0/head,t/0/tail,reversed/1 {tailcall @@ok/result.= do_reverse $t [list $h {*}$reversed]} fun do_reverse 0/0/#,reversed/1 {return $reversed} #2023-06 initial punk version.. creates string rep, no compiled pattern matching - extremely slow #set x [list a b c d e f g h i j];list #P% llength $x #- 10 #P% rep $x #- value is a list with a refcount of 4, object pointer at 00000000097F65F0, internal representation 0000000004ABCE90:0000000000000000, no string representation #P% reverse $x; list #P% rep $x #- value is a list with a refcount of 4, object pointer at 00000000097F65F0, internal representation 0000000004ABCE90:0000000000000000, string representation "a b c d e f #g..." #P% time {reverse $x} 100 #- 2457.0330000000004 microseconds per iteration #P% time {reverse $x} 1000 #- 2460.8575 microseconds per iteration