Move move .emacs.d out of configs/shared
Moving all of my Emacs-related files into their own directory at the root of this repository.
This commit is contained in:
parent
3684adf23f
commit
578ed1ba98
190 changed files with 41 additions and 302 deletions
37
emacs/.emacs.d/wpc/polymorphism.el
Normal file
37
emacs/.emacs.d/wpc/polymorphism.el
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
;;; polymorphism.el --- Sketching my ideas for polymorphism in Elisp -*- lexical-binding: t -*-
|
||||
;; Author: William Carroll <wpcarro@gmail.com>
|
||||
|
||||
;;; Commentary:
|
||||
;; Once again: modelled after Elixir.
|
||||
|
||||
;;; Code:
|
||||
|
||||
;; More sketches of Elisp polymorphism initiative.
|
||||
;;
|
||||
;; Two macros:
|
||||
;; - `defprotocol'
|
||||
;; - `definstance'
|
||||
;;
|
||||
;; Is it just a coincidence that these two macros have the same number of
|
||||
;;characters or is that fate? I say fate.
|
||||
;;
|
||||
;; (defprotocol monoid
|
||||
;; :functions (empty concat))
|
||||
;;
|
||||
;; (definstance monoid vector
|
||||
;; :empty
|
||||
;; (lambda () [])
|
||||
;; :concat
|
||||
;; #'vector/concat)
|
||||
;;
|
||||
;; More sketching...
|
||||
;; (defun monoid/empty ()
|
||||
;; "Sketch."
|
||||
;; (funcall #'(,(monoid/classify)/empty)))
|
||||
;; (defun monoid/concat (xs)
|
||||
;; "Sketch."
|
||||
;; (apply #'(,(monoid/classify)/concat) args))
|
||||
|
||||
|
||||
(provide 'polymorphism)
|
||||
;;; polymorphism.el ends here
|
||||
Loading…
Add table
Add a link
Reference in a new issue