From 552cd6c999f3e44b13be88e45c4a8cb391eb40cf Mon Sep 17 00:00:00 2001 From: Masaya Tojo Date: Tue, 11 Jun 2024 02:10:37 +0900 Subject: Rename filename from `algebraic-structs` to `algebraic-structures` --- algebraic-structs.foldable.make.scm | 39 ------------------------------------- 1 file changed, 39 deletions(-) delete mode 100644 algebraic-structs.foldable.make.scm (limited to 'algebraic-structs.foldable.make.scm') diff --git a/algebraic-structs.foldable.make.scm b/algebraic-structs.foldable.make.scm deleted file mode 100644 index 46b4dd5..0000000 --- a/algebraic-structs.foldable.make.scm +++ /dev/null @@ -1,39 +0,0 @@ -(functor ((algebraic-structs foldable make) (F (foldl foldr))) - (foldl foldr length find any every ->list) - (import (except scheme length) F - (only (chicken base) add1 call/cc)) - - (define (length xs) - (foldl (lambda (acc _) (add1 acc)) - 0 - xs)) - - (define (find p? xs) - (call/cc - (lambda (k) - (foldl (lambda (acc e) - (if (p? e) - (k e) - acc)) - #f - xs)))) - - (define (any pred xs) - (call/cc - (lambda (return) - (foldl (lambda (acc e) - (cond ((pred e) => return) - (else acc))) - #f - xs)))) - - (define (every pred xs) - (call/cc - (lambda (return) - (foldl (lambda (acc e) - (or (pred e) (return #f))) - #t - xs)))) - - (define (->list xs) - (foldr cons '() xs))) -- cgit v1.2.3