[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 09/01 11:11 / Filesize : 241 KB / Number-of Response : 1017
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



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/

788 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 13:58:52.58 .net]
>>774
関数を計算の対象とすること、いいかえると、関数を引数として受け付けたり
関数を返す関数のことを「高階の関数」または「高階関数」という
さらに、高階関数の中で計算の対象が関数だけなものを「汎関数」という
つまり高階関数は広い概念で、汎関数は狭い概念

たとえば関数 map や filter は高階関数であるけれど、リストも計算対象だから汎関数ではない
それに対して、合成関数 o は高階関数であるし汎関数でもある

789 名前:デフォルトの名無しさん [2013/10/28(月) 14:26:11.39 .net]
let foo f g x = g (f x) ;;
val foo : ('a -> 'b) -> ('b -> 'c) -> 'a -> 'c = <fun>
って合成関数があったとして
'aの引数は計算対象外になるの?

790 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 15:17:35.72 .net]
>>779
記法のせいでわかりにくいけど
('a -> 'b) -> ('b -> 'c) -> ('a -> 'c) って考えればいい

791 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 15:25:02.71 .net]
あと汎関数は量を返す物をいうはず。
だから合成関数は汎関数でなく、高階関数。

792 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 15:27:39.31 .net]
間違えた
合成関数を"返す" 関数は汎関数でなく、高階関数。

793 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 15:32:51.19 .net]
>>779
まず 'a は型変数だから、「'a の引数は...」という用法は日本語として不適切

で、もし質問の意図が「関数 foo の定義における第三引数 x は、関数 foo の計算対象外か?」
であるならば、答えは Yes
引数 x は関数 f の計算対象であるけれど、汎関数 foo の計算対象ではない

汎関数を定義する場合、>>779 も決して間違いではないが、以下のように書いたほうが、
「x は(fooの引数ではなく)無名関数の引数である」という意図が理解しやすいだろう(言語はSML)

- fun foo f g = fn x => g (f x);
> val ('a, 'b, 'c) foo = fn : ('a -> 'b) -> ('b -> 'c) -> 'a -> 'c


>>781
では、その量を返すという汎関数の具体例を挙げてみてくれないか?

794 名前:デフォルトの名無しさん [2013/10/28(月) 16:06:23.87 .net]
例えばmapをばらしたときに

let rec map f ls = match ls with
[] -> []
| x::xs -> f x :: map f xs ;;

val : ('a -> 'b) -> 'a list -> 'b list = <fun>

たぶんこんな感じで再帰になってるけど
無名関数は再帰で書けないから
無名関数で書けたら汎関数でよい?

795 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 16:10:19.68 .net]
>>783
>では、その量を返すという汎関数の具体例を挙げてみてくれないか?
なんで?
とりあえず、定義っぽいのは見つけたよ。
www.encyclopediaofmath.org/index.php/Functional

796 名前:デフォルトの名無しさん [2013/10/28(月) 16:41:42.96 .net]
ん?schemeはYコンビネータを使って
Y = (λf . (λx . f (x x)) (λx . f (x x)))
無名再帰ができると書いてあるな
何が違うんだろ?動的言語だと出来るとか?



797 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 17:26:32.96 .net]
>>784
汎関数の定義に無名関数を使うことは多いけど、
だからといって、すべての無名関数を用いた定義が汎関数となる訳ではない
だから「無名関数で書けたら汎関数でよい?」という質問については No だ
ただし「引数としてある関数を渡すとmapと同等な無名関数を返す」汎用的な関数が
定義できるのであれば、その関数は汎関数であるといえるだろう

なお、再帰と汎関数は直交するから再帰を伴わない汎関数も存在する(たとえば合成関数 o)
したがって「再帰で書けたら汎関数でよい?」という質問についても No となる


>>785
数学における用語「汎関数」と計算機科学における「汎関数」をごっちゃにしているのでは?
で、ここは(数学板ではなく)プログラム板だ

798 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 17:37:07.70 .net]
>>787
>数学における用語「汎関数」と計算機科学における「汎関数」をごっちゃにしているのでは?
えええー!初耳だよそんなの。
計算機科学の汎関数の定義は?

799 名前:デフォルトの名無しさん [2013/10/28(月) 19:17:55.24 .net]
同値再帰型なんてのもあるんだね
OCamlって最強言語じゃね?

