Lisp Scheme Part27at TECH
Lisp Scheme Part27 - 暇つぶし2ch239:デフォルトの名無しさん
09/08/08 14:55:08
R6RS でも書いてみた。

(import (rnrs)
(only (srfi :1) take list-index filter-map)
(only (srfi :26) cut))

(define-syntax curry
(lambda(x)
(define (e a)
(define s '(<1> <2> <3> <4> <5> <6> <7> <8> <9>))
(take s (+ 1 (apply max -1
(filter-map
(lambda(p)(list-index (cut eq? p <>) s))
(syntax->datum a))))))
(syntax-case x ()
((k t a ...)
(with-syntax
(((p ...) (datum->syntax #'k (e #'(a ...)))))
#`(lambda (p ... . r)
#,(syntax-case #'(a ...) (<...>)
((a ... <...>) #'(apply t a ... r))
(_ #'(t a ...)))))))))


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch