(AND

(KEEP

CALM)

(HACK

LISP))

Dennis Ritchie

John McCarthy

September 9, 1941 - October 12, 2011 

Source

September 4, 1927 - October 24, 2011

Source

Lisp ?

Who cares about lisp ?

Ready ?

Polish notation

"Lots of Irritating Superflous Parenthesis"

(defpackage simple-app
  (:use :cl
        :clack))
(in-package :simple-app)

(defvar *handler*
    (clackup
      #'(lambda (env)
          '(200 (:content-type "text/plain") ("Hello, Clack!")))))

Example !

Demo time !

Variables

Functions

Conditions and predicates

Loops

Lisp stands for LISt Processing

Magic operators

DEFMACRO, MACROEXPAND

(defmacro let1 (var val &body body)
  `(let ((,var ,val))
  ,@body))

The macro

The use

(let1 foo (+ 2 3)
  (princ "Lisp is awesome!")
  (* foo foo))

The expansion

(macroexpand '(let1 foo (+ 2 3)
  (* foo foo)))

Macros

  • 3 steps:
    • write sample call and expansion
    • write generative code
    • prevent leaks
  • plip, plop

Conclusion

Land of lisp

Practical common lisp

Epic books

Epic links

Questions ?

(and (keep calm) (hack lisp))

By Siegfried Ehret

(and (keep calm) (hack lisp))

  • 4,943