関数型言語ML (SML, OCaml, etc.), Part 8

2024/11/01(金) 11:18:17.62ID:MT2bV/S9
関数型言語MLについて語るスレッドです。

MLは、確固とした理論的背景を持つ言語でありながら、
現実的なソフトの開発にも使用できる実用性を備えた言語です。
また、プログラミングの初心者が最初に学習する言語としても優れています。

総本山
Standard ML https://www.smlnj.org/
Objective Caml https://ocaml.org/

前スレ
関数型言語ML (SML, OCaml, etc.), Part 7
https://mevius.5ch.net/test/read.cgi/tech/1509524735/
2025/02/09(日) 04:00:52.37ID:8d730QrP
パターンマッチ渡しがないから
Maybe monadとか使うのが非常に面倒
2025/02/09(日) 15:52:20.68ID:nVH+xYHa
末尾再帰最適化の保証がないと関数型スタイルにはできん
2025/02/10(月) 22:59:06.21ID:o2Gr18iQ
Maybeはネーミングが悪いよな
今ではほとんどの言語でOptionだろ
2025/02/11(火) 02:42:42.11ID:iiJDGlnL
Schemeが手続き型作法で書けて
>>11>>12もクリアしてるけど人気なくなったよな
15デフォルトの名無しさん
垢版 |
2025/03/11(火) 19:24:49.09ID:O+8SFaAq
括弧あるからね
16デフォルトの名無しさん
垢版 |
2025/03/11(火) 19:25:18.02ID:O+8SFaAq
HaskellやOCamlだってそこまで人気じゃないし
17デフォルトの名無しさん
垢版 |
2025/08/04(月) 23:10:42.74ID:V0OTCQ/u
>>10
うーむ、そもそもHaskellを離れられないのはiHaskell触ってからf-elseやswitch-case文を書くのがマンドクセ((+_+))
ってなったのと、Haskellは(+)などのセクションと部分適用で巧みにラムダ式を使わないで済むのが楽なんだよね。
あと、関数に括弧が要らないのも部分適用と合わせて楽すぎる。
18デフォルトの名無しさん
垢版 |
2025/10/12(日) 04:47:03.78ID:W2SaGlg4
>>12,14
言語か実装かどっちの話よ…

schemeは仕様にTCO入ってるけど、あれは言語仕様に実装を持ち込むという暴挙
よく巷(笑)ではschemeの仕様はキレイなんだ!!などとほざくアホが絶えないが、むしろこれはこの上なく醜い…evilでさえあると思える
仕様と実装の分離原則の冒涜を冒しているからだ

じゃあ同一設計者(G.L.Steele)による兄弟言語のcommon lispの仕様はどうかというと、当然実装は問われていない、しかし私の使うメジャー実装5種類ちゃんとすべてTCOだ
(俺LISPにすら簡単に実装できたので、あえてTCOにしない実装などありえないのでは)

もちろんcやその遠い系列の言語も大体そう、例えばcなら仮想機械の振る舞いで言語を定義、当然実装とは分離されてる
2025/10/12(日) 18:26:01.89ID:S8M8nKTN
C++でもなんでも結構「これこれこういう最適化をしろ」ってのは規格に書いてあるぞ
特定の最適化がされないと使い物にならない言語機能ってのはあるからな
20デフォルトの名無しさん
垢版 |
2025/10/18(土) 14:31:06.07ID:IJLk7kKz
だからこそC++は数少ないevilな言語なんですわ、はい
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況