800 名前:デフォルトの名無しさん [2013/10/30(水) 09:26:41.50 .net]
高階関数のままと
簡約した形と
評価までの速度に違いがあるのかな?
見やすさで選ばれてるだけ?

801 名前:デフォルトの名無しさん mailto:sage [2013/10/30(水) 13:20:56.16 .net]
cygwin64bitにもOCaml登場

802 名前:デフォルトの名無しさん mailto:sage [2013/10/30(水) 19:40:53.15 .net]
簡約した形とは

803 名前:デフォルトの名無しさん mailto:sage [2013/10/31(木) 18:52:31.73 .net]
ゴルフに出てくる;;の後の
1@0
って何ですか??

804 名前:デフォルトの名無しさん mailto:sage [2013/11/01(金) 12:27:52.67 .net]
kwsk >>793 #ゴルフ

805 名前:デフォルトの名無しさん mailto:sage [2013/11/01(金) 21:39:55.79 .net]
コードゴルフか?
'a list -> 'a list -> 'a list じゃなさそうだし自分で定義してるんじゃね?

806 名前:デフォルトの名無しさん [2013/11/02(土) 18:53:12.88 .net]
S式みたいに
(< 1 2 3 4 5 6 7 8 9)
でtrue みたいに一発で計算ってできますか?



807 名前:デフォルトの名無しさん [2013/11/02(土) 19:14:43.17 .net]
そういうの書けばできるでしょ

808 名前:デフォルトの名無しさん [2013/11/03(日) 00:39:10.77 .net]
let rec less_than lst = match lst with
[] -> None
| x :: [] -> Some true
| x :: y :: xs -> if x < y then less_than (y :: xs)
else Some false ;;

なんか一行ですっきり書きたい

809 名前:デフォルトの名無しさん mailto:sage [2013/11/03(日) 09:57:51.24 .net]
f op xs = and $ zipWith op xs (tail xs)

810 名前:デフォルトの名無しさん [2013/11/03(日) 11:18:30.19 .net]
ん?それHaskellじゃね?

811 名前:デフォルトの名無しさん [2013/11/03(日) 11:27:32.82 .net]
こうかな。

fun lessThanForAll l = ListPair.all (op <) (l, tl l);

812 名前:デフォルトの名無しさん mailto:sage [2013/11/03(日) 21:33:04.10 .net]
ocamlだとむずい

813 名前:デフォルトの名無しさん [2013/11/21(木) 06:02:11.85 .net]
盛り上がってるね。

814 名前:デフォルトの名無しさん mailto:sage [2013/11/25(月) 19:28:29.05 .net]
camlp4の入手先を教えて下さい

815 名前:デフォルトの名無しさん mailto:sage [2013/11/25(月) 20:49:45.57 .net]
ttps://github.com/ocaml/camlp4

816 名前:デフォルトの名無しさん [2013/11/25(月) 23:43:19.04 .net]
camlp4ってなんか開発側のよくわからない方針により大幅に変更されてもともと乏しかったドキュメントが一層整備されてない状態になってから使う気なくした。



817 名前:デフォルトの名無しさん mailto:sage [2013/12/13(金) 08:01:15.59 .net]
ああ、ハームが強いとか言ってたキルハイエナさんか

818 名前:デフォルトの名無しさん mailto:sage [2013/12/13(金) 08:02:13.53 .net]
誤爆

819 名前:デフォルトの名無しさん mailto:sage [2013/12/14(土) 16:52:12.01 .net]
fezにお帰りください

820 名前:デフォルトの名無しさん [2013/12/19(木) 13:30:02.87 .net]
ABC予想をOCamlで書いて

821 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 19:03:28.13 .net]
row polymorphism(< method_foo : foo -> bar ; .. >の"..")が何か泥臭い感じがしてOCamlのOが好きじゃないのですが、
row polymorphismとexact typeを区別するべき理由ってあるのでしょうか。

822 名前:デフォルトの名無しさん mailto:sage [2014/01/20(月) 01:16:23.89 .net]
こんな本でた

JavaScriptで学ぶ関数型プログラミング
www.amazon.co.jp/dp/4873116600/

なんか面白そう

823 名前:デフォルトの名無しさん [2014/01/25(土) 20:39:37.59 .net]
みんなどこいったんや

824 名前:デフォルトの名無しさん mailto:sage [2014/01/27(月) 00:37:41.63 .net]
VBAを捨てて関数型言語がデフォルトでサポートされるのは、いつだろうか

