;;;; TASK II: SELECT -- PICK (DEMO) i i i i i i i ooooo o ooooooo ooooo ooooo I I I I I I I 8 8 8 8 8 o 8 8 I \ `+' / I 8 8 8 8 8 8 \ `-+-' / 8 8 8 ooooo 8oooo `-__|__-' 8 8 8 8 8 | 8 o 8 8 o 8 8 ------+------ ooooo 8oooooo ooo8ooo ooooo 8 Welcome to GNU CLISP 2.49 (2010-07-07) Copyright (c) Bruno Haible, Michael Stoll 1992, 1993 Copyright (c) Bruno Haible, Marcus Daniels 1994-1997 Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998 Copyright (c) Bruno Haible, Sam Steingold 1999-2000 Copyright (c) Sam Steingold, Bruno Haible 2001-2010 Type :h and hit Enter for context help. [1]> ( load "lp.l") ;; Loading file lp.l ... ;; Loaded file lp.l T [2]> (trace select) ;; Tracing function SELECT. (SELECT) [3]> ( select 2 '(1 2 3 4) ) 1. Trace: (SELECT '2 '(1 2 3 4)) 2. Trace: (SELECT '1 '(2 3 4)) 3. Trace: (SELECT '0 '(3 4)) 3. Trace: SELECT ==> 3 2. Trace: SELECT ==> 3 1. Trace: SELECT ==> 3 3 [4]> ( select 2 '(1 2 4) ) 1. Trace: (SELECT '2 '(1 2 4)) 2. Trace: (SELECT '1 '(2 4)) 3. Trace: (SELECT '0 '(4)) 3. Trace: SELECT ==> 4 2. Trace: SELECT ==> 4 1. Trace: SELECT ==> 4 4 [5]> ( select 4 '(1 2 3 4 5 6 7 8) ) 1. Trace: (SELECT '4 '(1 2 3 4 5 6 7 8)) 2. Trace: (SELECT '3 '(2 3 4 5 6 7 8)) 3. Trace: (SELECT '2 '(3 4 5 6 7 8)) 4. Trace: (SELECT '1 '(4 5 6 7 8)) 5. Trace: (SELECT '0 '(5 6 7 8)) 5. Trace: SELECT ==> 5 4. Trace: SELECT ==> 5 3. Trace: SELECT ==> 5 2. Trace: SELECT ==> 5 1. Trace: SELECT ==> 5 5 [6]> (untrace select) (SELECT) [7]> (pick '(2 4 6 8 10)) 8 [8]> (pick '(1 2 3 4 5 6)) 2 [9]> (pick '(3)) 3 [10]> (pick '(2 4 6 8 10)) 6 [11]> (pick '(1 2 3 4 5 6)) 1 [12]> (bye) Bye.