0
我一直在嘗試在Agda中對Monad類型類進行編碼。我已經得到了這麼多:爲什麼Monad的排序是Set1?
module Monad where
record Monad (M : Set → Set) : Set1 where
field
return : {A : Set} → A → M A
_⟫=_ : {A B : Set} → M A → (A → M B) → M B
所以Monad的「實例」實際上只是一個函數的記錄傳遞。問題:爲什麼Monad
的排序爲Set1
?註解它Set
提供了以下錯誤:
The type of the constructor does not fit in the sort of the
datatype, since Set₁ is not less or equal than Set
when checking the definition of Monad
想到了什麼過程我應該要通過確定Monad
是Set1
而非Set
?