From 782c667e824d426b5443591afeefc37d0ae17785 Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Tue, 26 Mar 2024 23:34:28 -0400 Subject: We streamed for 9 hours and (mostly) fixed everything. --- src/contrib/prod-bless-srfi.el | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/contrib/prod-bless-srfi.el (limited to 'src/contrib/prod-bless-srfi.el') diff --git a/src/contrib/prod-bless-srfi.el b/src/contrib/prod-bless-srfi.el new file mode 100644 index 00000000..7511eb5f --- /dev/null +++ b/src/contrib/prod-bless-srfi.el @@ -0,0 +1,29 @@ +;;; prod-bless-sfri --- Super Required Free Ideas -*- lexical-binding: t; -*- +;;; Commentary: +;;; Code: + +(require 'fig-bless) +(require 'dash) +(require 's) + +(defvar prod-bless-sfri + (list + ; irreplacable (within reasonable fuel) functions + (cons 'reverse (fig//bless-helper-unary 'reverse)) + (cons 'concat (fig//bless-helper-binary (lambda (a b) (concat a b)))) + (cons 'substring (lambda (s) (fig//bless-manage-fuel) (cons (substring (nth 2 s) (cadr s) (car s)) (nthcdr 3 s)))) + (cons 'contains (fig//bless-helper-binary (lambda (a b) (s-contains? b a)))) ; car needle, cadr haystack + (cons 'number (fig//bless-helper-unary 'string-to-number)) + (cons 'string (fig//bless-helper-unary 'number-to-string)) + (cons 'random (fig//bless-helper-unary 'random)) + ; semi-replacable functions + (cons 'length (fig//bless-helper-unary 'length)) + (cons 'bundle (lambda (s) (fig//bless-manage-fuel) (cons (-take (car s) (-drop 1 s)) (-drop (+ (car s) 1) s)))) + (cons 'split (fig//bless-helper-binary (lambda (a b) (s-split b a)))) + (cons 'join (fig//bless-helper-binary (lambda (a b) (s-join b a)))) + (cons 'filter (fig//bless-helper-binary (lambda (a b) (-filter b a)))) + (cons 'any (fig//bless-helper-binary (lambda (a b) (-any? b a)))) + (cons 'all (fig//bless-helper-binary (lambda (a b) (-all? b a)))) + ; replacable (but forthy) functions + (cons 'rot (lambda (s) (fig//bless-manage-fuel) (cons (-last-item s) (-butlast s)))) + (cons 'over (lambda (s) (fig//bless-manage-fuel) (cons (cadr s) s))))) \ No newline at end of file -- cgit v1.2.3