825 名前:デフォルトの名無しさん mailto:sage [2014/01/27(月) 01:45:51.79 .net]
そんな日は来なくていい

826 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 03:59:19.18 .net]
ExcelマクロにVBAとF#の選択肢が標準だったなら、関数型は主流になれる



827 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 04:04:55.48 .net]
>>813
クオンツやアクチュアリーもどきの個体数が増えすぎて、
市場価値が下がらないように口を紡ぎだしたとみた

828 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 01:01:52.05 .net]
口を・・・つむぐ?

829 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 01:04:27.44 .net]
口をつぐんだ人ならいるかもね

830 名前:デフォルトの名無しさん [2014/01/29(水) 21:56:44.82 .net]
あれでしょ、世の中に不満があるなら自分を変えろ、それが嫌なら耳と目を閉じ、口を紡いで…あれ?

831 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 21:58:26.24 .net]
お口にチャックノリス

832 名前:デフォルトの名無しさん mailto:sage [2014/02/12(水) 23:38:39.41 .net]
Batteriesを使用しているコードをjs_of_ocamlで変換するとMissing primitivesという警告?が出て
JavaScriptの実行時エラーが出てしまいます
これはどうしたら解消できるのでしょうか

コマンド
ocamlfind ocamlc -syntax camlp4o -package lwt,js_of_ocaml.syntax,batteries -g -c foo.ml
ocamlfind ocamlc -package lwt,js_of_ocaml,batteries -linkpkg -o foo.byte foo.cmo
js_of_ocaml foo.byte

出ているメッセージ
Missing primitives:
caml_ba_init
caml_sys_const_big_endian
caml_sys_const_ostype_cygwin
caml_sys_const_ostype_unix
caml_sys_const_ostype_win32
caml_sys_const_word_size
create_nat
incr_nat
initialize_nat
mult_digit_nat
set_digit_nat
set_to_zero_nat
unix_inet_addr_of_string

833 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 19:52:50.09 .net]
いくつかはjs_of_ocamlを更新すれば定義されてる
nat関係のは提供されてないのでダミーの関数を
funciton create_nat(){}のように自分で追加するか
batteriesのサブセットを切り出して使うか

core_kernel使ってる人もいるらしい

834 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 23:42:09.86 .net]
js_of_ocaml 1.4.0を使っていますがこれではダメなのでしょうか?
nat関係は適当にスクリプトを書いて対応しようと思います
unix_inet_addr_of_stringはbatteries関係なく出てしまうようですね

835 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 23:59:27.54 .net]
bigarrayサポートがまだgit版にしかない
unix_inet_addr_of_stringはruntime/unix.jsをリンクすれば大丈夫だけど
opamで入れたなら多分入ってない

836 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 00:28:20.76 .net]
bigarrayサポートはnat関係のことですよね?
もしそうだとするとcaml_XXXは一体何が原因なのでしょう
それとunix_inet_addr_of_stringはopamで入れている以上直る?ことはないということなのでしょうか



837 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 00:35:30.75 .net]
調べてから書くべきでした
caml_XXXがbitarrayの関数ですね

838 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 00:36:59.24 .net]
big・・・

839 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 00:45:48.03 .net]
> それとunix_inet_addr_of_stringはopamで入れている以上直る?ことはないということなのでしょうか
公式のも唯の空の関数なんで自分で定義しても一緒だし
開発版では修正済みだから1.99だか2.0が出てopamパッケージになれば大丈夫

840 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 01:06:19.10 .net]
なるほど
いずれ修正されることと今でも少し手を入れれば動くことがわかったので良かったです
親切にありがとうございました

841 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 20:02:36.51 .net]
www.reddit.com/r/programming/comments/1xtohg/ocaml_replacing_python_what_you_gain/

842 名前:デフォルトの名無しさん mailto:sage [2014/02/24(月) 14:22:45.10 .net]
toplevelで、コンパイルした自作のライブラリを使いたいとき、
#load "/foo/bar/my.cmo";;
とやったのですが、モジュールMyが無いと怒られたため、試行錯誤した結果、toplevelで
#directory "/foo/bar";;
#load "my.cmo";;
と2段階に分けるか、コマンドラインで -I /foo/bar としなければならなかったのですが、こんな不便な仕様が存在しているはずがないと感じました。
別ディレクトリにあるファイルを読み込む正しいやり方ではどうすればいいのでしょうか。誰か教えていただけたらと思います。
my.cmoは/foo/bar内で:`ocamlfind ocamlc -pkg batteries my.ml`とやって生成しています。

