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.monad.make.scm | 32 -------------------------------- 1 file changed, 32 deletions(-) delete mode 100644 algebraic-structs.monad.make.scm (limited to 'algebraic-structs.monad.make.scm') diff --git a/algebraic-structs.monad.make.scm b/algebraic-structs.monad.make.scm deleted file mode 100644 index 70ead19..0000000 --- a/algebraic-structs.monad.make.scm +++ /dev/null @@ -1,32 +0,0 @@ -(functor ((algebraic-structs monad make) (M (pure map map2 >>=))) - (pure map map2 >>= do) - (import (rename scheme (map scheme:map) (do scheme:do)) - M) - (import-for-syntax matchable - (chicken syntax) - (only (srfi 1) last)) - - (define-syntax do - (ir-macro-transformer - (lambda (expr inject compare) - (match expr - [(_ body ...) - (foldr (lambda (binding acc) - (match binding - [(var stx expr) - (if (and (symbol? var) - (symbol? stx) - (compare stx '<-)) - `(>>= ,expr (lambda (,var) ,acc)) - `(>>= ,binding (lambda (_) ,acc)))] - [(let-stx var =-stx expr) - (cond ((and (symbol? var) - (symbol? let-stx) (compare let-stx (inject 'let)) - (symbol? =-stx) (compare =-stx (inject '=))) - `((lambda (,var) ,acc) ,expr)) - (else - `(>>= ,binding (lambda (_) ,acc))))] - [expr - `(>>= ,expr (lambda (_) ,acc))])) - (last body) - (butlast body))]))))) -- cgit v1.2.3