]> git.vouivredigital.com Git - vouivre.git/commitdiff
Define `flip' and `char=?'
authoradmin <admin@vouivredigital.com>
Fri, 29 Sep 2023 11:56:32 +0000 (20:56 +0900)
committeradmin <admin@vouivredigital.com>
Fri, 29 Sep 2023 11:56:32 +0000 (20:56 +0900)
base.scm

index a2aef3d462832a4c7095d1cc4de8dc45e0f23cd2..d13cb8508df9db082afb41071e9d450cc722f87b 100644 (file)
--- a/base.scm
+++ b/base.scm
@@ -1,10 +1,12 @@
-(define-module (vdc base)
+(define-module (vouivre base)
   #:use-module ((guile) #:select (1+) #:prefix guile:)
   #:use-module ((rnrs base) #:prefix rnrs:)
   #:use-module ((srfi srfi-1) #:prefix srfi-1:)
-  #:use-module (vdc curry)
+  #:use-module (vouivre curry)
   #:export
-  (∘)
+  (∘
+   ⊙
+   flip)
   #:replace
   (boolean?
    not
    reduce-right
    map
    1+
-   identity
-   )
-  )
+   identity))
 
 ;; abbreviation
 (define-syntax cudefine (identifier-syntax curried-untyped-define))
 (∷ char? (0 . 0))
 (cudefine (char? x) (rnrs:char? x))
 
+(∷ char=? (0 . (0 . 0)))
+(cudefine (char=? x y) (rnrs:char=? x y))
+
 (∷ char<? (0 . (0 . 0)))
 (cudefine (char<? x y) (rnrs:char<? x y))
 
 (definec (identity x) x)
 (definec (∘ g f) (λc x (g (f x))))
 (definec (⊙ f g) (∘ g f))
+(definec (flip f) (λc y (λc x (f x y))))