This repository was archived by the owner on Aug 30, 2021. It is now read-only.
skeeto/preddThis library provides Clojure-style multimethods for Emacs Lisp, supporting multiple dispatch over an ad hoc type hierarchy.
See also: Clojure-style Multimethods in Emacs Lisp.
;; `vector' is the dispatch function for the multimethod `show' (predd-defmulti show #'vector "Return how an animal should respond when shown another animal.") (predd-defmethod show [:cat :mouse] (a b) :chase) (predd-defmethod show [:cat :dog] (a b) :run) (predd-defmethod show [:dog :cat] (a b) :bark) ;; Call the multimethod on some different types (show :cat :dog) ; => :run (show :cat :mouse) ; => :chase ;; Declare that a tabby is a specific type of cat. (predd-derive :tabby :cat) (show :dog :tabby) ; => :barkAbout
Multimethods for Emacs Lisp
Resources License Stars Watchers ForksYou can’t perform that action at this time.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4