[過去ログ]
関数型プログラミング言語Haskell Part33 (1002レス)
関数型プログラミング言語Haskell Part33 http://mevius.5ch.net/test/read.cgi/tech/1581326256/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
449: デフォルトの名無しさん [sage] 2020/08/30(日) 14:19:38.49 ID:ubwYKL6u >>446 自己レスです もしかしてこの型制限ですかね? RealFloat a => Num (Complex a) Complex a型がNumクラスに入れるのはaがRealFloat型の時しかダメだからでしょうか? この制限はなんでこんなにキツイんだろ 足したり引いたりしたいだけなのに http://mevius.5ch.net/test/read.cgi/tech/1581326256/449
450: デフォルトの名無しさん [sage] 2020/08/30(日) 15:28:05.73 ID:0W5gc2Gs >>449 自作のComplexクラスをNum型クラスのインスタンスにしてみようとすると気づくんだけど Numってなぜかabs関数を実装しないといけないんだよね それで複素数の妥当な絶対値関数を書くにはsqrtが必要だけど Numだと計算できないので…という理屈のはず Haskellの標準の数値型に対する不満はちょくちょく見かけるけど 歴史的経緯もあって現状はしょうがないということになってるはず http://mevius.5ch.net/test/read.cgi/tech/1581326256/450
451: デフォルトの名無しさん [sage] 2020/08/30(日) 15:32:06.86 ID:mGp/4vHZ >>449 https://downloads.haskell.org/~ghc/latest/docs/html/libraries/base-4.14.0.0/src/Data-Complex.html でData.ComplexのソースコードでNumクラスのインスタンス定義を見たところ メソッドabsとsignumの実装に magnitude :: (RealFloat a) => Complex a -> a を使ってるからみたいだね 本当に足したり引いたりしたいだけならNum制約は強すぎる 数のクラス体系の問題点について詳しくは https://blog.miz-ar.info/2016/06/haskell-num-class/ http://mevius.5ch.net/test/read.cgi/tech/1581326256/451
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.052s