about summary refs log tree commit diff
path: root/emacs/.emacs.d/wpc/>.el
blob: 68d8576b80791f01a7326e11d511863429a7869f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
;;; >.el --- Small utility functions -*- lexical-binding: t -*-

;; Author: William Carroll <wpcarro@gmail.com>
;; Version: 0.0.1
;; URL: https://git.wpcarro.dev/wpcarro/briefcase
;; Package-Requires: ((emacs "24"))

;;; Commentary:
;; Originally I stored the `>>` macro in macros.el, but after setting up linting
;; for my Elisp in CI, `>>` failed because it didn't have the `macros-`
;; namespace.  I created this module to establish a `>-` namespace under which I
;; can store some utilities that would be best kept without a cumbersome
;; namespace.

;;; Code:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Library
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(defmacro >-> (&rest forms)
  "Compose a new, point-free function by composing FORMS together."
  (let ((sym (gensym)))
    `(lambda (,sym)
       (->> ,sym ,@forms))))


(provide '>)
;;; >.el ends here