843 名前:832 mailto:sage [2014/02/24(月) 14:28:40.75 .net]
>>832
あ、使用しているOSはLinuxで、OCamlのバージョンは4.01.0です。

844 名前:832 mailto:sage [2014/02/24(月) 21:13:12.02 .net]
findlibのソースを読み、ocamlのソースを読んだ結果、不便な仕様は不便な仕様のようです。
諦めます。

845 名前:デフォルトの名無しさん [2014/04/20(日) 10:33:29.81 ID:Ar2j+hn/.net]
∀x. P(x) とかλx. x のドットと同じなんじゃない。

846 名前:デフォルトの名無しさん mailto:sage [2014/04/20(日) 15:50:34.61 ID:jkTnuZFL.net]
structureのドットじゃないのか



847 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 20:07:50.69 ID:yuYA7aLZ.net]
>>835
型hogeは('a -> 'a) -> 'a -> 'aという関数tを持つものだよ、というだけなんだが、
まずその'a.っていう表記が無いとエラーが出る。
エラーメッセージに脊髄反射してtype 'a hoge = { t : ('a -> 'a) -> 'a -> 'a }と定義すると、
hoge型の値を作ったときint hogeとかstring hogeとかになって、
tも(int -> int) -> int -> intとかになっちゃう。
いや違う、オレはhoge型の値にidentity:'a -> 'aや(=): 'a -> 'a -> boolのように、多相性を持った関数tが欲しいんだって時に
'a.っていう表記を使う。

用途は何と問われるとちょっと困る程度にはマイナー。

848 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 20:47:43.26 ID:Rx5WvURy.net]
何言ってるか分からないですね

849 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 22:11:28.21 ID:fVb21MOO.net]
aはずっと自由変数ですよ、特殊化されませんよ、ってのを明示するのに使うのか

850 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 22:41:15.05 ID:OJl2bhdr.net]
基本的に、変数は(もし多相性を持っていても)初期化された時点で単相型になる
関数は呼び出されると引数が初期化されるのでその時点で単相型になる
関数自身を変数に入れると、呼び出してなくても変数を初期化しただけで単相型になる

>>835のhoge型の変数は基本とは違って、初期化しただけでは単相型にならないっぽい

851 名前:デフォルトの名無しさん [2014/04/23(水) 23:18:57.87 ID:ddVBuvib.net]
ためになるわー。

852 名前:835 mailto:sage [2014/04/24(木) 21:17:13.51 ID:4Y8KSBKa.net]
回答ありがとうございます。与えられたチャーチ数の定義がこれだったのですが、周りに聞いてもあまり良い回答を得られなかったので、とても助かりました。
確かにチャーチ数であれば、多相性が維持されなければ駄目ですね。

853 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 06:41:29.78 ID:gmFOA17u.net]
最近JITが高速と聞くのですが
MLtonよりもJITが高速になる場合も
あったりするのでしょうか

854 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 11:29:52.70 ID:88BxxZ+X.net]
早くなるケースもあるけど
大抵のケースは、工夫しないと遅いので作り込みが大変
なので、大体が学生の研究で作って、終わっちゃうんじゃないかな。

速さというより、F#みたいにVM環境向けにbytecodeに落とし込むケースは、あるかも。

C言語の例だと、CERNで、HPのGotoさんが作ってたCINTというCインタプリタがインターラクティブ環境が必要ということで採用されてた。
現在は、規格に追従&共通基盤の恩恵を受けられるllvmベースのclingを開発中。

855 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 12:50:13.67 ID:viF1oq7i.net]
10年以上前だがJavaのShuJITとかあったけど、その作者のプロジェクトを終えるに
あたってのまとめが、少々の理論的な優位点なんて、カネとヒトがたくさんある奴
(よーするにS

856 名前:un(当時)やIBMやHPの作ってるJVM)のパワーの前には吹き飛ぶ、
だった。
[]
[ここ壊れてます]



857 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 23:01:59.86 ID:2uUNFhKi.net]
いまは、LLVM使うと巨人の肩に乗れるね。
JVMはHotSpotVMベースになってOpenJDKがオープンソースになってるからその上でいじれるように
JSのVMは激戦だけど、IEの実装以外はオープンソースという。
LuaJITは、個人でつくってるのでオーパーツ。

