packages feed

snail-0.1.0.0: test/files/learnxyz.cl

(defun meaning (life)
  "Return the computed meaning of LIFE"
  (let ((meh "abc"))
    -- Invoke krakaboom
    (loop :for x :across meh
       :collect x)))

(+ 1 1)                -- => 2
(- 8 1)                -- => 7
(* 10 2)               -- => 20
(expt 2 3)             -- => 8
(mod 5 2)              -- => 1
(/ 35 5)               -- => 7
(/ 1 3)                -- => 1/3
(+ (1 2) (6 -4))

(defstruct dog name breed age)
(defparameter *rover*
    (make-dog :name "rover"
              :breed "collie"
              :age 5))

(cons 'SUBJECT 'VERB)         -- => (SUBJECT . VERB)
(car (cons 'SUBJECT 'VERB))   -- => SUBJECT
(cdr (cons 'SUBJECT 'VERB))

(mapcar #'1+ (1 2 3))             -- => (2 3 4)
(mapcar #'+ (1 2 3) (10 20 30))  -- => (11 22 33)
(remove-if-not #'evenp (1 2 3 4)) -- => (2 4)
(every #'evenp (1 2 3 4))         -- => NIL
(some #'oddp (1 2 3 4))           -- => T
(butlast (subject verb object))

(defparameter *adjvec* (make-array (3) :initial-contents (1 2 3)
                                   :adjustable t :fill-pointer t))

(set-difference (1 2 3 4) (4 5 6 7))   -- => (3 2 1)
(intersection (1 2 3 4) (4 5 6 7))     -- => 4
(union (1 2 3 4) (4 5 6 7))            -- => (3 2 1 4 5 6 7)
(adjoin 4 (1 2 3 4))

(multiple-value-bind (x y)
    (values 1 2)
  (list y x))

(multiple-value-bind (a b)
    (gethash 'd *m*)
  (list a b))

(multiple-value-bind (a b)
    (gethash 'a *m*)
  (list a b))

(funcall (lambda () "Hello World"))   -- => "Hello World"
(funcall #'+ 1 2 3)

(defun hello (name) (format nil "Hello, ~A" name))
(hello "Steve")

(defun generalized-greeter (name &key (from "the world") (honorific "Mx"))
  (format t "Hello, ~A ~A, from ~A" honorific name from))

(equal (list 'a 'b) (list 'a 'b)) -- => T
(equal (list 'a 'b) (list 'b 'a))

(cond ((> 2 2) (error "wrong!"))
      ((< 2 2) (error "wrong again!"))
      (t 'ok))

(defun fact (n)
  (if (< n 2)
      1
    (* n (fact(- n 1)))))


(defun fact (n)
  (loop :for result = 1 :then (* result i)
     :for i :from 2 :to n
     :finally (return result)))

(fact 5)

(loop :for x :across "abcd" :collect x)

(dolist (i (1 2 3 4))
  (format t "~A" i))

(defclass human-powered-conveyance ()
  ((velocity
    :accessor velocity
    :initarg :velocity)
   (average-efficiency
    :accessor average-efficiency
   :initarg :average-efficiency))
  (:documentation "A human powered conveyance"))

(defclass bicycle (human-powered-conveyance)
  ((wheel-size
    :accessor wheel-size
    :initarg :wheel-size
    :documentation "Diameter of the wheel.")
   (height
    :accessor height
    :initarg :height)))

(defclass recumbent (bicycle)
  ((chain-type
    :accessor chain-type
    :initarg :chain-type)))

(defclass unicycle (human-powered-conveyance) nil)

(defclass canoe (human-powered-conveyance)
  ((number-of-rowers
    :accessor number-of-rowers
    :initarg :number-of-rowers)))

(defmacro while (condition &body body)
    "While `condition` is true, `body` is executed.
`condition` is tested prior to each execution of `body`"
    (let ((block-name (gensym)) (done (gensym)))
        (tagbody
           ,block-name
           (unless ,condition
               (go ,done))
           (progn
           ,@body)
           (go ,block-name)
           ,done)))