Tanımı Haskell koduyla çalışırken, çoğu zaman bir tür ek açıklama ve undefined
ile biter.Tür düzeyinde
foo :: String -> Int
foo = undefined
tip düzey ben benzer şekilde kullanabileceği "tanımsız" var mıdır?
(İdeal olarak, bir tür ek açıklama ile birlikte) aynı iş parçacığı üzerinde
type Foo :: * -> *
type Foo = Undefined
Daha düşüncenin: Beni bu şekilde oluşturulan türleri için örneklerini dışarı typeclass saplama için bir yol var? Aşağıdaki teorik yoldan daha kolay bir yol?
instance Monad Foo where
return = undefined
(>>=) = undefined
Güzel! Tam olarak aradığım şey; Daha da kullanışlı, çünkü "Foo = Undefined'" yazmanız gerekmiyor! Ve nazik imzalar! Muhteşem sos. –
Sanırım bir tür takma adla aynı değil - yeni bir Veri eklediğinizde, Foo a = a'nın şansı yoktur. Yani, sorunun koduyla aynı değil, bu da iyi olabilir. – gatoatigrado
@gatoatigrado: Gereksinimin, yazılacak bir tür için sadece bir yer tutucu olduğunu düşünüyorum, bir tür takma ad değil, o zaman bu uygun bir çözümdür. Her neyse, sana yardım etmekten memnun oldum Dan! – danr