;; Conditional
(if #t 1 2)
(cond
  [(= 1 2 3) #f]
  [(= 1 1 1) #t]
  [`otherwise 1234]
  )

;; Loops
(while #f
  1
  2
  3)
(loop
  1
  2
  3
  (break))

;; Functions
(defun a (x y z w) 1 2 3 x)
(lambda (x y z w) 1 2 3 x)

;; Macros
(defmacro my-quote (x) `(quote ,x))
(print (my-quote (a b c)))

;; vectors
#[1 2 3]

; alternate syntax for lists
[] () nil NIL

;; progn
(progn
  1
  2
  3)

;; setq
(setq glob-value "my-global")

;; let
(let
  (x 1 y 2)
  x
  )

(let* (x 1 y x) y)

;; Quoting
`(ok ,glob-value)
