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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
131: 2020/03/30(月)18:05:04.07 ID:Dztwglzx(1) AAS
型クラスとインターフェースがなんとなく似てるので、
型クラスのようなことをインターフェースでまねしようとしてなんか違う…ってなってたけど、やっとなぜなのかわかった

インターフェース(クラスポリモーフィズム)って、そもそも型クラスとは全く別物で、むしろ存在型の一例になってるだな
やっぱり型クラスは型クラスで、型クラスのない言語でこ対応物なんてなかったんや
197: 2020/04/12(日)14:46:14.07 ID:qLx35nn/(1) AAS
目的は二つ
式を評価し過ぎないこと
副作用を実行し過ぎないこと

手段はただ一つ
最外簡約
314
(1): 2020/05/07(木)10:57:00.07 ID:zCrpEpjK(1) AAS
書籍「関数プログラミング 珠玉のアルゴリズムデザイン」で分からない所があります。

2ページ目3行目
xsに含まれない最小の数は、filter (<= n) xs に含まれない最小の数ということになる。

ここで < ではなく、<= なのは何故でしょうか。
< を使って条件を厳しくしても、

xs = [0], n = 1 ===> filter (<n) xs = [0]
  [0] に含まれない最小数 = 1
xs = [1], n = 1 ===> filter (<n) xs = []
  [] に含まれない最小数 = 0

このように問題無いように思えます。
340: 2020/05/29(金)07:22:48.07 ID:mJaFRwIH(1/2) AAS
GoとRustが無かった時代には長所がいっぱいあったんだろう
もし、その時代のコードを変更することなく今使えるならそれも長所だが
496
(1): 2020/09/09(水)19:58:00.07 ID:7PwBIIdR(4/4) AAS
「Haskellの美しさを知っている人は、人生に絶望することはない。Haskellで世界を変えたい。」などと表紙に書かれているHaskellの本が
ありますが、そんな大げさなものでしょうか?

単なる一プログラミング言語ではないんですか?
520: 2020/09/17(木)10:32:26.07 ID:2a8IoKJu(1) AAS
見つけた

外部リンク:qiita.com

このサイトの人がまとめたpdfに書いてある
とは言ってもやはりclosed categoryは仮定してる
やっぱりapplicativeはmonadと違って“内部ホム”を持たない圏では定義できないんだろな
“内部ホム”もつ圏でmonoidal functorに<*>を定義するのはわりと簡単だけど↓
F(X) × F(Y^X)
→F(X×Y^X) (coherence)
→F(Y) (F(eval))
外部リンク:en.m.wikipedia.org
pureが全然できんなぁと思ってたら“strong”という条件からpureが作れるんだな
まぁHaskellて圏の話するときはHASKて言えればいいんだからコレでわかったことにしよ
574
(1): 2020/11/16(月)23:33:39.07 ID:bCg5e61i(1) AAS
>>567
もうとっくに解決したかもしれませんが、評価の順は trace 関数でも確認できます。

import Debug.Trace

g :: Int -> Int -> Int
g x y = trace ("g") (x + y)

main :: IO ()
main = do
let a = trace ("a") 1
let b = trace ("b") 2
let c = (g $! a) $! b
putStrLn $ show c

これを実行すれば、b a g 3 の順に出力されます。
正格評価されていると言えます。

ちなみに、($!) を ($) に変えれば、g a b 3 の順に出力されます。
672: 2021/01/21(木)09:21:08.07 ID:mwzMDOkA(5/5) AAS
これも
・最適化の方法が処理系(GHC)次第で決まり、プログラマーの認識内に無い。
GHCに対してひたすらトライアンドエラー
683: 2021/01/24(日)13:21:27.07 ID:vsDmG4Mq(1) AAS
>>681
do記法という言語機能は、上から下への命令の実行を記述するものではない
モナドの組み合わせ方を宣言しているだけ
IOのようなモナドの定義に対してはたまたま命令型言語のようになるだけ
言語レベルで命令を上から下へ実行しているわけではない
840: 2021/06/01(火)10:15:13.07 ID:UuHFoCEt(1) AAS
書き方が何通りもあってコンパイルが通るのは客観的事実だよ
そんな書き方しなくても良いというのはまあ政治的にはそうなるわけだが
コンパイルエラーにならないのに、バラモンみたいな人間に色々言われると混乱しやすい
882: 2021/08/02(月)07:34:32.07 ID:Rllz2LO9(1) AAS
例えばOOPの継承関係を否定する
否定するなら対案を出せと言われる
この過程は数学ではないけど結果的には半順序関係とか圏とか出てくる
990: 2021/12/16(木)21:55:44.07 ID:iDMhxZSI(1) AAS
>>988
毛の壁氏、ですか、なつかしいですね
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.046s