defvariant

2014-07-13

Variants in Common Lisp.

Upstream URL

github.com/fredokun/defvariant

Author

Frederic Peschanski (format nil "<frederic~Apeschanski~Awork~Agmail~Acom>" "." "." "@" ".")

License

BSD 2-Clause. See LICENSE.
README

defvariant

Variants for Common Lisp (for ML nostalgics ?)

(defpackage :try-defvariant
  (:use :cl :defvariant))

(in-package :try-defvariant)

(defvariant btree
   (leaf)
   (node val left right))

=> MATCH-BTREE

(let ((my-tree
        (make-btree-node :val 42 
                         :left (make-btree-leaf) 
                         :right (make-btree-leaf))))
  (match-btree my-tree
        (leaf _ "leaf !")
        (node (v _ _) v)))

=> 42


See. defvariant.md for the whole story.

Dependencies (0)

    Dependents (0)

      • GitHub
      • Quicklisp