[過去ログ] 関数型言語ML (SML, OCaml, etc.), Part 6 (949レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
8(4): 2009/06/16(火)23:52 AAS
オブジェクトを使わずにステートマシンを作るのによい方法はありますか?
勉強のためにStateパターンをモジュールを使ってやってみようと思ったのですが、
相互依存を回避するうまい方法が思いつきません。
また、状態をそれぞれ別モジュールにするにせよ、一箇所にまとめるにせよ、動的に切り替えるためには
結局パターンマッチさせてそれらを呼び出すようになると思いますが、もっとスマートな方法はありますか?
43(4): 2009/06/23(火)16:00 AAS
外部リンク:www.infoq.com
ここに
「Feathers氏に反対する人の多くは、関数型のコード乱雑になる原因は、
関数型ではないイディオムを関数型言語に持ち込んだこと以外にはないと
信じている。」
っていう記述があるけど、関数型言語のイディオム(とかデザインパターン)って
どんなのがあるの?おしえてエロいひとー
45(3): 2009/06/23(火)17:28 AAS
>>43
そうだとするとあまりに漠然としていて多少の窮屈感が欲しくなるな。
ノーパンでスカートを穿いているような、あるいは力戦になって次に
なにを指せばいいのかわからない、そんな感じ。
そのうちそういうのがまとめられればいいなぁ。
82(3): 2009/06/29(月)21:04 AAS
>>81
ありがとうございます。1.03にしたら "OCaml build.ml"は上手く行ったようです。
しかし
「ocamlrun.exe - コンポーネントが見つかりません
ocamlrun.dll が見つからなかったため、このアプリケーションを開始できませんでした。」
となってしまいまたもや失敗。
>>73のリンク先を見るとLablGLのインストールが失敗してるというのですが
インストールしなおしても同じエラーメッセージが出ます。はてさて。
OCaml本体は"ocaml-3.11.0-win-msvc.exe"をインストールしなおしました。
83(3): 2009/06/29(月)22:06 AAS
Windowsだとライブラリのビルドでつまづくことが多いよね。
OcamlSDL関連のビルドで上手くいなかくてビルドを諦めた。
OCaml自体はプログラミング入門者にも比較的優しいと
思うけど環境は若干敷居が高めだと思う。
んでWindows使うのが悪いとかいわれちゃうとしょんぼりする。
そもそもLinux系を使うこと自体、本職でない人にとっては
普通ではないわけで。
148(4): 2009/07/25(土)19:43 AAS
OCamlで
(('a -> 'b) -> 'a -> 'b) -> 'a -> 'b = <fun>
int -> int = <fun>
で型だけを指定して変数を宣言することはできますか?
179(3): 2009/09/09(水)18:09 AAS
多分 configure したのが間違い。
OCaml の mingw のビルドを参考にしたら?
JoCaml には付いて無いけど OCaml の README.win32 に書いてある。
223(3): 2009/11/18(水)20:22 AAS
5年前の俺なら老害呼ばわりしたかもしれないが、
最近はむしろ尊敬するようになってきた。
なんつーか、歳を重ねるってのはそれだけで立派だよ。
対して俺はゆとりに「この昭和生まれが」と言われてショックを受けた
305(4): 2010/06/04(金)20:44 AAS
これも、一種のスタイル問題だが、
列挙型を定義するときに、
datatype X = X1 | X2 | X3 | ...
とするか
type X = int
val X1 = 1
val X2 = 2
...
とするかで悩んでしまう。最初は、vector (ランダムアクセス)を使わない
見込みだったのだが、必要になったときのことを心配してしまう。
345(3): 2010/09/21(火)22:59 AAS
最近SML#が活発に更新されているようなので、0.56インストールしてみました。
集合演算を使ったプログラムを書こうとしているのですが、
CM周りの問題のせいか上手く動きません。
例えば、sml#では、
# structure SSet = RedBlackSetFn(struct type ord_key = string; val compare = String.compare end);
stdIn:1.18-1.94 Error: unbound functor: RedBlackSetFn
となります。smlだと、
省9
357(3): 2010/11/11(木)21:49 AAS
>>356
MLは初心者だけど、>>305は(コードの問題ではなく)設計の問題だと思う。
代数構造として、直積(組型やレコード型)と列(リスト型や配列型)は全く別の概念。
コンパイルの前に要素の数が決定できるなら直積を使うべきだし、
実行してみないと決定できないのなら列を使う。あるいは動的なシンボルで
ランダムアクセスしたいならハッシュ型を、更に順序性が必要ならB木型を。
これらすべてはプログラムの設計工程で決定しておくべきもの。
設計工程での不具合をコーディング工程で取り返そうとするのは、よくある過ち。
>>356の解決策というのは、いわゆる「泥縄」的手法。いずれ破綻する。
いくらMLが美しい言語でも、設計が汚ければコードはグチャグチャになるよ。
省1
395(4): 2011/04/14(木)09:44 AAS
OCamlに興味が湧いてとりあえず五十嵐某の書籍買ってみた。
で、技術書買って真っ先にやることと言えば正誤チェック。
つ・・つかえねぇ・・・この本
誤謬の嵐だぜこりゃw
量がハンパネェ
本として機能してない
残念だがゴミ箱へ
456(3): 2011/07/30(土)21:28 AAS
みなさん、ありがとうございます。
OCamlスレなのにHaskell勧める人ばかりなので、OCamlに未練はあるけど、思い切ってHaskellやってみようと思います。
485(3): 2011/09/29(木)14:23 AAS
MLの型推論の部分だけ「俺言語」の中に取り込みたい
型推論の部分だけ分かりやすくコンパクトにまとめられたコードどこかにないでしょうか
564(3): 2012/10/12(金)11:22 AAS
# type t = int * t;;
Error: The type abbreviation u is cyclic
# type t = { x: int; y: t };;
type t = { x : int; y : t; }
# type u = u option;;
Error: The type abbreviation u is cyclic
# type u = Some of u | None;;
type u = Some of u | None
だれか解説してくれ。
667(3): 2013/09/13(金)10:13 AAS
let goukei = 720;;
let aa = 100
and bb = 350
and cc = 620
and dd = 705
;;
List.concat (List.map (fun a ->
List.concat (List.map (fun b ->
List.concat (List.map (fun c ->
List.concat (List.map (fun d ->
省5
734(3): 2013/10/10(木)19:24 AAS
fib(n) = fib(n-1) + fib(n-2)
fib(n-2)は呼ばれるが、計算済みだから新に計算はしないってことでしょ。
835(3): 2014/04/20(日)03:11 ID:8gJTdsza(1) AAS
初学者の質問で申し訳ないのですが、
type hoge ={ t : 'a. ('a -> 'a) -> 'a -> 'a };;
という型で'a.('a -> 'a)の「 . (ドット)」は何を意味するのでしょうか?
902(3): 2015/02/19(木)22:31 ID:/rXoqLFu(1) AAS
>>901
SML# という Standard ML の処理系は「ぜんぶもってる」よ
# fun get_x {X = x, ...} = x;
val get_x = fn : ['a#{X: 'b}, 'b. 'a -> 'b]
# val point_2d = {X=1.0, Y=2.0};
val point_2d = {X = 1, Y = 2} : {X: real, Y: real}
# val point_3d = {X=10.0, Y=20.0, Z=15.0};
val point_3d = {X = 10, Y = 20, Z = 15} : {X: real, Y: real, Z: real}
# get_x point_2d;
val it = 1 : real
省12
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.054s