[過去ログ] 関数型プログラミング言語Haskell Part33 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
48
(1): 2020/03/02(月)10:29:59.00 ID:vpGCvE08(1) AAS
今までなんとなく難しそうと思って避けてたProfunctor Opticsだけど、ようやくちゃんと勉強し始めた
233
(1): 2020/04/18(土)20:20:58.00 ID:aIlZnP1D(1) AAS
おれモナド使いだけど、おまえ俺に使われてんのか
467: 2020/09/05(土)02:03:13.00 ID:hzZ7uEzq(2/3) AAS
import Data.Ratio
import Data.Complex

instance (Integral a)=> Floating (Ratio a) where
sqrt = fromRational.toRational.sqrt
.fromRational.toRational
instance (Integral a) => RealFloat (Ratio a) where
floatDigits = floatDigits.fromRational.toRational
decodeFloat = decodeFloat.fromRational.toRational
scaleFloat k x = if k > 0 then x*2^k else x/2^(-k)
504
(1): 2020/09/12(土)10:38:44.00 ID:A2+hHxph(1) AAS
[分数モナド](外部リンク:ncatlab.org

日常生活でも目にする`2 / 3`のような分数表記はモナドになっている。
吸収元の問題があるので、ネタとしては引き算`2 - 3`の方が扱いやすいが、
引き算の場合、`2 - 3 = - 1`のように計算してしまった結果が使われ、
日常生活では生々しいモナド表記はあまり使われない。その点、分数では、
直積からのコンストラクターをもろに使った漢な表現が
日常生活の中で使われている。

分数は、モナドを使うことと、モナドを理解することは別腹という
良い例になっている気がする。分数がモナドになっていることが生きてくるのは、
システムがそれなりに複雑になってからじゃないかと思う。抽象化には
コストがかかるので、そのコストに見合った見返りが必要になるが、
システムが簡単だと、抽象化のコストをペイできない。

分数モナドは有名な例なので、何処かのブログで紹介されていると思うが、
見たことがないので、書いてみた。ホームが可換モノイドの圏なので、
オレオレモナドになってしまうが、モナド則の`QuickCheck`はできるので、
圏論の練習になるかもしれない。
590: 2020/11/23(月)21:33:53.00 ID:B9DSaA3p(3/3) AAS
みんなが数学好きで自己啓発嫌いなのは処理速度じゃなくて
嘘をつかないかどうかの問題
622: 2021/01/08(金)15:22:31.00 ID:QDat+Qoy(3/3) AAS
Haskellはアカデミックな言語だっていうけど
アカデミックな人がやることが多い機械学習でPythonが伸びた
並列処理に強いなら機械学習の行列処理がHaskellで行われても良かったんじゃないの?
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.031s