- 1 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 14:49:54 ]
- 関数型言語MLについて語るスレッドです。
MLは、確固とした理論的背景を持つ言語でありながら、 現実的なソフトの開発にも使用できる実用性を備えた言語です。 また、プログラミングの初心者が最初に学習する言語としても優れています。 総本山 Standard ML www.smlnj.org/ Objective Caml caml.inria.fr/ocaml/ 前スレ 関数型言語ML(SML, OCaml, etc.), Part 4 pc11.2ch.net/test/read.cgi/tech/1133003340/
- 756 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 20:59:17 ]
- >>742
Scheme > Common Lisp > Haskell > SML/OCaml
- 757 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 21:37:10 ]
- おまえらのいう「開発効率」って所詮個人の趣味プログラムでの話だろ?
>>690のように仕事で使う上での「開発効率」を考えたことある?
- 758 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 21:47:05 ]
- >>757
ゲームやGUIアプリの類に関数型は正気とは思えんし ドカタ仕事の類にも向いてねえだろ ド汚くてもいいから仕事を簡単にやっつけられるってのが「開発効率」じゃねえの?
- 759 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 22:02:41 ]
- LispのマクロはS式があって始めて便利なもの。
だから他の言語にはない。
- 760 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 22:12:55 ]
- つ Dylan
- 761 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 00:41:18 ]
- >>757-758
>>735 >>760 Dylanはscheme/Lispとの差別化が出来なかったんだよね。むしろ劣化版。 最終的にObj-Cでいいやってことになって中止になったし。
- 762 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 00:41:42 ]
- >>733
むしろ、あなたのような人が人間の質として低い気がしますが? 英語ができた方がいいとは思いますが、必須とは思いませんね。
- 763 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 00:48:25 ]
- >>758
ところがどっこい、Unreal Engineの開発者がHaskellに注目してたりするんだ。 確か国内のゲーム開発者が、関数型に注目してるという記事も以前見かけた。 正気じゃないと言うほどでもないと思うけど。 それと、汚い仕事をやっつけ、って、割と関数型のフィールドじゃない? 関数こねくり回すのが本領の訳だしさ。
- 764 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 00:52:03 ]
- MONADIUSみてHaskellに対する印象が変わったな
- 765 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 01:16:12 ]
- >>762
英語必須ですよ。 英語ドキュメント避けて日本語ドキュメント探しているうちに日が暮れるような非効率な奴は3流
- 766 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 07:49:20 ]
- 安定した仕様の言語だと、プログラマがドキュメントを探す
ことは稀だと思いますよ。通信規格のようなものは参照しま すが。
- 767 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 08:49:25 ]
- 洋書も持ってるけど、どうしても意味が汲み取れない
ところとかあると挫折しそうになる。
- 768 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 08:54:54 ]
- 英語読めない奴の為に翻訳までしないと一流とは言えないな
- 769 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 08:59:00 ]
- 300ページくらいで文章とコードが半々くらいだと何とかいけるんだが、
700ページとか厳しい。
- 770 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 08:59:14 ]
- じゃぁ二流でいいです。
- 771 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 09:41:39 ]
- >>761
>>>757-758 > >>735 お前は何が言いたいのだ?
- 772 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 12:09:39 ]
- >>766
documentって英単語は書き物全般を指すと思うんだが?w 最新の論文はもちろんのこと、RFCの一部なども日本語に訳されていないこともあるから、 やっぱり英語ができなきゃ支障がでるね。 特にアルゴリズムの論文は読むことも多いんじゃないかな。
- 773 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 12:18:14 ]
- >>772
私もあなたも同じだと思うけど、このム板に書き込んでいるような 奇人プログラマでないかぎり英文のドキュメントなんて読まないと いうことです。研究者は別ですよ。
- 774 名前:772 mailto:sage [2009/01/12(月) 12:22:02 ]
- 俺は職業プログラマではない。
どっちかっつーと天文台に住んでる実験系の物理屋だ。 プログラミングもするからプログラマで通してる。
- 775 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 12:29:37 ]
- つまんね
- 776 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 12:29:41 ]
- 少し前に英文ドキュメントも読まないようなプログラマは3流だ、
という主旨の書き込みがありました。しかし、英文情報を渉猟して いる方が珍しいのであって、当然そんなことをしていない人の中に 一流の人はいっぱいいると確信できるので、ちょっと反撥してみま した。
- 777 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 12:32:13 ]
- >>776
一流なら当然名前は売れてるんだろ? 例を挙げてくれよ。
- 778 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 12:33:29 ]
- >>776
英文を読めない人間は、プログラマとしては情報弱者であることが 確定したようなものだ そんな「一流のプログラマ」などあり得ないと俺なら確信できるが 英論文を読めない研究者などあり得ないのと同じだと考えてよい
- 779 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 13:02:04 ]
- >>776
日本発の情報がウンコなので英文を読むほかないのです。
- 780 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 13:04:30 ]
- 並川さんもよくTVに向かって英語できません、なんて言えるよな。
昔と今じゃ状況が違うんだよ、馬鹿 ノーベル賞剥奪しちまえよ
- 781 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 13:25:37 ]
- 一流のプログラマになれるような頭の良さを持ちつつ英語わからないやつっていないんじゃない?
- 782 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 13:27:31 ]
- 言語マニアのファインマン先生は日本語を覚えようとして挫折した過去がある
- 783 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 13:27:53 ]
- 実際に読めるかどうかは別として、少なくとも
「英語が読めなくても大丈夫」と主張するやつは駄目だな。
- 784 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 13:30:28 ]
- >>781
中学以来英語教育を受けてる筈なんだしね まあネイティブ同然に読めなくてもそれは仕方が無いが 誰もそこまでは言ってない
- 785 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 13:33:47 ]
- >>782
何がだめだったんだろ。 言語体系の違いか?
- 786 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 13:36:45 ]
- >>785
日本語をファインマンに教えていたのが朝永の研究室の連中だったんだよね。 日本語の教え方がへたくそだったんじゃないかな。 それで、ファインマンもうんざりして日本語習得あきらめたんじゃないかと思うね。
- 787 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 13:41:14 ]
- そろそろ関数型言語の話をしようぜ
- 788 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 13:51:09 ]
- >>786
この馬鹿が。 日本語は世界でも最も難しい言語の一つなんだよ。 英語みたいに単純明解ではないのだよ。
- 789 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 14:00:26 ]
- 英語:主語+述語を主体とした前置型(Lispチック)
日本語:述語を中心とした後置型(Forthチック) だとオモ。と無理矢理スレに繋げてみる。
- 790 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 14:04:48 ]
- >>780
並川じゃなくて益川 漢字も読めないようじゃ現場では使えないな
- 791 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 14:57:09 ]
- >>788
俗説
- 792 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 14:59:53 ]
- しかし日本語を体系化できた人間は未だにいない。
- 793 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 15:03:06 ]
- 朝永の弟子がファインマンに日本語を教えたときも、そういうもんなんだよ、という説明しかできなかった。
日本語が英語に比べて体系化しにくい複雑な言語だということなんだよね。 英語が世界中で愛用されて、日本語が日本国内でしか使われない理由が良く分かるよ。 やっぱ言語はシンプルじゃないと駄目ってことだ。 Scheme最強!!
- 794 名前:720 mailto:sage [2009/01/12(月) 15:24:53 ]
- >>718 Haskell覚えようとするような奴が英語読めないとも思えないし
>>720 英語読めないけどHaskell覚えようとするような奴ですが何か?w >>726 英語も分からないような人はプログラミングなんかしなくていいよ >>732 英語わからんけど飯の種なんでやめられないですw >>733 お前みたいな質の低いプログラマがいるからこの業界なめられるんだよ。 >>762 英語ができた方がいいとは思いますが、必須とは思いませんね >>765 日本語ドキュメント探しているうちに日が暮れるような非効率な奴は3流 つまり、 1.英語読めない奴は3流である 2.3流の奴はプログラミングしなくていい 3.プログラミングを仕事にしてるなら転職しろ って、こってすね? 1.はともかくとして2.と3.には同意しかねますね。 >>787 スレチ失礼しました。 私はこのレスで終了とします。
- 795 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 15:31:37 ]
- 低品質ソフト垂れ流しやがって ゆるせん
- 796 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 15:59:16 ]
- まあ英語読めんでも仕事になってるんならそれでいいんじゃないの?
manだのinfoだのMSDNだのコンパイラの吐くメッセージだのを 「英文なので自分には読めません」で仕事になるのか分からないが それで済んでいるのならある意味幸運なことだ 俺には関係ないしな
- 797 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 16:23:47 ]
- >>792
どんな自然言語もそう。 完全に体系付けできる言語は人工言語だけ。
- 798 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 16:55:04 ]
- Javascriptなんて、方言やバージョン違いだらけで、
「Javascript大系」出すのは不可能。
- 799 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 17:24:34 ]
- "体系化しにくい"とは"規則化しにくい"と考えればよいのか。
つまり例外が多すぎる、と。
- 800 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 19:14:29 ]
- で、英語を読めないやつは三流だっていうことを必死で主張してた人は結局何がしたかったの?
- 801 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 19:17:42 ]
- スレチの話題はそろそろ終了してくれ。続けるならマ板にでも逝け。
- 802 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 23:56:12 ]
- Ocamlも色々盛り込みすぎて,体系化されてるとは見えにくくなっている.
- 803 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 00:01:31 ]
- Camlp4で頑張ればUnicodeリテラルとか
[1..10]みたいな記法を使えるようになるんでしょうか
- 804 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 00:46:07 ]
- てか、オブジェクティブな要素はいらないだろ。
流行に流されてるなぁ
- 805 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 00:53:19 ]
- >>804
lablgtkとかはいいんだけど、自分で使う分にはいらないよね、オブジェクト指向要素。 でもそこを否定すると"O"Camlじゃなくなるww
- 806 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 01:10:01 ]
- 前から疑問だったんだけど、オブジェクティブじゃない素のcamlってのは
発展してるの?というか、継続的に開発されているの?
- 807 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 02:29:32 ]
- バリバリのOCaml使いって、関数型だとかそういうの拘らないで、
副作用使いまくり、オブジェクト指向使いまくりで 関数型の要素もある手続き型言語ですみたいな感じで書いてたりするんだろうなあ。。。
- 808 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 03:58:12 ]
- >>807
なんか偏見?そりゃHaskellよりはゆるいかもしれないけど。 バリバリのOCaml使いが作ったと思われるJane Street Capitalのcoreライブラリとか読んでもそんな感じはしないよ。
- 809 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 04:00:47 ]
- >>807
バリバリのC使いがにわかOCaml使いになってプログラムしたんだろ。
- 810 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 07:01:13 ]
- >>808
mldonkeyとか読んだ。でもあんま沢山のアプリを読んでないのですまん。
- 811 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 09:07:42 ]
- OCamlはフランスで作られているのだからフランス語をやるべきだ。
wikipediaひとつみてもフランス語が断然情報量が多いね。 フランス語 fr.wikipedia.org/wiki/Objective_Caml 日本語 ja.wikipedia.org/wiki/Ocaml 英語 en.wikipedia.org/wiki/Objective_Caml
- 812 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 09:39:21 ]
- オブジェクトはOcamlの鬼子
d.hatena.ne.jp/camlspotter/20080906/1220723583 d.hatena.ne.jp/camlspotter/20080908/1220846961
- 813 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 10:25:50 ]
- lispわかってる人がOCamlマスターするのにかかる時間ってどのぐらい?
3日じゃ無理?
- 814 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 12:24:20 ]
- >>813
3時間ぐらい
- 815 名前:デフォルトの名無しさん [2009/01/13(火) 18:09:27 ]
- ↑↑馬鹿だろ
- 816 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 18:17:27 ]
- >>813
lispマスターがOCamlわかるのには大体3週間ぐらい。(これはマジレス) lispわかってる人がOCamlマスターできないと悟るのが3分くらい。
- 817 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 20:38:13 ]
- 初Ocaml
階乗計算を2通りやってみた。 codepad.org/5vBjk9Cm どっちの書き方の方が多い?
- 818 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 21:00:36 ]
- let rec fac=function
| 0 -> 1 | x -> x*fac(x-1);; はどうよ?
- 819 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 21:13:25 ]
- >>818
同意。
- 820 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 21:16:50 ]
- >>817, >>818
3通り codepad.org/5bAL8aRu
- 821 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 21:54:19 ]
- 型の例
codepad.org/UGqmVJcb
- 822 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 22:01:22 ]
- 凄く細かいことだけど、自分は OCaml なら fact (n + 1) と必ず空白を入れるかな。
C や Java だと、その括弧は関数の引数を括るための特別な記号だけど、 OCaml だとそういう意味はなく、単に演算の優先順位を示す普通の括弧だから 2 * (3 + 4) の括弧に空白を入れるのと同じ理由で fact の後の括弧にも空白を入れる。
- 823 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 23:08:59 ]
- >>822の言うように修正したコード
codepad.org/i8vprhP5
- 824 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 23:20:24 ]
- let fact n = fold_left ( * ) 1 [2..n]
とか書けたらいいのにと思いますた 遅延計算で
- 825 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 23:23:22 ]
- >>823を相互再帰にする。3つの関数のどこから計算しても同じ。
codepad.org/x8n2Lk8r
- 826 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 23:51:52 ]
- Yコンビネータを2種類追加して全部で5通りになった。
codepad.org/oGJ4Mwzh
- 827 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 23:53:36 ]
- >>825
相互再帰を入れれば全部で6通り。
- 828 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 00:24:56 ]
- >>824
Haskellならできるね fact n = foldl1 ( * ) [1..n]
- 829 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 00:35:06 ]
- PythonもHaskellよりはダサいですが一応出来ます
from operator import mul fact = lambda n: reduce(mul, xrange(1, n+1))
- 830 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 15:24:18 ]
- 末尾再帰バージョン
codepad.org/vE2CJfG0
- 831 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 20:08:54 ]
- マージソートを作ってみた。リストの表示に良い方法ってあるの?
codepad.org/VJydA6mc
- 832 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 20:16:02 ]
- >>826
それ>>164まんまw
- 833 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 20:16:18 ]
- extlibのStd.printが汎用プリンタっぽいですね
- 834 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 20:32:39 ]
- >>833
ありがとう。どうやらcodepadでは #use "topfind";; #require "extLib";; が使えないみたい。
- 835 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 19:43:52 ]
- 簡単なオブジェクトの例
codepad.org/v0ANkxs1 (* helloオブジェクトのメソッドprintを呼び出す。 *) hello#print ;;
- 836 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 19:58:40 ]
- >>835の例をもう少しちゃんと書くと
codepad.org/kJsrhxd6 let hello = new c_hello ;;
- 837 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 20:30:48 ]
- >>836のクラスを継承する。
codepad.org/Q1xMkrvt
- 838 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 19:01:06 ]
- リストの操作の練習など
codepad.org/Ggh5Z9mp
- 839 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 05:42:37 ]
- 和集合は
else
- 840 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 05:44:24 ]
- 間違えて途中書き込みしてしまった
和集合は else h :: union t b よりも else union t (h::b) のがいいんじゃね?
- 841 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 16:43:36 ]
- >>840
いいわけないだろ。 hが加わった分だけ再帰に余計な計算が加わって遅くなる。 ばか?
- 842 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 16:48:47 ]
- 計算量多くなるけど、入力に同じのが入ってたときを考えたんだが。
入力が正しくないときなんて考えるだけ無駄か。
- 843 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 17:20:19 ]
- 俺も>>840と同じように思いました
>>840方式なら、計算ステップ数は同じで、末尾再帰になりませんか? >>838のコードは末尾再帰になっていない分効率が悪いですよね
- 844 名前:843 mailto:sage [2009/01/24(土) 17:21:39 ]
- ああそうか
再帰のステップ数は変わらないけど、memberpの計算量が増えていくのですね 理解しました
- 845 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 21:43:51 ]
- >末尾再帰になっていない分効率が悪いですよね
codepad.org/NLLYr3fJ codepad.org/KnzRmJjp よくそんな嘘を平気で言えたもんだw
- 846 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 13:14:19 ]
- OCamlを使っている皆さんのプログラミング環境やプログラミングスタイルって
どういうものなのか教えていただけませんか?
- 847 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 09:08:33 ]
- 環境やスタイルっつーてもねー、もうちょっと質問を明確にできない?
linux, gcc, ocaml3.11, OMake/Makefile, emacs, tuareg1.46.2, 80chars/line, indent 2chars とか、そういうこと知りたいの?
- 848 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 10:06:07 ]
- ドテラ着てコタツに入ってみかん食いながらプログラミングするのが今時のスタイル。
- 849 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 22:25:20 ]
- BT別/トイレ有/風呂有/シャワー/室内洗置/給湯/ガスコンロ対応/
システムキッチン/エアコン/冷房/暖房/BSアンテナ/CATV/エレベータ/ オートロック/収納/フローリング/分譲賃貸/駐輪場/ガス2口/浴室乾燥機/ シャワー付トイレ/バルコニー/外壁タイル/クロゼット/宅配ロッカ/CS/照明/ インターネット接続可
- 850 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 22:34:40 ]
- FONに追加したSDカード上のLinux環境(Open-WRT)に
ログオンしてemacs起動してサーバーサイドを作成してる。
- 851 名前:sage mailto:sage [2009/02/07(土) 08:21:54 ]
- 自分はEmacs + ocaml-mode。
多くの人は同じじゃね?
- 852 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 13:00:09 ]
- >>847
・コンパイラに○○、 ・デバッグのために○○と○○、 ・エディタには○○、 ・IDEを使う場合は○○、 ・開発用と検証用のPCを分けたり、 ・開発用・検証用PC間のデータ共有にLANを使ったり、 ・通信にRS232Cを使ったり、 ・コンパイルするまえに検証したりするかどうかとか、 ・バグが見つかったときの対処方法など、 ですね。 ほかにも必要な要素があればぜひ付け加えてください。 どういうプログラムを作るかにも因るかもしれませんが、 要するにどういう種類のプログラムを作るときどういう手順を踏んでいるのか、 ということを教えていただければ幸いです。
- 853 名前:852 mailto:sage [2009/02/07(土) 13:03:48 ]
- 追加ですが、
ソースコード管理や配布などについても教えていただければ幸いです。
- 854 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 20:34:01 ]
- >>851 tuareg-modeは楽しいよ
- 855 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 07:22:46 ]
- コンパイラはocaml3.11+ocamlspotter patch.
デバッグは主にextlibのdumpで画面表示. 超絶困ったときにはocamldebug. エディタはemacs. IDEはいまのところ使ってない. 全体をコンパイルする前に大きく編集したファイルは-iオプションで個別に型をチェック. -annotオプションは殆ど常に付けていて、謎な動きで困ったときには型とかも参考にしながら動作を追う. 上で抑えられているはずの(match文とかの)ありえない遷移にはassertとかも付けている. ヒットしたことないが.
- 856 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 10:52:48 ]
- >>855 と殆ど同じ
> ・開発用と検証用のPCを分けたり、 > ・開発用・検証用PC間のデータ共有にLANを使ったり、 > ・通信にRS232Cを使ったり、 これは OCaml と何の関係もないと思うが。必要な人はそうするだけの話でしょう。 > ・コンパイルするまえに検証したりするかどうかとか、 質問の意図がよくわかりません。 コンパイラに通す、という事以上に意味のある検証を、 コンパイラに通す前にできるとは思えませんが。 通した後にモデルチェッカとか定理証明器でさらに検証する、 というのなら判りますが、実際やっている所を聞いたことがありません。 あれば是非話を伺いたいです。 > ・バグが見つかったときの対処方法など、 printf debug は馬鹿にできない。 assert して backtrace とかかな? 最悪 ocamldebug。gdb は意外といける。
|

|