(vychádza z prednášky
Funkcionálne programovanie, Ivan Kalaš)
Petrovič Pavol, Ústav Informatiky, č.d. 15
e-mail: ppetrovi@www.ii.fmph.uniba.sk
www k prednáške: http://dent.ii.fmph.uniba.sk/vyuka/lisp
7.prednáška
interface
funkcie
[] (define a1 '(a b)) a1 [] (define a2 (cons 'c a1)) a2 [] (define a3 '(e f)) a3
[] (set-car! a2 a3)
[] (set-car! a1 'd)
[] (define x (cons 1 2)) x
[] (define y (cons x x)) y
0 [] (set-car! (cdr y) 3)
Poznámka: Telo funkcie set-car! sa vyhodnotí v prostredí env3!
eq?, memq vs. equal?, member
let*
(let* ((<var1> <exp1>) ... (<varn> <expn>)) <body>)
(let* ((<var1> <exp1>) (<var2> <exp2>) ................................... (<varn> <expn>)) <body>) |
= | (let ((<var1> <exp1>)) (let ((<var2> <exp2>)) ................................... (let ((<varn> <expn>)) <body>) |
let* umožňuje v S-výraze <expi> využiť (už zadefinované) premenné var1 ... var(i-1)
Last Updated on 09-Nov-2000
By Petrovic Pavol
E-mail: ppetrovi@dent.ii.fmph.uniba.sk