関数型プログラミング言語Haskell Part34 (692レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
125: デフォルトの名無しさん [] 2022/09/27(火) 19:10:55.70 ID:rbvXlCo3(1) AAS
来年のRustがこの状態。
252: デフォルトの名無しさん [sage] 2023/09/27(水) 15:30:51.70 ID:9Ywamwi5(1) AAS
{-# LANGUAGE BinaryLiterals #-}
この拡張をいれても
let t = read "0x111" :: Int -- 16進数にパースできる 273
let s = read "0b111" :: Int -- 2進数にはパースできない
微妙に不便だ
283: デフォルトの名無しさん [sage] 2024/04/13(土) 09:43:59.70 ID:p3ysjEUv(1/2) AAS
rustスレで知ったけどhaskellを正格にして依存型を入れたidris(idris2)つー言語があるんだな
340: デフォルトの名無しさん [sage] 2024/08/29(木) 16:57:49.70 ID:YXIyrRhD(1) AAS
何の自作型だか知らんがSemigroup実装して(<>)にでもすれば
378: デフォルトの名無しさん [sage] 2024/09/30(月) 13:59:18.70 ID:pkON+G7q(1) AAS
>>376376(1): デフォルトの名無しさん [sage] 2024/09/30(月) 12:40:29.07 ID:+8KmLjt4(1) AAS
圏論の極々一部のモナドを主語をデカくして圏論ガーとか言ってる人は何も分かってないんだなと思うけどね
俺みたいに数学かじってた人からすると
圏論を勉強すると「あ、この概念はこの分野のこれのことか」ってわかるけど
そうじゃない人は何のことを言ってるのかわからんと思う
専門家でも自分の担当外の圏なんて知らないのに
圏論という括りで語ろうとする人はそういうのすら理解してない
数学者向けの圏論の教科書の応用、具体例は全て数学。
数学知らない人が読んでも分かるわけがない。
応用、具体例、演習をCSの分野から採った教科書が望まれるが、書くのが難しい上に面白くするのも困難。
大体CSすらちゃんと修めてないエンジニアはやはり読めない。
CS自体ベースに位相、代数、グラフ理論と数学使うし。
401: デフォルトの名無しさん [sage] 2024/10/01(火) 23:25:15.70 ID:syLuNokt(2/2) AAS
>>396396(1): デフォルトの名無しさん [] 2024/10/01(火) 21:42:08.00 ID:4kH314XL(1/3) AAS
>>390
モナドの効用で自分の把握してるのは
・数学やHaskellの様な遅延評価の場合、逐次処理を表現できる
(これは変数を使いまわさない場合は、関数合成で十分だが、変数を使いまわすときはモナドじゃないと使いまわせない)
・副作用のある関数を使っても参照透明性は保たれている
・モナドは入れ物前提の概念なので、空の状態を使って例外処理をまとめることができる
正直、普通のプログラミング言語にも役立ちそうな3つ目は実感はしてないけど、ネットで例外処理よりモナドの方が優秀っぽい記事を読んだ
2番目もマルチスレッドとか最適化には役に立ちそうではある
(マルチスレッドなら正格評価版HaskellのIdris2やRustだと思うが)
> 2番目もマルチスレッドとか最適化には役に立ちそうではある
それもう一人のsimonが取り組んだけどモナドは否定された
447: デフォルトの名無しさん [] 2024/10/03(木) 19:56:29.70 ID:B2Xmf+Xl(3/9) AAS
入出力があるプログラムをどう数学的に整合する概念に対応させるかについて書いてみる。
こういう説明が通るものなのか興味があるし。
まず、仮想的なシェルスクリプト風の行番号付き手続き型言語を想定して、
その言語で入出力があるプログラムを定義するとする。
000 procedure prog1(int n) {
001 double res
002 (なにか込み入った計算)
....
020 echo "hogehoge"
021 (なにか込み入った計算)
....
050 echo "fugafuga"
051 (なにか込み入った計算)
...
100 return res }
このプログラムは実行 $(prog1) すると、行番号001版から順に評価していって複雑な計算をしつつ途中
hogehoge ← 行番号020の命令を評価
fugafuga ← 行番号050の命令を評価
と表示した上で、返り値 res を返す、という動作をする。
464(1): デフォルトの名無しさん [sage] 2024/10/04(金) 06:24:04.70 ID:EogKDI3R(2/3) AAS
>>462462(1): デフォルトの名無しさん [] 2024/10/04(金) 05:57:16.46 ID:vLDssEdm(2/9) AAS
>>461
Javaは変数をクラスの外で作れないから、グローバル変数は存在しない。
けど、事実上のグローバル変数は作れてしまう。
ってのと、同じ。
アクションの中に副作用があろうが、マシン語を返していると解釈しようが、事実として副作用はある。
ただ、重要なのは副作用を伴っても参照透明性が保たれているってこと。
それは例えばwhileプログラムから副作用のない言語に変換したあとの形式と同じ状態にすでになってるってことで、計算のルール上はもう副作用はないでしょ
476(1): デフォルトの名無しさん [] 2024/10/04(金) 20:51:48.70 ID:tixO3LDq(6/22) AAS
だから、入出力がある数学的関数なんてないじゃん。
入出力があるプログラムを数学的に表現しようと思っても詰むからどうしようって話。
516: デフォルトの名無しさん [sage] 2024/10/05(土) 07:57:53.70 ID:jwoAd9Km(1/2) AAS
ZFでは集合しか無いから。写像だろうが、自然数だろうが何でも集合。全てを集合で実装する世界。
573(1): デフォルトの名無しさん [sage] 2024/10/29(火) 15:30:57.70 ID:+9FvEifI(1/2) AAS
実用プログラムに使った例はあるの?
595(1): デフォルトの名無しさん [sage] 2024/11/16(土) 10:08:07.70 ID:9CYVpzbn(1) AAS
Category Theory Using Haskell
An Introduction with Moggi and Yoneda
Shuichi Yukita
という書籍が来月出るんですって?
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.038s