関数はどこにありfromRealFrac
ますか? 穏やかなイントロによると、関数は存在するはずであり、少しグーグルで調べてみると、それはプレリュードにあるはずだと思いますが、ghciはそれが範囲外であると不平を言っています。
優しいイントロがそう定義されているfromRational . toRational
ように、とりあえず使っています。fromRealFrac
以前は「fromRealFrac」と呼ばれていた関数は、Haskell 98 レポートで「realToFrac」に名前が変更されました。
fromRealFrac :: (RealFrac a, Fractional b) => a -> b
fromRealFrac = fromRational . toRational
ただし、Haskell 98では、次のように知られています。
realToFrac :: (Real a, Fractional b) => a -> b
realToFrac = fromRational . toRational
この変更はHaskell 98 Report Errataに記載されています。
[Apr 2001] Page 84, Section 6.4, Fig 7; and bottom of page 86, Section 6.4.6.
fromRealFrac :: (RealFrac a, Fractional b) => a -> b
should be replaced by
realToFrac :: (Real a, Fractional b) => a -> b
私が見つけた最も近いコミットは、レポート リポジトリにあるものです。
この関数は GHC Prelude で呼び出されrealToFrac
ているようです。
Hoogleによると、標準ライブラリには名前が付けられた関数fromRealFrac
はありません。優しいイントロの作者が自作した機能なのかな?リンクを見た後、彼らは確かにそれがどこかの図書館にあることを示唆しています...私も混乱しています.