Ist es möglich, die folgenden zwei Funktionen in Haskell zu einer polymorphen Funktion zu kombinieren?Wie konvertiert man (Num a) => a in Haskell?
mutiplyByTwoI :: Int -> Float
mutiplyByTwoI x = fromIntegral x * 2.0
mutiplyByTwoF :: Float -> Float
mutiplyByTwoF x = x * 2.0
Ich versuchte Num a
, aber ich konnte nicht einen Weg zu konvertieren Num a
zu Float finden.
mutiplyByTwo :: (Num a) => a -> Float
mutiplyByTwo = undefined
Sie können 'fromIntegral' versuchen, aber es fügt eine zusätzliche Einschränkung von' Integral' hinzu – pdexter
@pdexter Aber Float ist keine Instanz von Integral. –
Können Sie Ihre Frage anders formulieren? Das Thema sagt "How to Convert (Num a) => a zu Float", aber Ihre Frage fragt, wie man eine generische Funktion schreibt, um Num um 2 zu multiplizieren. Was genau wollen Sie tun? – pdexter