defmacro in the coalton package is a compatibility alias for define-expression-macro.

Syntax

(defmacro name lambda-list
  body ...)

Semantics

  • It defines a Coalton expression macro.
  • New code should prefer define-expression-macro.
  • Use cl:defmacro for ordinary Lisp macros, including macros that are meant to be called bare and expand into a complete (coalton-toplevel ...) form.

Example

(defmacro if-some ((name expr) then else)
  `(match ,expr
     ((Some ,name) ,then)
     ((None) ,else)))