He Curtis, > The third tutorial, "Working with tables in PicoLisp", has the following > code to sort a table: > ... > Still, it seems so complicated. Is there a simpler way of doing this?
Indeed! I wonder why there is so much and complicated code. You can do it all out of the box. : (setq *People (quote (name John phone 123456 age 56) (name Fred phone 654321 age 35) (name Fred phone 236597 age 38) (name Hank phone 078965 age 23) ) ) -> ((name ... # Sort by the second element (the name) : (by cadr sort *People) -> ((name Fred phone 236597 age 38) (name Fred phone 654321 age 35) (name Hank phone 78965 age 23) (name John phone 123456 age 56)) # Sort by the 4th element (the phone nomber) : (by cadddr sort *People) -> ((name Hank phone 78965 age 23) (name John phone 123456 age 56) (name Fred phone 236597 age 38) (name Fred phone 654321 age 35)) : (by '((L) (get L 4)) sort *People) -> ... # same # Sort by finding the element after 'name' : (by '((L) (cadr (memq 'name L))) sort *People) -> ((name Fred phone 236597 age 38) (name Fred phone 654321 age 35) (name Hank phone 78965 age 23) (name John phone 123456 age 56)) # Sort by finding the element after 'age' : (by '((L) (cadr (memq 'age L))) sort *People) -> ((name Hank phone 78965 age 23) (name Fred phone 654321 age 35) (name Fred phone 236597 age 38) (name John phone 123456 age 56)) —Alex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe