On Sun, Mar 13, 2011 at 11:50 PM, Alexander Burger <a...@software-lab.de> wr= ote: > Hi Ana, > >> thank you for your patience in answering. will study this one piece at >> a time and get back with more questions. :) > > OK, any time :) > > > BTW, we looked at your page http://nybl.info/doku.php?id=3Dpicolisppage > and stumbled across some incorrectnesses in "seven primitive functions > of lisp":
this is sweet! :) thank you. will put the corrections in in a few. > > (quote a) means 'do not evaluate a ' > =C2=A0 In case of PicoLisp, this measn "do not evaluate (a)". If you want= to > =C2=A0 quote the symbol 'a', you must write (quote . a) or 'a > > (eq 'a 'b) checks for equality of the atoms > =C2=A0 'eq' does not exist in PicoLisp. The equivalent function is '=3D= =3D'. > =C2=A0 Both 'eq' in other Lisps, and '=3D=3D' in PicoLisp, do _not_ neces= sarily > =C2=A0 check the equality of atoms, but of any data type. The point is th= at > =C2=A0 the check is for pointer-equivalence (as opposed to '=3D' in PicoL= isp > =C2=A0 (or 'equal' in other Lisps), which checks for structure-equality). > > car and cdr both expect lists > =C2=A0 This is correct for other Lisps. In addition, PicoLisp allows 'car= ' > =C2=A0 to be applied to a symbol. In that case it returns the symbol's > =C2=A0 value. > > (cons x y) expects y to be a list. creates a list out of the two > =C2=A0 'y' does not need to be a list (in any Lisp I know). Both 'x' and = 'y' > =C2=A0 can be arbitrary data, and 'cons' doesn't create a list of them bu= t a > =C2=A0 "cons pair": (cons 3 4) -> (3 . 4) > > (cond (if1 func1)=E2=80=A6) looks for an if_n that's true and gladly exec= utes func_n > =C2=A0 This is correct, but a bit misleading. The body of a 'cond' clause= is > =C2=A0 not a function, but a list of expressions: > =C2=A0 =C2=A0 =C2=A0(cond > =C2=A0 =C2=A0 =C2=A0 =C2=A0 ((condition1) (expr1) (expr2) ...) > =C2=A0 =C2=A0 =C2=A0 =C2=A0 ((condition2) (expr3) (expr4) ...) > =C2=A0 =C2=A0 =C2=A0 =C2=A0 ... ) > > Cheers, > - Alex > -- > UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=3DUnsubscribe > --=20 http://nybl.info -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe