The `~>` form provided by the `threading` package is a macro, and it treats
parentheses differently than a normal function would.
What you are looking for is probably the ~> *function*, provided by the
`point-free` package. That has simpler behavior, doing what you expect with
lambdas, curried
Hi, everyone.
I think that racket threading macros can mix with expressions(lambda,
curry, class, ...), but not in fact.
#lang racket
(require threading)
(define (add2 x) (+ x 2))
(~> 1 add2) ; ok
(~> 1 (lambda (x) (+ x 2))) ; ng
(~> 1 (curry + 2)) ; ng
(define adder%
(class object%
2 matches
Mail list logo