我正在尋找一種簡單的方法來組合具有相同的流和monad,但不同的用戶狀態和結果的ParsecT代碼的兩部分。 基本上這樣的功能將是很好:一種簡單的方法來改變Parsec用戶狀態的類型?
withUserState :: u -> ParsecT s u m a -> ParsecT s v m a
的事情是,用戶狀態,在某些情況下非常有幫助, 但我需要不同的狀態在不同的時間 ,不想讓國家輸入任何更大的。 我是否需要修改狀態以實現此目的, 或者是否已有一個我目前找不到的功能?
編輯:
我覺得一個替代辦法是像
changeUserState :: (u -> v) -> ParsecT s u m a -> ParsecT s v m a
哇 - 這看起來正是我所需要的。另外:很高興知道它可能無論如何:) –