Nếu tôi có chức năng f :: State Int()
, bạn có thể sử dụng nó trong một chức năng khác g :: StateT Int IO()
không? Làm tổ nó với f = do { something; g }
không thể đánh máy với Couldn't match type 'Data.Functor.Identity.Identity' with 'IO'
.Kết hợp StateT IO với Tiểu bang
Trả lời
Có, thao tác này thường được gọi là "cẩu". Chỉ cần xác định và sử dụng chức năng sau:
hoistState :: Monad m => State s a -> StateT s m a
hoistState = StateT . (return .) . runState
Thật không may, nó không được định nghĩa trong mô-đun Control.Monad.State
.
Tuyệt vời, cảm ơn! – Fraser
Xem thêm [hướng dẫn cho gói 'mmorph'] (http://hackage.haskell.org/packages/archive/mmorph/1.0.0/doc/html/Control-Monad-Morph.html#g:4) –
@GabrielGonzalez Có vẻ như có một loại lớp cho biến thế đơn nguyên với 'hoistId :: (Monad m) => t Nhận diện a -> tma' sẽ là một bổ sung hữu ích (Haskell98) cho các thư viện cơ sở. Nó chỉ là một phiên bản đặc biệt của 'MFunctor' cho hàm trả về của hàm functor. runIdentity'. –
- 1. Kết hợp nhiều tiểu bang trong StateT
- 2. Gọi lại FFI Haskell với Tiểu bang
- 3. tiểu bang chuỗi java
- 4. Haskell và Tiểu bang
- 5. Làm cách nào để kết hợp CheckingFuelMonad với một đơn vị Tiểu bang trong Hoopl?
- 6. Animate chuyển selector/tiểu bang
- 7. Đơn vị tiểu bang và learnyouahaskell.com
- 8. Ngoại lệ tiểu bang đã lưu
- 9. (động) Nhiều tiểu bang/thành phố spinners
- 10. Quốc gia, Tiểu bang, Tỉnh WebService?
- 11. Delphi - Có cách nào tốt hơn để lấy từ viết tắt của tiểu bang từ tên tiểu bang
- 12. Ruby on Rails Quốc gia/Tiểu bang Chọn Enigma
- 13. Làm cách nào để thực thi một đơn vị StateT cùng với IO?
- 14. tạo một choropleth trong R: hợp nhất shapefile mã zip từ nhiều tiểu bang
- 15. Công ước đặt tên cho Tiểu bang/Vùng/Tỉnh
- 16. ToggleButton không hiển thị bất cứ tiểu bang
- 17. API để nhận quốc gia, tiểu bang và thành phố
- 18. Vĩ độ Kinh độ Tọa độ với Mã Tiểu bang trong R
- 19. Có Util để chuyển đổi Tên Tiểu bang Hoa Kỳ thành Mã Tiểu bang hay không. ví dụ. Arizona đến AZ?
- 20. Tài liệu STArray cho người mới và các câu hỏi liên quan đến tiểu bang/ST
- 21. Lỗi 18456. Tiểu bang 6 "Đang cố gắng sử dụng tên tài khoản NT với Xác thực Máy chủ SQL."
- 22. Lỗi phiên JSF và Tiết kiệm một phần của tiểu bang
- 23. Lấy danh sách các tiểu bang/sự kiện từ một mô hình mà AASM
- 24. Phân tích thành phố/tiểu bang từ yêu cầu của Google Maps
- 25. Dữ liệu lớp phủ iOS (MKPolygon) cho tất cả các tiểu bang của Hoa Kỳ?
- 26. Làm cách nào để tránh lặp lại chính mình ở các tiểu bang Salt?
- 27. Phạm vi được đặt tên cho các tiểu bang trong state_machine
- 28. Máy chủ SQL - kéo X bản ghi ngẫu nhiên trên mỗi tiểu bang
- 29. Danh sách/Cơ sở dữ liệu của các thành phố và tiểu bang của Hoa Kỳ
- 30. Sử dụng Game Center để lưu/chia sẻ dữ liệu trò chơi/tiểu bang
Không nên có 'g = do {điều gì đó; f} '? Bạn muốn sử dụng f trong g, phải không? – gumik