Lisp Flashcards Preview

IA01 > Lisp > Flashcards

Flashcards in Lisp Deck (38)
Loading flashcards...
1

(cons x y)

Ajoute x dans la liste y (non destructif)
> (cons 'a '(b c))
> (a b c)

2

(push x y)

Ajoute x dans la liste y (destructif)
> (push 'a '(b c))
> (a b c)

3

(pushnew x y)

Ajoute x dans la liste y s'il n'y est pas déjà (destructif)
> (pushnew 'a '(b c))
> (a b c)

4

(symbol-value x)

valeur d'un symbol (pas nombre)

5

(last x)

Retourne une liste contenant le dernier élément de x

6

(append x y)

concatène deux listes (non destructif)

7

(member x y)

Vérifie si un élément fait partie d'une liste, si oui liste à partir de la première occurrence, nil sinon
/!\ Ajouter :test 'equal si l'élément recherché n'est pas un atome !

8

(length x)

Retourne le nombre d'éléments de la liste

9

(nconc x y)

concatène deux listes (destructif, x modifiée)

10

(eq x y)

Egalité des pointeurs

11

(equal x y)

Egalité aux feuilles de l'objet référencé

12

(= x y)

Egalité des nombres

13

Prédicats

NUMBERP LISTP FLOATP INTEGERP NULL SYMBOLP STRINGP ATOM

14

fonction anonyme

((lambda (xx) (list xx xx)) 'a)

15

fonction apply

(apply ff 2 3 ())
fonction puis arguments, dernier = liste dont chaque element est un argument

16

fonction funcall

(funcall ff 2 3)
fonction puis arguments

17

variable étendue aux sous fonctions

(declare (special x))

18

variable locale

(let(*) ((var val) (var val))

)

19

variable globale

(defvar var init)
(defparameter var new)

20

bloc

(progn )
(prog1 ) retourne la valeur de la première expression évaluée

21

switch

(cond
( )
( )
)

22

when

(when p a) = (unless (not p) a)

23

loop

(loop for x in list do )
(loop for x from 1 to 100 [until ] do )
collect/count/sum... sans parenthèses !
ex : (loop for x in liste sum x)

24

dolist

(dolist (var list [result])

)

25

dotimes

(dotimes (var count [result])

)
de 0 inclus à count exclus

26

do

(do(*) ((var init step)) (testfin)

)

27

mapcar

fonction appliquée successivement au car de chaque liste
(mapcar #'(lambda (l) (+ (car l) (cadr l))) '((3 7)(2 3)(2 9)(5 3)))
mapc retourne seulement la premiere liste, mapcan fait nconc à la place de list

28

maplist

fonction appliquée successivement au cdr de chaque liste, mapl retourne seulement la premiere liste, mapcon fait nconc à la place de list

29

générer index

(gentemp "N")

30

(assoc x l)

Retourne la liste dans l qui commence par x
/!\ Ajouter :test 'equal si l'élément recherché n'est pas un atome !