1 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 07:15:21 .net] 関数型言語MLについて語るスレッドです。 MLは、確固とした理論的背景を持つ言語でありながら、 現実的なソフトの開発にも使用できる実用性を備えた言語です。 また、プログラミングの初心者が最初に学習する言語としても優れています。 総本山 Standard ML www.smlnj.org/ Objective Caml caml.inria.fr/ocaml/ 前スレ 関数型言語ML(SML, OCaml, etc.), Part 5 pc12.2ch.net/test/read.cgi/tech/1186292994/
401 名前:デフォルトの名無しさん mailto:sage [2011/04/14(木) 09:44:35.08 .net] OCamlに興味が湧いてとりあえず五十嵐某の書籍買ってみた。 で、技術書買って真っ先にやることと言えば正誤チェック。 つ・・つかえねぇ・・・この本 誤謬の嵐だぜこりゃw 量がハンパネェ 本として機能してない 残念だがゴミ箱へ
402 名前:デフォルトの名無しさん mailto:sage [2011/04/14(木) 21:22:48.50 .net] >>395 そんなにひどいの?
403 名前:デフォルトの名無しさん mailto:sage [2011/04/15(金) 00:44:37.03 .net] >>395 うん? 自分にとっては、haskellの学習に大きく寄与したぞ? コラムの再帰に関する格言と、その本質に言及した言葉が無かったら、関数型言語を挫折してた (関数型言語の魅力が解らなかっただろう) 自分は、この人にhaskell版を書いて欲しいぞ 今なら言える 手続き型言語は全体的に(それをするには)「どうする」で作り、関数型言語は、全体的に(それは)「何か(あるいは、どんなものか)」で作る言語だと
404 名前:デフォルトの名無しさん mailto:sage [2011/04/16(土) 12:37:58.03 .net] >>395 俺も最近買ってしまって読んでるんだが、誤植の場所を教えてくれ。 素人でもわかるものなのか?
405 名前:デフォルトの名無しさん mailto:sage [2011/04/16(土) 12:57:42.57 .net] あれってネット上で読めなかったか
406 名前:デフォルトの名無しさん mailto:sage [2011/04/16(土) 13:50:43.61 .net] >>395 > 誤謬の嵐だぜこりゃw >>398 > 俺も最近買ってしまって読んでるんだが、誤植の場所を教えてくれ。 「誤謬」のある本と「誤植」のある本の違いは大きい。 本当はどっち?
407 名前:398 mailto:sage [2011/04/16(土) 17:02:39.70 .net] >>400 すまん。ちゃんと見てなかった。誤植じゃなくて誤謬か。 で、どこなんだろう。
408 名前:デフォルトの名無しさん mailto:sage [2011/04/17(日) 20:32:04.80 .net] >>401 両方。誤植も誤謬もある。 www.sato.kuis.kyoto-u.ac.jp/~igarashi/OCaml/ 技術書でこれだけの間違いがあったら、どうやって本として機能するんだろう?
409 名前:デフォルトの名無しさん mailto:sage [2011/04/17(日) 21:40:45.30 .net] >>402 そのページ印刷して本に挟んどけよ
410 名前:デフォルトの名無しさん mailto:sage [2011/04/17(日) 22:50:12.49 .net] 間違いは無いに越したことはないけれど、 これぐらいの量の間違いは大したことないと思う。
411 名前:デフォルトの名無しさん mailto:sage [2011/04/17(日) 22:51:29.38 .net] 十分大した事あるな
412 名前:デフォルトの名無しさん mailto:sage [2011/04/18(月) 00:31:01.42 .net] 技術書読んだことあんのか?
413 名前:デフォルトの名無しさん mailto:sage [2011/04/18(月) 08:22:14.27 .net] 技術書は静的型付けじゃないからな
414 名前:デフォルトの名無しさん mailto:sage [2011/04/18(月) 11:08:36.97 .net] コーダとベリファイヤの性能が低い
415 名前:デフォルトの名無しさん mailto:sage [2011/04/20(水) 18:55:51.89 .net] > 自分は、この人にhaskell版を書いて欲しいぞ アマゾンで下のレビュー書いた人かいw
416 名前:デフォルトの名無しさん [2011/04/20(水) 20:57:40.94 .net] ちょっと困っていることがあるので、助けてください。 ヨウ素がリストの参照になっているようなベクトルを用意して、各要素に データを追記していくような処理
417 名前:をさせると(具体的には、複数の時系列を記録 したファイルがあって、これを時間順に読む)、追記回数の自乗のオーダの 処理時間が掛る。リストの先頭に追加しているだけなので、線形時間でやって ほしい。 [] [ここ壊れてます]
418 名前:デフォルトの名無しさん [2011/04/20(水) 20:58:06.52 .net] (* コード例) val bigV = Vector.tabulate(1000000, fn _ => ref (nil:int list)) val dat = Vector.tabulate(1000000, fn i => i) val t0 = Time.now(); val tLast = ref (Time.-(t0,t0)); fun showTime() = let val tLast' = !tLast val () = tLast := Time.- (Time.now(), t0) val dt = Time.-(!tLast, tLast') in Time.toString (!tLast)^","^ Time.toString dt end fun append k = (print (Int.toString k ^ "," ^ showTime()^ "\n") ;Vector.app (fn box => box := k :: !box) bigV ) val () = Vector.app append dat
419 名前:デフォルトの名無しさん mailto:sage [2011/04/20(水) 21:15:18.30 .net] ヨウ素とかベクレルの話かとオモタ
420 名前:sage [2011/04/20(水) 21:46:08.88 .net] 辞書(と見逃した自分も)がそっち方向に過学習してしまったらしい。すまん。
421 名前:デフォルトの名無しさん mailto:sage [2011/04/21(木) 00:19:44.70 .net] 自分の環境ではサンプルプログラムの実行に二乗オーダは見られなかった。 bigVの大きさを一桁下げると速度がぐっと変わるし、GCとかのせいな気がする。
422 名前:デフォルトの名無しさん mailto:sage [2011/04/26(火) 20:50:17.84 .net] SMLの勉強していて思ったけど、最初に学ぶ言語として関数型言語はやはり難しいかも知れない。 C言語だとHello Worldから始まって、リスト処理は構造体とポインタの応用問題という位置づけだった。 SMLはいきなりリストと再帰の話から始まるw BASICは、LISPよりも後から開発されて、しかも同じダートマス大学発祥だけど、 リスト処理が実装されていないのもそれなりの理由があったのかなと思う。
423 名前:デフォルトの名無しさん mailto:sage [2011/04/26(火) 21:56:29.55 .net] 奥さん、そこで Factorですよ。
424 名前:デフォルトの名無しさん mailto:sage [2011/04/26(火) 22:12:07.58 .net] >>415 > BASICは、LISPよりも後から開発されて、しかも同じダートマス大学発祥だけど、 > リスト処理が実装されていないのもそれなりの理由があったのかなと思う。 LISPとBASICじゃ作られた目的が全然違う それに当時の計算機の性能ではリスト処理は時間的にもメモリ的にも大変重い処理だった 今の感覚や価値観は60年代の計算機や言語・ソフトの評価や判断には全く通用しない
425 名前:デフォルトの名無しさん mailto:sage [2011/04/27(水) 00:17:49.66 .net] 最初は易しい言語で、ってことが重要に思えるところ、 その信念に基づいた妄想を長々と書きこむところ、 これはその人の性質をよく表していると思う。 こういうひとのためにも緩い言語は必要。 ML系はそういうのとは全然違う。
426 名前:デフォルトの名無しさん [2011/04/27(水) 14:00:52.81 .net] >> 415 ポインタ+構造体+慎重な操作を免除して、いきなりリストが使えるのが 売りだと思うのだけれど。 また、MLは破壊的代入+whileループが特別な儀式をしなくても使えるの で、再帰を学ばなくてもある程度は使える。
427 名前:デフォルトの名無しさん mailto:sage [2011/05/18(水) 01:03:29.10 .net] 眉間のτとλ皺が特徴。 やつを追う前に言っておくッ! おれは今やつのStateTをほんのちょっぴりだが体験した い…いや…体験したというよりはまったく理解を超えていたのだが…… ,. -‐'''''""¨¨¨ヽ (.___,,,... -ァァフ| あ…ありのまま 今 起こった事を話すぜ! |i i| }! }} //| |l、{ j} /,,ィ//| 『おれは奴の前で階層を lift していたと i|:!ヾ、_ノ/ u {:}//ヘ 思ったらいつのまにか lift が消えていた』 |リ u' τ ,ノ _,!V,ハ | /´fト、_{λ{,ィ'eラ , タ人 な… 何を言ってるのか わからねーと思うが /' ヾ|宀| {´,)⌒`/ |<ヽトiゝ おれも何をされたのかわからなかった… ,゙ / )ヽ iLレ u' | | ヾlトハ〉 |/_/ ハ !ニ⊇ '/:} ∀:::ヽ 頭がどうにかなりそうだった… // 二二二7'T'' /u' __ /:::::::/`ヽ /'´r -―一ァ‐゙T´ '"´ /::::/-‐ \ キャストだとかサブタイピングだとか / // 广¨´ /' /:::::/´ ̄`ヽ ⌒ヽ そんなチャチなもんじゃあ 断じてねえ ノ ' / ノ:::::`ー-、___/:::::// ヽ } _/`丶 /:::::::::::::::::::::::::: ̄`ー-{:::... イ もっと恐ろしいものの片鱗を味わったぜ…
428 名前:デフォルトの名無しさん mailto:sage [2011/06/08(水) 22:38:54.29 .net] 保守
429 名前:デフォルトの名無しさん [2011/06/20(月) 02:35:53.95 .net] Ocamlとか関数型言語とか難しいことはよくわからないが ターミナルでTwitterクライアントが動くらしいので Ocamltterに手を出してみる。 そういえば親父がLISP好きだったのを思い出す。
430 名前:デフォルトの名無しさん mailto:sage [2011/06/20(月) 02:43:18.06 .net] フランス人と日本人って意外に共通点があるよな
431 名前:デフォルトの名無しさん mailto:sage [2011/06/20(月) 02:48:34.90 .net] 皇女様をギロチンにかけたりな
432 名前:デフォルトの名無しさん [2011/06/20(月) 07:42:00.20 .net] OcamltterあきらめてOcaml入門やってるんだが再起呼び出しとかちょっと難しいな。 for文と違う。 数学者にやらせると面白いことになりそうな謎のワクワク感を感じる言語ではある。
433 名前:デフォルトの名無しさん mailto:sage [2011/06/30(木) 22:40:46.75 .net] みんな Haskell に移行してしまったんかいなぁ
434 名前:天使 ◆uL5esZLBSE mailto:sage [2011/07/05(火) 04:45:54.85 .net] 2011年、Ruby,Perl,PHP,Pythonって並べたときにさ ここで、Ruby以外を選ぶ奴ってマジでなんなんだろうな ゴミの分際でw
435 名前:デフォルトの名無しさん [2011/07/05(火) 11:37:20.29 .net] >>427 科学計算を主に念頭においてるものだったら、Python一択になってくるよ。 それだけライブラリが充実している。scipy,numpy,matplotlib,mayaviなんて のがあるからね。 >>415 手続き脳から見れば当然難しいけど、数学の漸化式を知ってれば再帰は 馴染みやすいし問題ないよ。難しくしてるのは頭の中で無理やり手続き型 に想定して理解しようとする癖があるからだよ。手続き型に染まった連中が 苦労するのはその悪癖が抜けないから。 リストとか関数の取り扱い(Cでいうと関数ポインタだな。)は手続きにとって みれば高嶺の花だけど、そこが一番簡単にさせている要因なんだよね。 手続きに染まった人ってただ頭が硬直しただけなんだよ。
436 名前:デフォルトの名無しさん mailto:sage [2011/07/05(火) 11:40:45.99 .net] ファーストクラスの関数を、関数ポインタのようなもの、とかいうのは、 誤解を招くだけでないかな。
437 名前:デフォルトの名無しさん mailto:sage [2011/07/05(火) 12:09:28.96 .net] >>429 じゃあどう簡潔に言えばいいか示してくれ。それだけでいいよ。
438 名前:デフォルトの名無しさん mailto:sage [2011/07/05(火) 12:14:26.97 .net] 「ファーストクラスの関数」
439 名前:デフォルトの名無しさん mailto:sage [2011/07/05(火) 12:20:26.45 .net] >>431 手続き脳の人相手に話をする場合、それで通じれば問題がないけど 彼らの試行の中で比較的近いものを取り上げて説明しようとしないと たぶん、言葉が通じないと思うよ。CS専攻の連中相手に話をするならば それで問題はないよ。もし知らなければ不勉強だってことだからさ。
440 名前:デフォルトの名無しさん [2011/07/05(火) 19:57:30.54 .net] 環境をキャプチャした関数ポインタのようなもの?
441 名前:デフォルトの名無しさん mailto:sage [2011/07/05(火) 20:12:36.48 .net] それはもうポインタでも何でもねぇw クロージャは、下手にCの概念で説明するよりは、定義をしっかり伝えたほうが、 相手に伝わりやすい代表例じゃないかな。モナドとか継続とかと一緒で。
442 名前:デフォルトの名無しさん mailto:sage [2011/07/05(火) 20:37:31.44 .net] 一応Cでもgcc拡張ならクロージャはある C++ユーザならC++用語で言うファンクタ(関数オブジェクト)を結構使うはずなので、 ただの関数ポインタとの違いはわかっていると思う クロージャが近いのは勿論ファンクタのほうだけど、C++のようにいちいち classやstructでそれを記述する必要がない もっともC++のそれがあまりに面倒くさかったので、C++でも0xでついにlambdaが 導入されたわけだけど
443 名前:デフォルトの名無しさん mailto:sage [2011/07/07(木) 11:04:09.84 .net] 他のスレでやれ
444 名前:デフォルトの名無しさん mailto:sage [2011/07/07(木) 13:02:54.88 .net] >>427 誤爆?
445 名前:デフォルトの名無しさん [2011/07/09(土) 19:06:45.30 .net] >>435 >一応Cでもgcc拡張ならクロージャはある nested function の事なら、内部関数から参照している変数のスコープの 外からは使えないのでクローズしているとは言えないんじゃないかな。 gcc.gnu.org/onlinedocs/gcc/Nested-Functions.html C なら Blocks を使う方が良さそう。
446 名前:デフォルトの名無しさん [2011/07/12(火) 19:45:27.51 .net] >>438 そこを読むとinner functionのアドレスを取れると書いてあるけど、 upward funarg problemを解決しているわけではないの?
447 名前:デフォルトの名無しさん mailto:sage [2011/07/12(火) 20:32:45.49 .net] >>439 環境を保存しておいてくれる訳じゃないからね
448 名前:デフォルトの名無しさん [2011/07/12(火) 22:06:56.99 .net] >>440 なるほど。危険ではあるが役に立つかも知れないから機能は提供する ということか。
449 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 19:06:44.85 .net] OCamlにしようか、それともHaskellにしようか迷ってます。 こういう用途ならこっちのほうがいいとか、なんかアドバイスお願いします。
450 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 19:45:47.15 .net] >>442 では、用途を教えてくだしあ
451 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 20:08:56.47 .net] >>443 こーいうやつはプログラミングの勉強自体が目的だろ。
452 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 20:16:25.35 .net] >>444 プログラミングの勉強自体が目的ならhaskell一択
453 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 20:42:08.59 .net] >>444 はい、その通りです。 PHPとJavaとJavaScriptはある程度書けますが、関数型言語をなにかひとつみにつけようと思います。 >>445 よろしければ理由を教えてください。 ぐぐった感じでは、haskellはモナドというのが難しくて多くの人が挫折しているようので、OCamlに傾いてます。
454 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 20:52:58.37 .net] >>446 勉強ってことだし、関数な考え方を得ようってなら純粋なHaskellの方を推奨
455 名前:デフォルトの名無しさん [2011/07/30(土) 20:54:22.93 .net] 勉強自体が目的ならなんで両方やらないのっていう
456 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 20:56:02.64 .net] あと入門用に、英語読めるなら、比較的平易な英文で書いてある learnyouahaskell.com/ を挙げておきます。下の方にあるonlineを選ぶと、売っているものに近い内容が読めますよ。
457 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 21:05:00.48 .net] OCamlの入門書が1冊、Haskellの入門書が数冊出てるからどれか1つ、 とりあえず借りるか買うかして、それぞれ第1章ぐらいやってみなさい。
458 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 21:05:33.97 .net] >>446 関数型言語の特徴が余す事なく取り入れられてる モナドは使う分には難しくない 使う分にはシンプル イズ ベストな書き方がやり易い言語 モナドを分からないと使えるようにならないと勘違いして脱落する人多いけど、モナドの理論的背景を理解する必要は無い 気になるなら気長に勉強しなされ OCamlはループも有るし、副作用対策諦めてるし、手続き型言語に限りなく近い関数型言語って感じ 速いコード吐けるけど、昨今の関数型言語の特徴取り入れた手続き型言語が多い時代に勉強する意味は薄い
459 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 21:07:10.73 .net] 手続きばっかだっし、古典のschemeでいいんじゃねーの?
460 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 21:10:08.69 .net] Lisp族はLisp族で悪くないけど、関数型プログラミングを今時勉強するならその選択はない。
461 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 21:16:22.99 .net] >>452 カリー分と遅延評価がデフォルトで付いてない 自分で同じ事を再現とかは出来るけど、それじゃ関数型言語の学習とは違う
462 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 21:20:58.25 .net] >>449 haskellスレで翻訳中って聞いたぞ あと、kindleでサンプル読んだ限りじゃプログラミングhaskellの内容を砕けた言葉とイラストで書いてるだけに見える 内容的にはすでに翻訳されてるプログラミングhaskellで十分
463 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 21:28:52.08 .net] みなさん、ありがとうございます。 OCamlスレなのにHaskell勧める人ばかりなので、OCamlに未練はあるけど、思い切ってHaskellやってみようと思います。
464 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 21:34:22.91 .net] >>456 いや。。。 haskellもMLの子孫なんだが。。。
465 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 21:36:14.27 .net] >>456 俺はHaskell→OCamlと来た。 どっち先でもいいし、両方やればいいんじゃないだろうか。 片方しかやっちゃいけない決まりはないんだし。 面白いことは何でもやるべきだよ。 ミニ四駆だって、マグナムセイバーを買う傍ら、ソニックセイバーも買っただろ。それと同じ。
466 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 22:15:41.84 .net] そんなことはどうでもいい。OCamlのサイトが404だ。 caml.inria.fr/ocaml
467 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 23:17:43.26 .net] げ、ほんとだ
468 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 23:23:32.07 .net] すごいタイミング >>456 にはOCamlと縁が無かったんだな。。。
469 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 23:29:26.27 .net] ついにオワコンか
470 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 23:50:18.39 .net] OCamlがOCamlとして生まれ変わった際のゴタゴタだそうだよ
471 名前:デフォルトの名無しさん mailto:sage [2011/07/31(日) 21:38:50.21 .net] twitter.com/#!/camlspotter/status/97519093602717696 >描いたのは俺! >RT @y_echo >RT @kinaba: なにがあったのwww >RT @kikx これは変わりすぎだろ! >RT @yoshihiro503 ちょ、 OCaml のサイトが激しくイメチェンしてる caml.inria.fr
472 名前:デフォルトの名無しさん mailto:sage [2011/08/01(月) 08:56:35.19 .net] OCamlってもう手に入らないん?
473 名前:デフォルトの名無しさん mailto:sage [2011/08/01(月) 10:15:28.29 .net] >>465 twitter.com/#!/camlspotter/status/97683309177475073 >一つだけ皆さんに言っておきます。毎年この時期には OCaml には何かが起きます。 >それはリア充関係者がバカンスに行ってしまって連絡が取れなくなるからです。 > RT @ytomino ocamlがついに滅んだと聞いて(遅い twitter.com/#!/camlspotter/status/97685810127716353 >てか週末にサーバ不調になったら48時間止まるのあたりまえやろ?人間として。 twitter.com/#!/camlspotter/status/97686190618181632 >と haskell.org が落ちたときには wktk してた人が言っても説得力ありませんな とりあえずフランスの月曜日昼(日本時間21時ごろ)まで待ちましょう。 それまでに復旧しなければ長期化確定ですね。
474 名前:デフォルトの名無しさん mailto:sage [2011/08/01(月) 10:34:00.78 .net] つ proofcafe.co.cc/ocaml/
475 名前:デフォルトの名無しさん [2011/08/01(月) 22:02:08.55 .net] >>466 直らんね。もうしばらく待つか。
476 名前:デフォルトの名無しさん mailto:sage [2011/08/01(月) 22:10:14.76 .net] 復活したね
477 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 18:02:01.87 .net] Lisp族はいいぞ。でもclojureを触っているとhaskellの影響がかなり大きい。 ocamlも触ってみたいけど、いまHaskell勉強中なんだ。たぶん、来年くらいには やれればな。HaskellってLispと同じでプログラム作成までの抽象化も含めた 戦略を練るのに時間がかかる言語って感じがしました。Ocamlも同じなんだろうね。
478 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 20:08:11.41 .net] haskellはデータ構造を作るプログラミングになるって、山本和彦さんが言ってた
479 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 20:23:02.98 .net] >>470 Haskell影響は並列周りでしょ。 そもそもSTMはHaskell由来じゃないし。 他はもろLisp直系じゃん。
480 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 21:58:52.67 .net] >>472 見た目だけで話してるでしょ? 実際に触ってみればわかるけど、無限ストリーム近辺の関数はHaskellと かなり近いよ。takeとかその辺のことね。common lispでも自作する方法は あってもこの手の物は標準でないしね。 だから、リストの取り扱いってがhaskellに近くなってる。 >>471 なるほど
481 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 23:33:03.74 .net] takeはHaskell以前からある。
482 名前:デフォルトの名無しさん mailto:sage [2011/08/03(水) 02:04:20.65 .net] >>472 > そもそもSTMはHaskell由来じゃないし。 でも中興の祖はHaskellの人(Tim Harris)じゃないっけ?
483 名前:デフォルトの名無しさん mailto:sage [2011/08/03(水) 02:21:43.19 .net] それはそう。Monadの経験が役に立った。
484 名前:デフォルトの名無しさん mailto:sage [2011/08/03(水) 09:37:38.27 .net] >>474 ミランダとかなの?よくしらないけど(wikiでちょっと見たけど、 haskellの親玉っぽかった。) それはともかく、Clojureが関数型の大きな影響をかんじるのは イミュータブルなところかも。あれのお陰で、副作用をもたせようと 思ったら基本的にSTMの部分を活用しなきゃならない。(java固有の ライブラリは例外的なんだけど。)それと遅延評価言語だって ところがcommon lisp を触ってる時よりhaskellの影響を感じやすいのかも。 あとは内包表記かな。wikiにはlisp,ML, haskell erlangが影響を受けた言語 とかかれている。
485 名前:デフォルトの名無しさん [2011/08/19(金) 10:50:16.31 .net] R診たいなことが全部できるMLないのかよ。
486 名前:デフォルトの名無しさん mailto:sage [2011/09/19(月) 21:56:29.91 .net] 卒業研究でOCamlのライブラリ作ってます。 おもしろいことありますでしょうか?
487 名前:デフォルトの名無しさん mailto:sage [2011/09/19(月) 23:59:49.52 .net] SML#の新verがひっそり出てた
488 名前:デフォルトの名無しさん mailto:sage [2011/09/24(土) 23:23:23.61 .net] >>479 どんなライブラリでしょうか?
489 名前:デフォルトの名無しさん mailto:sage [2011/09/25(日) 11:44:54.04 .net] >>479 どんなライブラリをつくったら面白いでしょうか? なのか ライブラリを作ることはテーマとして面白味があるでしょうか? なのか。
490 名前:デフォルトの名無しさん mailto:sage [2011/09/27(火) 20:28:58.48 .net] ^^;
491 名前:デフォルトの名無しさん mailto:sage [2011/09/27(火) 20:52:03.96 .net] OpenFlow コントローラのライブラリなどはいかが? 比較的、ホットなトピックだと思うけど。 www.google.co.jp/search?q=functional+reactive+programming+openflow
492 名前:デフォルトの名無しさん mailto:sage [2011/09/29(木) 14:23:07.44 .net] MLの型推論の部分だけ「俺言語」の中に取り込みたい 型推論の部分だけ分かりやすくコンパクトにまとめられたコードどこかにないでしょうか
493 名前:デフォルトの名無しさん mailto:sage [2011/09/29(木) 15:11:00.44 .net] >>485 en.wikipedia.org/wiki/Hindley%E2%80%93Milner
494 名前:デフォルトの名無しさん mailto:sage [2011/09/29(木) 15:56:30.36 .net] >>485 このテキストの17章 www.scala-lang.org/docu/files/ScalaByExample.pdf タイガー本の16章 www.cs.princeton.edu/~appel/modern/ml/
495 名前:365 mailto:sage [2011/09/29(木) 18:07:57.87 .net] >>485 Prolog で型チェック:Rainy Day Codings:So-net blog rainyday.blog.so-net.ne.jp/2008-06-16 題名は型チェックだけど、コードはまぎれもなく型推論
496 名前:デフォルトの名無しさん mailto:sage [2011/09/29(木) 19:09:02.35 .net] ああPrologだから単一化で型推論が起きるのか。
497 名前:デフォルトの名無しさん mailto:sage [2011/10/04(火) 18:43:07.61 .net] prologで型推定が一番楽にできそう しかし返値しか推定してないね
498 名前:デフォルトの名無しさん mailto:sage [2011/10/06(木) 15:33:53.10 .net] SMLやろうと思うんだけど、関数書いたファイルはどこ入れときゃいいの?
499 名前:デフォルトの名無しさん mailto:sage [2011/10/06(木) 19:31:29.68 .net] WinにもOCaml3.12.1きてるー ttp://gallium.inria.fr/~protzenk/caml-installer.html
500 名前:sage [2011/10/06(木) 20:07:16.49 .net] >>492 SML/NJの場合だと、適当なファイル(例えばhoge.sml)に保存して、保存した フォルダでNJの対話環境を起動して、 use "hoge.sml" とすればよい。useはカレントディレクトリからソースを読み込む関数で、 カレントディレクトリの取得/変更は、 OS.FileSys.getDirとOS.FileSys.chDirでできる。