Ich habe eine Haskell-Funktion, die die Größe der Liste der endlichen Ints berechnet. Ich brauche den Ausgabetyp eine Integer zu sein, weil der Wert tatsächlich größer sein wird als die maximal Int gebunden (das Ergebnis wird -1 sein um genau zu sein, wenn der Ausgabetyp ein Int)Haskell Error: Der erwartete Typ `Integer 'konnte nicht mit dem abgeleiteten Typ' Int 'verglichen werden.
size :: a -> Integer
size a = (maxBound::Int) - (minBound::Int)
ich das verstehen Unterschied zwischen Ints (beschränkt) und Integers (unbegrenzt), aber ich möchte eine Integer aus einem Int machen. Ich habe mich gefragt, ob es eine Funktion wie fromInteger gibt, mit der ich einen Int-Typ in einen Integer-Typ umwandeln kann.
Sie haben 'a' nicht verwendet. – kennytm
(in re. @dons letzte Frage :) Von "Größe der Liste der endlichen Intents" meinst du, die Anzahl Elemente, die in einer Liste mit allen möglichen Ints wäre? – MtnViewMark
@KennyTM, Ja, ich weiß :) Die Size-Funktion ist eine Eigenschaft einer Type-Klasse Finite, die für separate SubTypes (Int, Endprodukt usw.) überladen ist, so dass 'a' verwendet wird, um die zu verwendende Überlast – Fry