関数型言語MLについて語るスレッドです。
MLは、確固とした理論的背景を持つ言語でありながら、
現実的なソフトの開発にも使用できる実用性を備えた言語です。
また、プログラミングの初心者が最初に学習する言語としても優れています。
総本山
Standard ML http://www.smlnj.org/
Objective Caml http://caml.inria.fr/ocaml/
前スレ
関数型言語ML(SML, OCaml, etc.), Part 5
http://pc12.2ch.net/test/read.cgi/tech/1186292994/
探検
関数型言語ML (SML, OCaml, etc.), Part 6
■ このスレッドは過去ログ倉庫に格納されています
2009/06/15(月) 07:15:21
2009/06/21(日) 13:16:20
2009/06/21(日) 19:21:20
前スレって埋まる前に落ちたんですか?
2009/06/21(日) 19:24:33
うん
2009/06/22(月) 09:18:56
2009/06/23(火) 09:00:15
ttp://flyingfrogblog.blogspot.com/2009/03/hlvm-has-been-released.html
HLVMってのはLLVMの関数型特化版、みたいなイメージ?
OCamlはこっちになるの? おしえてエロいひと
HLVMってのはLLVMの関数型特化版、みたいなイメージ?
OCamlはこっちになるの? おしえてエロいひと
2009/06/23(火) 10:34:57
釣りなの?釣りなの?
> HLVMってのはLLVMの関数型特化版、みたいなイメージ?
そういう理解でいい。
HLVM そのものの批判は詳細を知らないのでできないけど、
- Caml team は HLVM プロジェクトには全く噛んでない。
- Caml team と consortium が関知しない code generation の総入れ替えはありえない。
- HLVM で騒いでいる奴は各種言語メーリングリストの有名粘着。何かというとすぐ自分の有料メールマガジンに誘導。
- なんかちょっとした toy example が出来るたびに大騒ぎ。正直みんな食傷している。
将来化ける事もあるかもしれない。が、今は放置をお薦め。時間の無駄。
> HLVMってのはLLVMの関数型特化版、みたいなイメージ?
そういう理解でいい。
HLVM そのものの批判は詳細を知らないのでできないけど、
- Caml team は HLVM プロジェクトには全く噛んでない。
- Caml team と consortium が関知しない code generation の総入れ替えはありえない。
- HLVM で騒いでいる奴は各種言語メーリングリストの有名粘着。何かというとすぐ自分の有料メールマガジンに誘導。
- なんかちょっとした toy example が出来るたびに大騒ぎ。正直みんな食傷している。
将来化ける事もあるかもしれない。が、今は放置をお薦め。時間の無駄。
2009/06/23(火) 13:27:16
>>41
前スレでも話題になってたHarropのこと?
前スレでも話題になってたHarropのこと?
2009/06/23(火) 16:00:15
ttp://www.infoq.com/jp/news/2008/03/revoerability-and-testing-oo-fp
ここに
「Feathers氏に反対する人の多くは、関数型のコード乱雑になる原因は、
関数型ではないイディオムを関数型言語に持ち込んだこと以外にはないと
信じている。」
っていう記述があるけど、関数型言語のイディオム(とかデザインパターン)って
どんなのがあるの?おしえてエロいひとー
ここに
「Feathers氏に反対する人の多くは、関数型のコード乱雑になる原因は、
関数型ではないイディオムを関数型言語に持ち込んだこと以外にはないと
信じている。」
っていう記述があるけど、関数型言語のイディオム(とかデザインパターン)って
どんなのがあるの?おしえてエロいひとー
2009/06/23(火) 16:23:20
2009/06/23(火) 17:28:56
>>43
そうだとするとあまりに漠然としていて多少の窮屈感が欲しくなるな。
ノーパンでスカートを穿いているような、あるいは力戦になって次に
なにを指せばいいのかわからない、そんな感じ。
そのうちそういうのがまとめられればいいなぁ。
そうだとするとあまりに漠然としていて多少の窮屈感が欲しくなるな。
ノーパンでスカートを穿いているような、あるいは力戦になって次に
なにを指せばいいのかわからない、そんな感じ。
そのうちそういうのがまとめられればいいなぁ。
2009/06/23(火) 17:29:56
2009/06/23(火) 17:58:00
>>45
おっしゃる事があまりに漠然としていて多少の具体感が欲しくなるな。
ノーパンでスカートも穿いてないような、あるいは序盤なのに次に
なにを指せばいいのかわかってない、そんな感じ。
そのうちそういうのをまとめられるようになってくれ。
おっしゃる事があまりに漠然としていて多少の具体感が欲しくなるな。
ノーパンでスカートも穿いてないような、あるいは序盤なのに次に
なにを指せばいいのかわかってない、そんな感じ。
そのうちそういうのをまとめられるようになってくれ。
2009/06/23(火) 18:23:04
2009/06/23(火) 18:37:21
>>43
そのまんま、関数型スタイルだろ。
そのまんま、関数型スタイルだろ。
2009/06/23(火) 21:34:35
2009/06/24(水) 09:15:16
2009/06/24(水) 09:18:35
2009/06/24(水) 09:23:49
昨晩の議論の結果、「デザインパターン」はありませんが、「あるあるネタ集」ならあることになりました。
2009/06/24(水) 19:11:49
>>52
関数型言語にデザインパターンがないということはないだろう。要は「あるあるネタ集」(の粒度がある程度あるもの)のことなんだから。
オブジェクト指向でのデザインパターンは関数型言語ではバッドノウハウになり得るというのは同意。
関数型言語にデザインパターンがないということはないだろう。要は「あるあるネタ集」(の粒度がある程度あるもの)のことなんだから。
オブジェクト指向でのデザインパターンは関数型言語ではバッドノウハウになり得るというのは同意。
2009/06/24(水) 19:16:04
>>52
バッドノウハウはアンチパターン
バッドノウハウはアンチパターン
2009/06/24(水) 21:07:53
F#>Java いずれこうなるから安心しろ。
2009/06/24(水) 21:30:13
いずれw
2009/06/24(水) 21:36:15
あらゆる意味でF#>>>>Javaだろ。Windows上では。
特に関数型言語が好きだからとかではなく。客観的事実。
特に関数型言語が好きだからとかではなく。客観的事実。
2009/06/24(水) 21:37:58
Javaはネイティブで動かないからうんこ。
スレッドで動いてるガベコレも時々挙動がおかしくなるからうんこ。
スレッドで動いてるガベコレも時々挙動がおかしくなるからうんこ。
2009/06/24(水) 22:47:46
最終話「structをfunctorに」 すべてを終わらせる時…!
C・Y・C第1巻は、発売未定です。夢野カケラ
OCaml : チクショオオオオ!くらえC++!ガベージコレクション!
C++ : さあ来いOCaml!実はオレは一回不正なメモリ操作しただけで死ぬぞオオ!
(ガッ)
C++ : グアアアア!こ、この地上でもっともバカな言語と呼ばれる四天王のC++が…
こんな不純粋関数言語に…バ…バカなアアアアアア
(ドドドドド)
C++ : グアアアア
Delphi : C++がやられたようだな…
VB : フフフ…奴は四天王の中でも最弱…
C# : MLごときに負けるとは手続き型言語の面汚しよ…
OCaml : くらええええ!
(ズサ)
3言語 : グアアアアアアア
OCaml : やった…ついに四天王を倒したぞ…これでJavaのいるWindowsのWindowが開かれる!!
Java : よく来たなObjective Caml…待っていたぞ…
(ギイイイイイイ)
OCaml : こ…ここがWindowsだったのか…!感じる…Javaの魔力を…
Java : OCamlよ…戦う前に一つ言っておくことがある。お前は私を倒すのに
『オブジェクト指向』が必要だと思っているようだが…別になくても倒せる
OCaml : な 何だって!?
Java : そしてお前の入門書は増えてきたので最寄りの本屋へお取り寄せしておいた。
あとは私を倒すだけだなクックック…
(ゴゴゴゴ)
OCaml : フ…上等だ…オレも一つ言っておくことがある。このオレに生き別れたF#が
いるような気がしていたが別にそんなことはなかったぜ!
Java : そうか
OCaml : ウオオオいくぞオオオ!
Java : さあ来いOCaml!
OCamlのnative codeが世界を救うと信じて…! ご愛読ありがとうございました!
C・Y・C第1巻は、発売未定です。夢野カケラ
OCaml : チクショオオオオ!くらえC++!ガベージコレクション!
C++ : さあ来いOCaml!実はオレは一回不正なメモリ操作しただけで死ぬぞオオ!
(ガッ)
C++ : グアアアア!こ、この地上でもっともバカな言語と呼ばれる四天王のC++が…
こんな不純粋関数言語に…バ…バカなアアアアアア
(ドドドドド)
C++ : グアアアア
Delphi : C++がやられたようだな…
VB : フフフ…奴は四天王の中でも最弱…
C# : MLごときに負けるとは手続き型言語の面汚しよ…
OCaml : くらええええ!
(ズサ)
3言語 : グアアアアアアア
OCaml : やった…ついに四天王を倒したぞ…これでJavaのいるWindowsのWindowが開かれる!!
Java : よく来たなObjective Caml…待っていたぞ…
(ギイイイイイイ)
OCaml : こ…ここがWindowsだったのか…!感じる…Javaの魔力を…
Java : OCamlよ…戦う前に一つ言っておくことがある。お前は私を倒すのに
『オブジェクト指向』が必要だと思っているようだが…別になくても倒せる
OCaml : な 何だって!?
Java : そしてお前の入門書は増えてきたので最寄りの本屋へお取り寄せしておいた。
あとは私を倒すだけだなクックック…
(ゴゴゴゴ)
OCaml : フ…上等だ…オレも一つ言っておくことがある。このオレに生き別れたF#が
いるような気がしていたが別にそんなことはなかったぜ!
Java : そうか
OCaml : ウオオオいくぞオオオ!
Java : さあ来いOCaml!
OCamlのnative codeが世界を救うと信じて…! ご愛読ありがとうございました!
2009/06/24(水) 23:13:22
> OCaml : こ…ここがWindowsだったのか…!感じる…Javaの魔力を…
ワロタ
ワロタ
2009/06/25(木) 00:05:56
F#ってOCamlとどれほど違うの?
2009/06/25(木) 00:40:01
2009/06/25(木) 00:47:26
>>63
ありがとう。なんか半分以上わからないけど。わかった事にしとく。
ありがとう。なんか半分以上わからないけど。わかった事にしとく。
2009/06/25(木) 02:30:58
2009/06/25(木) 11:26:18
2009/06/25(木) 11:37:09
2009/06/25(木) 21:23:16
>Java : そうか
そうかってwww
どんだけスルー
そうかってwww
どんだけスルー
69デフォルトの名無しさん
2009/06/26(金) 03:32:33 List.fold_left (fun (x,_) y -> x + y) 0 [(1,1)];;
を通そうとしたところ
This expression has type int but is here used with type int * 'a
といわれてしまいます。うまい方法はないのでしょうか?
を通そうとしたところ
This expression has type int but is here used with type int * 'a
といわれてしまいます。うまい方法はないのでしょうか?
2009/06/26(金) 04:50:58
2009/06/26(金) 11:43:48
すいません スレよごしてしまって .... おっしゃる通りでした .... orz
2009/06/26(金) 12:25:05
fold 辺りまで来たら、フィーリングでデバッグするんじゃなくて、
ちゃんと型を確認しだしたほうがいいね。
ちゃんと型を確認しだしたほうがいいね。
2009/06/28(日) 22:06:11
http://itpro.nikkeibp.co.jp/article/COLUMN/20061212/256657/?ST=develop
↑ここを読んでいて、LablGLをインストールしようとして失敗しました。
どうしたらいいか教えてください。
OSはWindowsXPです。
・lablgl-1.04-win32.zipをObjective Caml以下のディレクトリに直接展開しました。
・Microsoft Visual C++ 2008 Redistributable Package (x86).をインストールしました。
・glut-3.7.6-bin.zipをダウンロードし、glut32.dllをsystem32フォルダにコピーしました。
・コマンドプロンプトを開き、
C:\Program Files\Objective Caml\lib\lablGLまで移動し、
ocaml build.mlをコマンドプロンプトから実行しました。
途中までは走っていたのですが、以下のようにエラーが出ました。
C:/Tcl/lib tk84.lib tcl84.lib gdi32.lib user32.lib " togl.cmo
ocamlc.opt -w s -I +labltk -a -o lablglut.cma -cclib -llablglut -dllib -llablglu
t -cclib "glut32.lib " glut.cmo
ocamlopt.opt -w s -I +labltk -c raw.ml
'ml' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
File "raw.ml", line 1, characters 0-1:
Error: Assembler error, input left in file C:\DOCUME~1\****<※ユーザ名>\LOCALS~1\Temp\camla
smd25ac5.asm
Native build failed: error 2
You can still use the bytecode version
Now ready to use on an OCaml MSVC port
※ここまで
またコマンドプロンプトから > lablglut を実行した際にもエラーが出ました。
Cannot load required shared library dlllablgl.
Reason: C:\Program Files\Objective Caml\lib\stublibs\dlllablgl.dll: このアプリケ
ーションの構成が正しくないため、アプリケーションを開始できませんでした。アプリケ
ーションを再度インストールすることにより問題が解決する場合があります。
※ここまで
↑ここを読んでいて、LablGLをインストールしようとして失敗しました。
どうしたらいいか教えてください。
OSはWindowsXPです。
・lablgl-1.04-win32.zipをObjective Caml以下のディレクトリに直接展開しました。
・Microsoft Visual C++ 2008 Redistributable Package (x86).をインストールしました。
・glut-3.7.6-bin.zipをダウンロードし、glut32.dllをsystem32フォルダにコピーしました。
・コマンドプロンプトを開き、
C:\Program Files\Objective Caml\lib\lablGLまで移動し、
ocaml build.mlをコマンドプロンプトから実行しました。
途中までは走っていたのですが、以下のようにエラーが出ました。
C:/Tcl/lib tk84.lib tcl84.lib gdi32.lib user32.lib " togl.cmo
ocamlc.opt -w s -I +labltk -a -o lablglut.cma -cclib -llablglut -dllib -llablglu
t -cclib "glut32.lib " glut.cmo
ocamlopt.opt -w s -I +labltk -c raw.ml
'ml' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
File "raw.ml", line 1, characters 0-1:
Error: Assembler error, input left in file C:\DOCUME~1\****<※ユーザ名>\LOCALS~1\Temp\camla
smd25ac5.asm
Native build failed: error 2
You can still use the bytecode version
Now ready to use on an OCaml MSVC port
※ここまで
またコマンドプロンプトから > lablglut を実行した際にもエラーが出ました。
Cannot load required shared library dlllablgl.
Reason: C:\Program Files\Objective Caml\lib\stublibs\dlllablgl.dll: このアプリケ
ーションの構成が正しくないため、アプリケーションを開始できませんでした。アプリケ
ーションを再度インストールすることにより問題が解決する場合があります。
※ここまで
2009/06/28(日) 22:25:15
原因はわからんが、参考までに
labltkはインストールしてるか
ocamlはネイティブコンパイラまでインストール済か
Activetclはバージョン8.5系だと動かなかったので8.4を入れる
build.mlを実行した際に
cygwinのlink.exeが使われるとエラーになるので
環境変数からcygwinのパスをはずす
glutはそれと同じバージョンで動いたよ
labltkはインストールしてるか
ocamlはネイティブコンパイラまでインストール済か
Activetclはバージョン8.5系だと動かなかったので8.4を入れる
build.mlを実行した際に
cygwinのlink.exeが使われるとエラーになるので
環境変数からcygwinのパスをはずす
glutはそれと同じバージョンで動いたよ
2009/06/29(月) 03:11:27
2009/06/29(月) 13:21:20
ocaml用のサウンドライブラリ(スピーカーから音を出したりマイクの音を拾ったり)で一番ポピュラーなのって何かな?
2009/06/29(月) 13:34:48
2009/06/29(月) 13:40:59
2009/06/29(月) 16:08:25
>>78
うわなんかヘタレられた。
自分のやりたいAPIのインターフェースだけ作りゃいいじゃん。
メンテもしたけりゃするだけでいいじゃん。
初期化とかは何かのライブラリ関数呼ぶだけだし。
やりたいことはほとんどデバイスから
ノンブロッキングに読んだり書いたりするだけで大抵出来るっしょ。
うわなんかヘタレられた。
自分のやりたいAPIのインターフェースだけ作りゃいいじゃん。
メンテもしたけりゃするだけでいいじゃん。
初期化とかは何かのライブラリ関数呼ぶだけだし。
やりたいことはほとんどデバイスから
ノンブロッキングに読んだり書いたりするだけで大抵出来るっしょ。
2009/06/29(月) 17:35:00
>>79
そんな俺しか使わないライブラリを公開するぐらいなら、公開せずに手元に持っておいて、作り溜めしときますよ。
そんな俺しか使わないライブラリを公開するぐらいなら、公開せずに手元に持っておいて、作り溜めしときますよ。
2009/06/29(月) 20:12:55
2009/06/29(月) 21:04:21
2009/06/29(月) 22:06:31
Windowsだとライブラリのビルドでつまづくことが多いよね。
OcamlSDL関連のビルドで上手くいなかくてビルドを諦めた。
OCaml自体はプログラミング入門者にも比較的優しいと
思うけど環境は若干敷居が高めだと思う。
んでWindows使うのが悪いとかいわれちゃうとしょんぼりする。
そもそもLinux系を使うこと自体、本職でない人にとっては
普通ではないわけで。
OcamlSDL関連のビルドで上手くいなかくてビルドを諦めた。
OCaml自体はプログラミング入門者にも比較的優しいと
思うけど環境は若干敷居が高めだと思う。
んでWindows使うのが悪いとかいわれちゃうとしょんぼりする。
そもそもLinux系を使うこと自体、本職でない人にとっては
普通ではないわけで。
2009/06/29(月) 22:14:49
2009/06/29(月) 22:15:43
OCamlユーザは計算機科学の研究者が多いんだから、それは仕方ないだろ
2009/06/29(月) 22:17:23
教育用というか初心者向けのサイトですらUNIX前提の記述が多いように思えるけどな。
2009/06/29(月) 22:17:58
UnixやLinuxがプログラミング教育に適しているからだろう。
2009/06/29(月) 22:18:10
2009/06/29(月) 22:29:17
まあ、ドザーはおとなしくF#でも弄ってなさいって事だw
2009/06/29(月) 23:16:11
>>82
(いまさらだが)OCamlのReadmeを見ると MinGWの場合は
Do *not* install the Mingw/MSYS development tools from www.mingw.org:
these are not compatible with this Caml port (@responsefile not
recognized on the command line).
って書いてあるからCygwinが必要なんだと思われる。
英語は雰囲気で読んでいるので間違っていたら誰かやさしく叱ってくれ。
(いまさらだが)OCamlのReadmeを見ると MinGWの場合は
Do *not* install the Mingw/MSYS development tools from www.mingw.org:
these are not compatible with this Caml port (@responsefile not
recognized on the command line).
って書いてあるからCygwinが必要なんだと思われる。
英語は雰囲気で読んでいるので間違っていたら誰かやさしく叱ってくれ。
2009/06/29(月) 23:40:30
2009/06/30(火) 00:26:31
いやcygwin/mingw系はさっさとあきらめるのが吉だと思う
2009/06/30(火) 03:36:38
>>89
そんなこと言ってるから関数型はいつまでたってもドマイナーなんだよ
そんなこと言ってるから関数型はいつまでたってもドマイナーなんだよ
2009/06/30(火) 04:59:31
それって何か問題があるんだっけ?
2009/06/30(火) 12:32:44
スレとは関係ないが、東北型言語を使用する俺は「だっけ?」が方言かどうかわからなくなるときがある。
2009/06/30(火) 12:45:46
そうですけ?
2009/06/30(火) 12:50:27
>>95
それは、ずいぶん、どい なか です ね
それは、ずいぶん、どい なか です ね
2009/06/30(火) 13:13:58
東北型言語と聞いたら、語尾に#を付けるんだと思った。
9982
2009/06/30(火) 17:56:45 そういうもんなんだとあきらめる事にしましたw
結局Cygwinなんか入れるよりもお勉強用のLinuxマシンを用意した方が早そうですね。
レス頂いてありがとうございます。
結局Cygwinなんか入れるよりもお勉強用のLinuxマシンを用意した方が早そうですね。
レス頂いてありがとうございます。
100デフォルトの名無しさん
2009/06/30(火) 18:50:55 >>99
完全にスレチだが、別にマシンを用意しなくても仮想環境を使えば楽なのに。
完全にスレチだが、別にマシンを用意しなくても仮想環境を使えば楽なのに。
10182
2009/06/30(火) 18:57:35 セレロン1G、メモリ256Mしかないノートなんです。仮想環境は無理では。
Knopixとかならできるのかな?
Knopixとかならできるのかな?
102デフォルトの名無しさん
2009/06/30(火) 23:12:27103デフォルトの名無しさん
2009/07/01(水) 00:05:15 プログラミングinOCamlの練習問題5.6
@を使わずにquick_sortを書き換えよ
ヒント:引数を一つ増やして整列済みのリストを受け取る
ってやつが解けまへん。。
教えて、偉い人
@を使わずにquick_sortを書き換えよ
ヒント:引数を一つ増やして整列済みのリストを受け取る
ってやつが解けまへん。。
教えて、偉い人
104デフォルトの名無しさん
2009/07/01(水) 01:27:12105デフォルトの名無しさん
2009/07/01(水) 01:35:56 >>103
本読んでないけど末尾再帰じゃないすかね。
本読んでないけど末尾再帰じゃないすかね。
106デフォルトの名無しさん
2009/07/01(水) 08:39:57 >>104
apt getはububtuもdebianもほぼ同じなので、ububtuでも大丈夫ですよ。
apt getはububtuもdebianもほぼ同じなので、ububtuでも大丈夫ですよ。
107デフォルトの名無しさん
2009/07/01(水) 16:48:02 virtual box + debian + OCamlで作成したネイティブコードはやっぱり
Windows上では動かないん?会社がWindowsだから・・・。
動くなら今すぐそっちの環境に移行したい。
Windows上では動かないん?会社がWindowsだから・・・。
動くなら今すぐそっちの環境に移行したい。
108デフォルトの名無しさん
2009/07/01(水) 16:55:45109デフォルトの名無しさん
2009/07/01(水) 21:24:54 OCamlってLLVMのコード吐けるんじゃなかったっけ
110デフォルトの名無しさん
2009/07/02(木) 09:07:04111デフォルトの名無しさん
2009/07/02(木) 09:15:48 LLVMのocamlバインディングはある。という話と取り違えたのかな。
112デフォルトの名無しさん
2009/07/02(木) 12:14:41113デフォルトの名無しさん
2009/07/02(木) 12:49:21114デフォルトの名無しさん
2009/07/03(金) 05:15:37 LLVMのコード吐けるようにしようぜ、という話だけなら有った気がするが
115デフォルトの名無しさん
2009/07/03(金) 08:55:56116デフォルトの名無しさん
2009/07/03(金) 12:38:28117デフォルトの名無しさん
2009/07/03(金) 17:08:59 偉い人は プログラミング in OCaml を買ってないので答えられないのではないか。
118デフォルトの名無しさん
2009/07/03(金) 18:05:20119デフォルトの名無しさん
2009/07/03(金) 19:23:03 OCamlは大文字で始まるidはconstructor扱いになるんだな
SMLのコードを移植していてはまった
SMLのコードを移植していてはまった
120デフォルトの名無しさん
2009/07/04(土) 11:16:05 ocaml触ってみたんだけど、やっぱりライブラリが少ないね。
練習でちょっとしたものを作ろうとしたけど、ライブラリの少なさでたちまち不便で止まってしまった。
練習でちょっとしたものを作ろうとしたけど、ライブラリの少なさでたちまち不便で止まってしまった。
121デフォルトの名無しさん
2009/07/04(土) 11:52:02 そんなに副作用たっぷりのコードを書きたいならF#でも使えばいいのに
122デフォルトの名無しさん
2009/07/04(土) 12:10:39 副作用の無いライブラリを作るのは難しいの?
123デフォルトの名無しさん
2009/07/04(土) 12:19:32124デフォルトの名無しさん
2009/07/04(土) 12:32:25 それでF#でも使えと言われると辛いね…
125デフォルトの名無しさん
2009/07/04(土) 13:37:39 >>120
どんなライブラリが欲しかったのん?
どんなライブラリが欲しかったのん?
126デフォルトの名無しさん
2009/07/04(土) 13:58:47127デフォルトの名無しさん
2009/07/04(土) 14:19:25 >>126
どうでも良いけど、365日接続できないサイト運営してる時点で技術力を疑う。
どうでも良いけど、365日接続できないサイト運営してる時点で技術力を疑う。
128デフォルトの名無しさん
2009/07/04(土) 14:34:19 休日にメンテなら仕方ないけど、平日の夕方に落ちてるのは問題だな。
129ogasawara
2009/07/04(土) 17:30:22130ogasawara
2009/07/05(日) 09:28:07 >>120
The Caml Hump(http://caml.inria.fr//cgi-bin/hump.en.cgi)という
ところがあって、ここでライブラリを探すとかなり見付かりますよ。
CGI、DB接続、GUI、UTF-8、アルゴリズム色々など有ます。
The Caml Hump(http://caml.inria.fr//cgi-bin/hump.en.cgi)という
ところがあって、ここでライブラリを探すとかなり見付かりますよ。
CGI、DB接続、GUI、UTF-8、アルゴリズム色々など有ます。
131デフォルトの名無しさん
2009/07/05(日) 15:57:43 質問です。match文に関する質問です。
これは文法の慣習みたいなものかなと思うんですがどうなのかなぁと。
リストを受け取って何かを返す関数の場合、リストの要素が組やレコードだと
match文の中にmatch文を書くことがありますが、match文ではなく直接パターンマッチさせる書き方の方が
良いのでしょうか?
>>83
vmwareを使ってxp上でubuntuを動かして、ocaml勉強してます。
これは文法の慣習みたいなものかなと思うんですがどうなのかなぁと。
リストを受け取って何かを返す関数の場合、リストの要素が組やレコードだと
match文の中にmatch文を書くことがありますが、match文ではなく直接パターンマッチさせる書き方の方が
良いのでしょうか?
>>83
vmwareを使ってxp上でubuntuを動かして、ocaml勉強してます。
132デフォルトの名無しさん
2009/07/05(日) 16:48:01 >>131
質問をするときはサンプルコードを示したほうが回答してもらいやすいよ。
この文章だと
>match文ではなく直接パターンマッチさせる書き方の方が良いのでしょうか?
あたりがわかりづらいと思われ。
質問をするときはサンプルコードを示したほうが回答してもらいやすいよ。
この文章だと
>match文ではなく直接パターンマッチさせる書き方の方が良いのでしょうか?
あたりがわかりづらいと思われ。
133デフォルトの名無しさん
2009/07/05(日) 17:28:04 >>132
kekkonっていう関数で、anataというレコードが要素のリストを引数にして
条件に合う人数を返すとかいう場合に・・・
let rec kekkon anata = match anata with
[] -> 0
| first :: rest -> (match first with
{name = n; toshi = t; syunyu = s; tyotiku = t; sisan = s; youshi = y}
-> 0
とかと書かずに、以下のように書くほうがいいのかなぁという質問です。
let rec kekkon anata = match anata with
[] -> 0
| {name = n; toshi = t; syunyu = s; tyotiku = t; sisan = s; youshi = y} :: rest ->
kekkonっていう関数で、anataというレコードが要素のリストを引数にして
条件に合う人数を返すとかいう場合に・・・
let rec kekkon anata = match anata with
[] -> 0
| first :: rest -> (match first with
{name = n; toshi = t; syunyu = s; tyotiku = t; sisan = s; youshi = y}
-> 0
とかと書かずに、以下のように書くほうがいいのかなぁという質問です。
let rec kekkon anata = match anata with
[] -> 0
| {name = n; toshi = t; syunyu = s; tyotiku = t; sisan = s; youshi = y} :: rest ->
134デフォルトの名無しさん
2009/07/05(日) 17:44:47■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【悲報】日本人「俺以外の日本人が中国と戦ってくれるぞ!」 [616817505]
- 中国高官と話す外務省局長の表情、やばい [175344491]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 維新の吉村代表「高市総理に中国総領事の国外退去を要請した。今後、知事として中国イベントには出席しない」 [359572271]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- 【悲報】あまりにも高市早苗の頭が悪過ぎて「これは確かに野党が配慮して質問するべきだったのでは」と結論が出てしまう [517791167]
