Rich Hickey's Strange Loop transducers presentation cho chúng tôi biết rằng có hai triển khai map
trong Clojure 1.6, một cho các chuỗi trong clojure.core
và một cho các kênh trong core.async
.Core.async có thể thực hiện các chức năng của nó theo trình tự không?
Bây giờ chúng ta biết rằng trong 1,7 chúng tôi có đầu dò, mà một hàm foldr
(reduce
) được trả về từ chức năng bậc cao như map
và filter
khi đưa ra một chức năng nhưng không phải là một bộ sưu tập.
Điều tôi đang cố gắng nói rõ và thất bại, là lý do tại sao các hàm core.async
không thể trả về một chuỗi hoặc là Seq
giống. Tôi có cảm giác rằng 'giao diện' (giao thức) là khác nhau nhưng tôi không thể thấy như thế nào.
Chắc chắn nếu bạn đang lấy vật phẩm đầu tiên ra khỏi kênh thì bạn có thể thể hiện điều đó khi lấy vật phẩm đầu tiên ra khỏi một chuỗi?
Câu hỏi của tôi là: Có thể core.async
đã triển khai các chức năng của nó theo trình tự không?