Syntax Racket中curry函数的占位符参数?

Syntax Racket中curry函数的占位符参数?,syntax,racket,currying,Syntax,Racket,Currying,我试图在坚持核心标准库的同时做类似的事情 (define (fn m x b) (+ b (* m x))) ((curry fn _ 3 _ ) 2 4) -> (fn 2 3 4) 是否有类似的情况,或者Racket社区是否规定了不同的习惯用法,例如命名参数?有一个标准解决方案,但不在核心库中。只需从以下位置使用cut宏: (需要srfi/26) (定义(fn m x b) (+b(*m x))) ((切割fn 3)2 4) => 10 (fn 2 3 4) => 10 有人可能会

我试图在坚持核心标准库的同时做类似的事情

(define (fn m x b) (+ b (* m x)))

((curry fn _ 3 _ ) 2 4) -> (fn 2 3 4)

是否有类似的情况,或者Racket社区是否规定了不同的习惯用法,例如命名参数?

有一个标准解决方案,但不在核心库中。只需从以下位置使用
cut
宏:

(需要srfi/26)
(定义(fn m x b)
(+b(*m x)))
((切割fn 3)2 4)
=> 10
(fn 2 3 4)
=> 10

有人可能会争辩说,SRFI库是核心库的一部分-它们毕竟是相当标准的,在大多数解释器中都可以使用。它是所包含库的一部分,不太可能会改变,但规范来自Scheme SRFI,因此这是
lang#racket
遵循标准的一部分。
(require srfi/26)

(define (fn m x b)
  (+ b (* m x)))

((cut fn <> 3 <>) 2 4)
=> 10
(fn 2 3 4)
=> 10