- なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
844 :デフォルトの名無しさん[sage]:2015/11/07(土) 11:57:45.08 ID:ptDOELGY - スタックフレームが溢れるような良くない再帰関数を、
ヒープ領域に用意したスタックとループで実装し直してもアウトオブメモリになる危険性は変わらないよ! ループや再帰が出てくる前の、アルゴリズムの見直しをしようね!
|
- 【.NET】F#について語れ2【OCAML】
713 :デフォルトの名無しさん[sage]:2015/11/07(土) 12:07:04.32 ID:ptDOELGY - FParsecで簡単にパーサが書けたのは良かった。
が、400行程度のパーサをMonoDevelopで開こうとしてフリーズしたり、LINQ to EFを使おうとしてよくわからなくなったりなど、 F#の周囲の開発環境で挫折中。気力が沸いたらまた挑戦するかもしれん。
|
- プログラミング言語 Rust
480 :デフォルトの名無しさん[sage]:2015/11/07(土) 12:41:15.36 ID:ptDOELGY - OCamlがRustから遠い言語だと!letやらOptionやらを見ればOCamlの香りがするだろう!
OCamlの型システムを魔改造して、ガワをC++やJavaにして、ついでにGCも取っ払ったらRustだろうが! 使えば使うほど「OCamlならもっと楽に書けるなーこの式」とか思っちゃうくらいには近いぞ。 というか何故しなかったのか。 パターンマッチのデリミタを|から,にしたり、ジェネリック型の表記をT ListからList<T>にしたり、 式をML系列(foo x y)からalgol系列(foo(x,y))にした理由が未だに分からない。 括弧の量が増えて困る。
|
- プログラミング言語 Rust
486 :デフォルトの名無しさん[sage]:2015/11/07(土) 22:37:40.80 ID:ptDOELGY - OCamlのRevised Syntaxはcamlp4で拡張する用途がメインだし、作った側も推進しているわけじゃない
F#のlightweight syntaxとはちょっと違う。 >>481 いや、色々な言語を触ってはきているけど、ML畑が主では無いよ。 感じるのは、関数型言語で便利だった機能を持ってきているけど、 よく考えてC++やJavaの見た目にしているのかが分からない、引っかかってるだけなんだ。 パターンマッチは、どうしてわざわざ","で区切るのか。orパターンで"|"も使うのに。 match expr { | p1 | p2 => doA | p3 => doB } の方が、"|"がORの意味を持つという慣習とも意味が合っていい。 今だと、 match expr { p1 | p2 => doA, p3 => doB } とdoAの後にセミコロンより見えにくい","を打つか、あるいはSQL的に match expr { p1 | p2 => doA , p3 => doB } と書くかしないといけない。 どちらも"|"をデリミタにしたときより見づらいと思う。
|