That is, a form that evaluates child forms in order and returns the last evaluated value,e.g.
(do (println "Hello World") 3) => 3
Since Clojure is a Lisp-1, (global) functions can be dynamically rebound (if they are marked as dynamic).
Clojure is a member of the Lisp family of languages. Many of the features of Lisp have made it into other languages, but Lisp's approach to code-as-data and its macro system still set it apart. Clojure extends the code-as-data system beyond parenthesized lists (s-expressions) to vectors and maps.
Common lisp comparatively faster than Clojure as it uses compilers like SBCL which makes common lisp faster than C programming or any other low-level programming language and it also provides a variety of different libraries for different concepts that can be included in the program for easy execution.
Clojure is a Lisp-1 and is not intended to be code-compatible with other dialects of Lisp, since it uses its own set of data structures incompatible with other Lisps. As a Lisp dialect, Clojure supports functions as first-class objects, a read–eval–print loop (REPL), and a macro system.
It's called progn
.
Special Operator PROGN
Syntax:
progn form* ⇒ result*
Description:
progn evaluates forms, in the order in which they are given.
The values of each form but the last are discarded.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With