858 名前:デフォルトの名無しさん mailto:sage [2014/05/10(土) 22:51:43.07 ID:SJ0/UQRG.net]
言語処理系の最適化はマンパワーが必要なので……今はトレンドがLLVMに色々集まる方向性かな

859 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 21:26:19.65 ID:dnbz3Cdj.net]
C++11という巨人の肩に乗ろう

860 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:10:36.00 ID:xvKPpHt2.net]
コンパイラは、MLで作ると楽という話もあるが、、、
そこらへんはジレンマ?

861 名前:デフォルトの名無しさん [2014/05/13(火) 09:28:41.53 ID:34BaoroY.net]
>>847 js_of_ocaml ってJavaScriptで書くより最適化で高速になるからそういう方向もあるかも。
ttp://jsperf.com/js-of-ocaml

862 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 20:13:34.93 ID:5OIUPatf.net]
Excelのセル中で、F#で定義した関数が使えたら面白いかもと思った。

863 名前:デフォルトの名無しさん [2014/05/16(金) 08:18:12.70 ID:72NRi/gE.net]
altJS としては最適化手法が数学的に議論されていて論文も出ている js_of_ocaml が最強なのでは:
ttp://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.224.7457&rep=rep1&type=pdf

864 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 16:19:49.33 ID:PtE4FBA8.net]
LuaJITって個人のなの?ブラジル生まれだとは知ってたが。
あとllvmってコンパイラ基盤としては楽だけど、インタプリタとしてはちょっと難ありじゃないかしら。
適当に使うと最初の起動時間がかなり遅い。

865 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 03:51:33.29 ID:RMSyflwZ.net]
Luaは、ブラジル、リオデジャネイロの大学の研究グループから
LuaJIT作ってるのはドイツ、ミュンヘンの人

866 名前:デフォルトの名無しさん mailto:sage [2014/06/01(日) 17:00:19.03 ID:3NiYSkpU.net]
TAPLのexercise 3.2.5が分からん。なんで3.2.3の定義で S_i ⊆ S_{i+1} になるんだ?
各S_iは最初のS_1とかを除いて、disjointになるように思える。
本持ってる人教えて



867 名前:デフォルトの名無しさん mailto:sage [2014/06/01(日) 20:16:49.72 ID:dwNATPFa.net]
https://bitbucket.org/camlspotter/ocaml-zippy-tutorial-in-japanese/src/434b26af16405ba8aaae0d89ba12bd2275eac9d3/4.02.md?at=default

868 名前:デフォルトの名無しさん mailto:sage [2014/06/09(月) 23:28:07.14 ID:g6XVfS4Z.net]
ocamlの演算子、**より~-.の方が優先順位が高いのはなぜ?

869 名前:デフォルトの名無しさん mailto:sage [2014/06/22(日) 23:27:34.81 ID:kfNNTRTT.net]
単項だからでは

870 名前:デフォルトの名無しさん [2014/07/05(土) 07:26:50.37 ID:uomUGxMD.net]
OCamlの日本語の文字列扱うのて
上手く行かないものですか?

871 名前:デフォルトの名無しさん mailto:sage [2014/08/01(金) 09:24:52.78 ID:Z/VI2an6.net]
どの程度のレベルで上手くやろうとしているのか分からないけど、単純にstring型に代入、表示は何も無しでも動作するが、Stringモジュールは多言語に対応しているわけではない。String.lengthなどは狙い通りには動かない。
ライブラリ(Batteries, Camomile)等を使えば日本語できる。

と思ってBatUTF8を弄ってみたが、containsとかiterとかでBatUChar.tを取り扱う必要があるくせに、
BatUChar.t型を作る方法が面倒だなあ。of_digitしか無い。BatUTF8.get "あ" 0で誤魔化せるが、迂遠。

872 名前:デフォルトの名無しさん [2014/08/28(木) 00:17:52.33 ID:KKzfTscW.net]
SML/NJ version 110.77 リリース!
バージョン番号を4.0にリセットする前に、数回のリリースがあって、その中に64bitサポート
が含まれるらしいが、今回はbugfixのマイナー・リリースらしい。
外部関数の32bitコンパイルがそろそろサポートされなくなりつつあるので、64bitサポートが
はやくリリースされてほしい。

873 名前:デフォルトの名無しさん mailto:sage [2014/08/28(木) 00:31:14.45 ID:3eVJnuNA.net]
まだやってるんだな NJ

