[英]Wadler's paper: How is a tuple a function?
在閱讀Wadler的原始論文Monads for Functional Programming (1992)時,我覺得好像我已經得到它了, 但是 ,在狀態處理程序的非monadic描述中,他展示了狀態的原始monadic描述:
type M a = State -> (a, State)
eval :: Term -> M Int
eval (Con a) x = (a, x)
它再次停止了。 我怎么讀這個? 據我所知,這表示eval接受一個int和一個狀態並返回一個接受狀態並返回一對新函數的函數(Int,State)
但是......(a,x),如果我正在讀這個權利是一個值和一個狀態的元組,它是一個 “接受一個狀態並返回一個新對的函數(Int,State) “?
展開類型同義詞: Term -> M Int
等效於Term -> State -> (Int, State)
。
或者,將函數定義視為eval (Con a) = \\x -> (a, x)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.