dry-python / dry-python/returns

Consider adding LazyIO and friends

Đang mở
#525 4 bình luận 0 reaction 0 người được giao Xem trên GitHub
enhancement
Ngôn ngữ chính
Python
Star
4.4k
Fork
155
Merge trung bình
2 giờ 27 phút
Pull request đã merge (30 ngày)
22

Mô tả

The thing about `IO` in multiple languages / libraries is that it is lazy.

Our `IO` is not lazy by design. It is done, so Python developers can use it like so: `impure(print)(1) # prints "1"`
But, we also need to think about other problems as well:
1. Retries, with proper lazy `IO` one can retry an operation as many times as one wishes: `p = impure_lazy(print)(1); p(); p() # prints "1" twice`
2. Semantical identity to `Future`, currently it is not similar to regular `IO`, because `Future`s are lazy: they don't run until they are executed properly
3. New users will find the similar data-type they already know from other languages / libraries

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.