Các IO
đơn nguyên trong Haskell thường được giải thích là một đơn vị nhà nước trong đó nhà nước là thế giới. Vì vậy, một giá trị của loại IO a
đơn nguyên được xem như một cái gì đó như thế worldState -> (a, worldState)
.
Cách đây một thời gian, tôi đã đọc một bài viết (hoặc một bài đăng danh sách blog / thư) đã chỉ trích quan điểm này và đưa ra một số lý do tại sao nó không đúng. Nhưng tôi không thể nhớ cả bài báo lẫn lý do. Có ai biết không?
Chỉnh sửa: Bài viết dường như bị mất, vì vậy hãy bắt đầu thu thập các đối số khác nhau ở đây. Tôi đang bắt đầu một tiền thưởng để làm cho mọi thứ thú vị hơn.
Chỉnh sửa: Bài báo tôi đang tìm kiếm là Giải quyết đội hình vụng về: đầu vào / đầu ra đơn điệu, đồng thời, ngoại lệ và các cuộc gọi bằng tiếng nước ngoài trong Haskell của Simon Peyton Jones. (Cảm ơn câu trả lời của TacTics.)