24/11/01 11:18:17.62 MT2bV/S9.net
関数型言語MLについて語るスレッドです。
MLは、確固とした理論的背景を持つ言語でありながら、
現実的なソフトの開発にも使用できる実用性を備えた言語です。
また、プログラミングの初心者が最初に学習する言語としても優れています。
総本山
Standard ML URLリンク(www.smlnj.org)
Objective Caml URLリンク(ocaml.org)
前スレ
関数型言語ML (SML, OCaml, etc.), Part 7
スレリンク(tech板)
2:デフォルトの名無しさん
24/11/01 18:37:35.02 nrkm3PTC.net
関数型言語ML (SML, OCaml, etc.), Part 6
スレリンク(tech板)
関数型言語ML(SML, OCaml, etc.), Part 5
スレリンク(tech板)
関数型言語ML(SML, OCaml, etc.), Part 4
スレリンク(tech板)
関数型言語ML(SML, OCaml, etc.), Part 3
スレリンク(tech板)
let t = 関数型プログラミング言語ML 2
スレリンク(tech板)
関数型プログラミング言語ML
スレリンク(tech板)
3:デフォルトの名無しさん
24/11/02 16:39:45.15 Z24kzP6m.net
ML (programming language) 1973年に登場
URLリンク(en.wikipedia.org)(programming_language)
J. Roger Hindley 1939年生まれ
URLリンク(en.wikipedia.org)
Robin Milner 1934年生まれ 2010年没
URLリンク(en.wikipedia.org)
4:デフォルトの名無しさん
24/11/02 16:54:43.41 Z24kzP6m.net
◎SMLで関数の定義いろいろ
fun factorial n =
if n = 0 then 1 else n * factorial (n - 1)
◎clausal function definitions
fun factorial 0 = 1
| factorial n = n * factorial (n - 1)
◎whileもある
fun factorial n = let val i = ref n and acc = ref 1 in
while !i > 0 do (acc := !acc * !i; i := !i - 1); !acc
end
◎ラムダ関数として
val rec factorial = fn 0 => 1 | n => n * factorial (n - 1)
Standard ML
URLリンク(en.wikipedia.org)
5:デフォルトの名無しさん
24/11/02 20:34:17.15 0jOsGELW.net
◎OCamlで関数の定義いろいろ
let rec factorial n =
if n = 0 then 1 else n * factorial (n - 1)
◎whileもある
let factorial n = let i = ref n and acc = ref 1 in
while !i > 0 do acc := !acc * !i; i := !i - 1; done; !acc
◎forもある
let factorial n = let acc = ref 1 in
for i = 1 to n do acc := !acc * i done; !acc
◎ラムダ関数として
let rec factorial = function 0 -> 1 | n -> n * factorial (n - 1)
◎末尾再帰
let factorial =
let rec aux acc n = if n < 1 then acc else aux (acc * n) (n - 1) in aux 1
6:デフォルトの名無しさん
24/11/10 04:54:10.83 qqtxoROGN
例えば、登録記号「JA323N」は「盗撮窃盗詐欺猥褻集団ダサイタマ県警」た゛が
クソ航空機に生活や仕事を妨害されたらアプリ『ÅDS-B Unfiltered...」で登録記号確認
URLリンク(jasearch.info) ←ここで犯人特定
ADS-B出してない日の丸ロコ゛機体は憲法違反税金泥棒自閉隊関係だが、益々調子こいてるこいつらテロリストと゛もをどんなやり方でも
いいから早急に皆殺しにしないとこいつらが撒き散らしてる莫大な温室効果ガスで益々災害連発して次に殺されるのはお前だぞ
ヘリタンク2000Lて゛10000kWh火力発電したのと同等のcO2を排出するがガソリン税と比較してもゼ□に等しい税率だし
輸入している石油を大量に無駄に燃やしてんだから石油価格高止まりして電気料金などの高騰原因になってるし
騒音で知的産業壞滅して超絶デジ夕ル後進国、情報漏洩に不正送金にシステ厶障害まみれ,IT界て゛は日本語の技術情報消滅
こんな史上最悪の強盗殺人がスルーされてんだから俺も俺もと闇バイ├に強盜殺人にと流行るのは当然かつ正当な権利だわな
〔ref.〕 ttps://www.call4.jp/info.php?тype=items&id=I0000062
Ttps://hanеda-projecт.jimdofree.Com/ , URLリンク(fligh)<)
7:デフォルトの名無しさん
24/11/17 22:38:39.01 vlQbYPk+.net
◎Haskellで関数の定義いろいろ
factorial n =
if n = 0 then 1 else n * factorial (n - 1)
◎ガード
factorial n
| n == 0 = 1
| otherwise = n * factorial (n - 1)
◎foldl
factorial n = foldl (*) 1 [1..n]
◎product = foldl (*) 1
factorial n = product [1..n]
◎ラムダ関数として
factorial = \n -> if n = 0 then 1 else n * factorial (n - 1)
◎末尾再帰(空白が全部1個になるので_に置き換えてます)
factorial = f 1
___where
______f a 0 = a
______f a x = f (a * x) (x - 1)
8:デフォルトの名無しさん
24/11/17 23:01:25.43 vlQbYPk+.net
肝心のパターンマッチ忘れてた
factorial 0 = 1
factorial n = n * factorial (n - 1)