Variables in Lisp
(defun main ()
;; In Lisp, variables are typically declared using `let` or `defvar`.
;; Here, we'll use `let` for local variables within our main function.
;; Declare and initialize a variable
(let ((a "initial"))
(format t "~a~%" a))
;; You can declare multiple variables at once
(let ((b 1)
(c 2))
(format t "~a ~a~%" b c))
;; Lisp will infer the type of initialized variables
(let ((d t))
(format t "~a~%" d))
;; Variables declared without initialization are typically nil in Lisp
(let ((e nil))
(format t "~a~%" e))
;; In Lisp, we don't need special syntax for declaration and initialization
;; We can simply use `let` or `setq` for global variables
(let ((f "apple"))
(format t "~a~%" f)))
;; Call the main function
(main)
In Lisp, variables are typically declared using let
for local variables or defvar
for global variables. Unlike some languages, Lisp doesn’t require explicit type declarations, as it’s dynamically typed.
Here’s a breakdown of the concepts:
We use
let
to declare and initialize variables. The syntax is(let ((var1 value1) (var2 value2)) ...)
.Multiple variables can be declared in a single
let
form.Lisp automatically infers the type of initialized variables.
In Lisp, uninitialized variables typically have a value of
nil
, which is equivalent to null or false in other languages.There’s no special shorthand syntax for variable declaration and initialization in Lisp. We simply use
let
orsetq
(for global variables) as needed.
To run this Lisp program, you would typically save it to a file (e.g., variables.lisp
) and then load it into a Lisp interpreter or compile and run it, depending on your Lisp implementation.
For example, using SBCL (Steel Bank Common Lisp):
$ sbcl --script variables.lisp
initial
1 2
T
NIL
apple
This program demonstrates basic variable usage in Lisp, showing declaration, initialization, and printing of various types of variables.