В чем разница между defvar, defparameter, setf и setq

Я нашел Похожий вопрос

Но я не совсем понимаю это объяснение.

Итак, я пытаюсь запустить clisp со следующим примером:

  [1]> (defvar a 5)
  A
  [2]> (+ a 1)
  6
  [3]> (defparameter b 5)
  B
  [4]> (+ b 1)
  6
  [5]> (setf c 5)
  5
  [6]> (+ c 1)
  6
  [7]> (setq d 5)
  5
  [8]> (+ d 1)
  6
  [9]> (let ((a 500)) (+ a 1))
  501
  [10]> (let ((b 500)) (+ b 1))
  501
  [11]> (let ((c 500)) (+ c 1))
  501
  [12]> (let ((d 500)) (+ d 1))
  501
  [13]> 

То, что я нашел, полностью совпадает.

Я не могу понять, что в них разного?

41
задан Community 23 May 2017 в 12:02
поделиться