Skip to content

Instantly share code, notes, and snippets.

@ytaki0801
Last active December 22, 2021 13:57
Show Gist options
  • Save ytaki0801/31c2fda65535772884afd892b98b7b9c to your computer and use it in GitHub Desktop.
Save ytaki0801/31c2fda65535772884afd892b98b7b9c to your computer and use it in GitHub Desktop.
(cond-expand
(gauche (import (gauche base) (scheme base) (scheme write)))
(guile (import (srfi srfi-1)))
(chibi (import (srfi 1) (scheme small))))
(define (f x y) (list (list (+ (* (caar x) (caar y))
(* (cadar x) (caadr y)))
(+ (* (caar x) (cadar y))
(* (cadar x) (cadadr y))))
(list (+ (* (caadr x) (caar y))
(* (cadadr x) (caadr y)))
(+ (* (caadr x) (cadar y))
(* (cadadr x) (cadadr y))))))
(define ridentity '((1 0) (0 1)))
(display (f '((10 11) (12 13)) ridentity)) (newline)
;; => ((10 11) (12 13))
(display (list
(reduce-right f ridentity '())
(reduce-right f ridentity '(((2 3) (4 5))))
(reduce-right f ridentity '(((2 3) (4 5)) ((6 7) (8 9))))))
(newline)
;; => (((1 0) (0 1)) ((2 3) (4 5)) ((36 41) (64 73)))
@ytaki0801
Copy link
Author

かなり原始的な書き方してるのは気にしないで下さい.他の高階関数にあまり依存したくなかったんですよ…(言い訳).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment