這是一個問題的修改的只是問一些分鐘前組件的元組 - 但這種情況下我的問題......如何使屬於一個類型的類的實例II
我有以下問題:我定義了一個類型類,並且想把這個類的元組聲明爲實例。但我不知道如何讓GHC接受這個聲明。這裏一個很簡單的例子:
class Test x a where
elm :: a
而且知道元組我想要做這樣的事情
instance (Test x a, Test x b) => Test x (a,b) where
elm = (elm, elm)
此外,我使用
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FlexibleInstances #-}
添加型x
這裏引起的麻煩... 這是如何做到的?在此先感謝您的任何建議!
它不能。如果我調用'elm :: Int',則無法知道它是否應該使用'instance Test Int Int'與'instance Test()Int'相比'instance Test FooType Int'。也許你應該提高抽象水平並詢問導致你走上這條道路的問題。 –
這是一個壞消息......'elm'應該只提供這兩種類型中的一種的特殊元素。例如。 '實例測試一個Int其中elm = 0' ... – dmw64