I created a strangely named Elisp module, >.el, just to appease the CI gods. My gut tells me that this is a desperate idea and fails the smell test. I'm pretty eager to pass the linting phase of my Elisp CI, however, and I can always revert this.
		
			
				
	
	
		
			29 lines
		
	
	
	
		
			943 B
		
	
	
	
		
			EmacsLisp
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			943 B
		
	
	
	
		
			EmacsLisp
		
	
	
	
	
	
;;; >.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
 |