W tej deklaracjiHaskell - określenie rodzaju w deklaracji danych
data Const a = Const Integer
Haskell wnioskuje, że Const
jest * -> *
. Czy można zamiast tego zrobić konstruktor typu, więc będzie to (* -> *) -> *
? Idealnie powinno być a -> *
, ale nie ma rodzajów polimorficznych. This thread pokazuje jedno rozwiązanie - dodanie nieużywanego konstruktora. Czy sytuacja zmieniła się od 2002 roku?