> > It just names the threaded value. Did I overlook anything?
That's right, nothing fancy. Think let-binding the threaded value at that point. #:with id ~ would achieve the same thing, so as it is now #:as is redundant. With #:do both #:with and #:as are redundant, really. > Let me point out that if ~> specified an identifier (as suggested in my > first response) you could co-mingle two threaded computations, keeping > separate concerns that don’t matter as opposed to bundling them up in > structs or lists or whatever you have to do if you have only one. At first > I thought #:as would you let you do so, but that’s not correct. Ok, this one I don't quite understand. My first thought went as far as to weave multiple computations where each #:as would capture continuations and macro would keep these "threads" separate, but now I'm thinking you mean this: (~> 1 #:as ~a ;; now ~a is being threaded (add1 ~a) ;=> 2 2 #:as ~b ;; now ~b is being threaded (add1 ~b) ;=> 3 ;; simply use whatever ~a was last (+ ~a ~b) ;=> 5 #:as ~a ;; continue to thread ~a (add1 ~a) ;=> 3 (list ~a ~b)) ;; => (list 3 5) but then I think you can achieve this with current #:as semantics since a clause without a hole simply starts computation from that clause yet preserves any #:as bound vars in scope, so I'm guessing I'm way off. Could you expand please? -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/ad4b7d46-5b3f-42b4-b50d-019c786de63e%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.