874 名前:デフォルトの名無しさん mailto:sage [2014/08/28(木) 22:23:43.51 ID:fRdOqM0/.net]
camomileの使い方が全然わからないんですがどこを読めばいいんでしょうか
主に文字コード変換と正規表現について知りたいです

875 名前:デフォルトの名無しさん mailto:sage [2014/08/29(金) 22:52:22.51 ID:LjCjaXt3.net]
いつの間にかOCaml4.02.0

876 名前:デフォルトの名無しさん [2014/08/30(土) 19:35:20.64 ID:8G53+yskN]
age



877 名前:デフォルトの名無しさん [2014/08/30(土) 23:41:43.96 ID://K1VbLN.net]
test

878 名前:デフォルトの名無しさん mailto:sage [2014/09/02(火) 08:32:32.40 ID:3nEDqgz+.net]
OCamlのマニュアルにocamlbrowserがまだあるのはバグっすな

ocamldoc/trunk/manual/cmds/Makefile line#2
remove "browser.tex "

879 名前:デフォルトの名無しさん [2014/09/02(火) 22:57:08.51 ID:h4iRRc1G.net]
ocaml標準のlexでは日本語が扱えないのでulexに差し替えたらparserが死んだでござる。
ダメだこりゃ

880 名前:デフォルトの名無しさん mailto:sage [2014/09/16(火) 16:34:15.58 ID:smkPtKEd.net]
>>868
ttps://github.com/darioteixeira/ccss/blob/master/src/ccss.ml#L25
menhirとulexを一緒に使う方法。

881 名前:デフォルトの名無しさん mailto:sage [2014/09/24(水) 22:11:44.77 ID:ChDiOOXp.net]
ocaml 4.01.0で
# Obj.size @@ Obj.repr 1
がバグるんだけど、理由わかる?

882 名前:デフォルトの名無しさん mailto:sage [2014/09/24(水) 23:08:38.11 ID:wtmzOZEz.net]
仕様です。
ソースはおろかドキュメントすら読まずにObjを使うとはアホの極みです。

Chapter "Interfacing C with OCaml", Section 2..3

883 名前:デフォルトの名無しさん mailto:age [2014/09/26(金) 02:16:11.74 ID:63HfXufw.net]
OCamlのすごさはもっと知られるべき #オブジェクト指向 や #関数型 は「敗者の道具」である itpro.nikkeibp.co.jp/atcl/watcher/14/334361/092200062/?ST=develop&amp;P=3

884 名前:デフォルトの名無しさん mailto:sage [2014/09/26(金) 11:58:16.90 ID:p4JSIuT/.net]
>>872
これタイトルで損してる記事だろ

885 名前:デフォルトの名無しさん mailto:sage [2014/09/26(金) 11:59:36.06 ID:LJo7FzMV.net]
みかかデータ、マンセー記事っぽかったけど

886 名前:デフォルトの名無しさん mailto:sage [2014/09/26(金) 12:42:39.46 ID:/S6uCtFc.net]
関数型とかマルチパラ代務とかドカタには無理。オブジェクトだって散々語られてようやく、いや未だ、か

一部の突出した集団以外は、ほかにどうしようもない人が沈殿する職業になってるイメージ



887 名前:デフォルトの名無しさん [2014/09/26(金) 20:12:51.02 ID:+dkMIegW.net]
do構文の使用禁止の規約って全部>>=で書くってことなのだろうか。理由も含めて気になる。

888 名前:デフォルトの名無しさん mailto:sage [2014/09/26(金) 20:54:07.13 ID:mU/FSdzC.net]
>>872
前半で散々オブジェクト指向をこきおろしておきながら、
中盤でOCamlを推すという意味不明な文章の論理の展開がある
ML族を推すのなら Caml か SML にしないと一貫性が無いし、
Caml にオブジェクト指向を後付けした "O"Caml 開発時の判断は
今となっては流行に踊らされた大きな失敗であったと断罪すべき

おまけに「個人的にOCamlがすごいと思う」とあるから何かと読んでみたら、
単なるパラメタ型多相の話でしかないことに笑ってしまった
「とがった」とか「すごい」とか、小学生の感想文とレベルは変わらない
こんなポエム記事で給料をもらえるのだから、日経ITproの記者とは楽な職業だね

>>873
タイトル以前の問題で、記事に中身が無くて話にならん

>>876
ソースコード解析ツールなら言語処理系と似た構造になるから、
(一般的には副作用を模倣するために使われる)do記法を使う必要性は無いと思われ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<241KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef