2014-02-06 69 views
29

我只想是否存在「簡單約束」或「對象類」的任何標準實現?

class Trivial t 
instance Trivial t 

當然這是在Haskell 98沒用的,因爲你可以省略約束;但與ConstraintKinds我們可以有明確要求種類* -> Constraint的參數。理想情況下,我想將其定義爲「匿名類型級別函數」\type a ->(),但這顯然不可行。

我應該怎麼做,用的東西預定義或只是定義本地該類權,我需要它(因爲沒有人需要,因爲實例是通用的,這似乎相當確定,以及訪問它)?

+1

你試圖用這個解決什麼問題? –

+1

@WW:現在,['型( - >)= ConstrainedCategory( - >)Trivial'](https://github.com/leftaroundabout/constrained-categories/blob/f2f06b52d0e8cf18cd84d4d9bd0c50247109652d/examples/Invertible.hs# L35)。在那裏,它基本上只是需要避免可選擇的可逆函數類型的non-endo-functor實例的衝突MPTC-FunDep,但是我打算更加通用地使用它。 – leftaroundabout

+0

我相信'():: Constraint'是一個簡單的約束。 –

回答

2

至於這似乎是很受歡迎的,我好不容易擠到這種小事約束類to a Hackage package

import Data.Constraint.Trivial 

id' :: Unconstrained t => t -> t 
id' = id 
相關問題