関数型言語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/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:47135デフォルトの名無しさん
2009/07/05(日) 17:46:33 どっちでもいいんですね。どもです。
136デフォルトの名無しさん
2009/07/05(日) 18:49:38137デフォルトの名無しさん
2009/07/06(月) 09:38:23 record label に折角意味のある名前を付けてあるのに、
pattern match でワザワザ意味不明な変数に束縛するスタイルはおかしい。
そんなことするから s が二回束縛されてるヨ。
136 の言うように r.name とかでアクセスするほうが普通。
pattern match でワザワザ意味不明な変数に束縛するスタイルはおかしい。
そんなことするから s が二回束縛されてるヨ。
136 の言うように r.name とかでアクセスするほうが普通。
138デフォルトの名無しさん
2009/07/10(金) 16:02:51 データ構造について調べていたら
ttp://en.wikipedia.org/wiki/VList
のVlistというものを見つけたのですが、これはリストを使った
動的配列のようなものでしょうか。(英語が苦手のためよくわかりませんでした)
また、OCamlで書くとどのようになるのでしょうか。
分かる方がいたら教えてください。
ttp://en.wikipedia.org/wiki/VList
のVlistというものを見つけたのですが、これはリストを使った
動的配列のようなものでしょうか。(英語が苦手のためよくわかりませんでした)
また、OCamlで書くとどのようになるのでしょうか。
分かる方がいたら教えてください。
139デフォルトの名無しさん
2009/07/10(金) 20:09:46 まぁ、List.nth が妙に早い list と思えばいいね。
答えが欲しいの?それとも一緒に考えてほしいの?
Okasaki には載ってないね。
答えが欲しいの?それとも一緒に考えてほしいの?
Okasaki には載ってないね。
140(* 〜 *)
2009/07/10(金) 22:04:04 長さが倍になっていくarrayが中身のリンクリストにしか見えないんですけど。
英語が読めなくても図は見えますよね。
構造はこんな感じでいいんじゃないの(図のまんま)。
type 'a vlisti = VLNil | VLCel of 'a vlisti * int * 'a array
type 'a vlist = 'a vlisti * int
操作は自分で考えませう。
英語が読めなくても図は見えますよね。
構造はこんな感じでいいんじゃないの(図のまんま)。
type 'a vlisti = VLNil | VLCel of 'a vlisti * int * 'a array
type 'a vlist = 'a vlisti * int
操作は自分で考えませう。
141デフォルトの名無しさん
2009/07/10(金) 22:38:27142139
2009/07/11(土) 08:49:39 教育上は
type 'a vlisti = VLNil | VLCel of 'a vlisti * int * 'a option array
のほうが良いです。
140 だと埋まって無いトコを埋める値が必要ですね。(Obj.magic 0 などで埋めるのはダメ絶対。)
type 'a vlisti = VLNil | VLCel of 'a vlisti * int * 'a option array
のほうが良いです。
140 だと埋まって無いトコを埋める値が必要ですね。(Obj.magic 0 などで埋めるのはダメ絶対。)
143デフォルトの名無しさん
2009/07/12(日) 20:12:39 ctags5.8でOCamlがサポートされたらしいよ。
144143
2009/07/12(日) 20:52:01 ctags -> Exuberant Ctagsに訂正。
145デフォルトの名無しさん
2009/07/16(木) 08:02:09 otagsがいらなくなると嬉しいな
微妙にctagsとオプションが違ったりするのがウザかったんだ
微妙にctagsとオプションが違ったりするのがウザかったんだ
146デフォルトの名無しさん
2009/07/23(木) 08:24:19 OCamlからCへのトランスレーターってありませんか?
147デフォルトの名無しさん
2009/07/23(木) 09:00:30148デフォルトの名無しさん
2009/07/25(土) 19:43:01 OCamlで
(('a -> 'b) -> 'a -> 'b) -> 'a -> 'b = <fun>
int -> int = <fun>
で型だけを指定して変数を宣言することはできますか?
(('a -> 'b) -> 'a -> 'b) -> 'a -> 'b = <fun>
int -> int = <fun>
で型だけを指定して変数を宣言することはできますか?
149デフォルトの名無しさん
2009/07/25(土) 23:52:22 変数何それ怖い
というか何がやりたいのか全くわからん
というか何がやりたいのか全くわからん
150デフォルトの名無しさん
2009/07/26(日) 00:07:08 >>148の型を持つ識別子なら定義出来る
151デフォルトの名無しさん
2009/07/26(日) 00:07:51 ただ、上は-rectypesなしで出来るかはわからん
152デフォルトの名無しさん
2009/07/26(日) 20:13:20 型注釈を使った無名関数をかいていて、ふと閃いて
fun (x:('a->'b)->(z:'a->'b)) z -> z;;としたところ
- : (('a -> 'b) -> z:'a -> 'b) -> 'c -> 'c = <fun>
のように受理されましたが、3つのうちの最初、z:'aのz はどういう意味があるのか
わかりません。
fun (x:('a->'b)->(z:'a->'b)) -> z;;
としてもzは拘束されていないようですし。
fun (x:('a->'b)->(z:'a->'b)) z -> z;;としたところ
- : (('a -> 'b) -> z:'a -> 'b) -> 'c -> 'c = <fun>
のように受理されましたが、3つのうちの最初、z:'aのz はどういう意味があるのか
わかりません。
fun (x:('a->'b)->(z:'a->'b)) -> z;;
としてもzは拘束されていないようですし。
153148
2009/07/26(日) 21:13:50 それはxという識別子をxはintである、ということだけ指定して
宣言できるということですよね?やりかたを教えていただけますか?
宣言できるということですよね?やりかたを教えていただけますか?
155デフォルトの名無しさん
2009/07/26(日) 22:59:56 変数が宣言できるとは言ってない
ただ、関数の引数などにアノテーションすることで
関数の定義範囲を狭めることは出来る
普通の定義
let f x = x;;
型全体
let f x : int = x;;
let f x : int ->int = x;;
引数
let f (x:int) = x;;
let f (x:int->int) = x;;
>>148の上の型は、これを使って
Yコンビネータの型をint->intで制限したもの
ただ、関数の引数などにアノテーションすることで
関数の定義範囲を狭めることは出来る
普通の定義
let f x = x;;
型全体
let f x : int = x;;
let f x : int ->int = x;;
引数
let f (x:int) = x;;
let f (x:int->int) = x;;
>>148の上の型は、これを使って
Yコンビネータの型をint->intで制限したもの
156デフォルトの名無しさん
2009/07/26(日) 23:00:46 int->intじゃなくて'a->'bだった
157デフォルトの名無しさん
2009/07/27(月) 10:29:45 質問者はもう少し動機などを書き加えてほしい。推敲した上で。
背景説明無しに、間違った用語で質問されても答えられません。
逆に説明があれば、多少間違っていても回答者の方で正しく解釈できます。
148 だけだとホントに意味不明だが 153 からすると、C における int x;
の様に「変数を宣言」できるか、というのが質問の意図だと思いますが、
ML では値の無い「識別子の束縛」は出来ません。
154、お前は未来に向けて話しているのか。
>>152
z:'a の z は識別子ではなくラベルです。後の z とは関係ありません。
文法をちゃんと確認して、ラベル付き引数の解説を読んでください。
背景説明無しに、間違った用語で質問されても答えられません。
逆に説明があれば、多少間違っていても回答者の方で正しく解釈できます。
148 だけだとホントに意味不明だが 153 からすると、C における int x;
の様に「変数を宣言」できるか、というのが質問の意図だと思いますが、
ML では値の無い「識別子の束縛」は出来ません。
154、お前は未来に向けて話しているのか。
>>152
z:'a の z は識別子ではなくラベルです。後の z とは関係ありません。
文法をちゃんと確認して、ラベル付き引数の解説を読んでください。
158デフォルトの名無しさん
2009/07/28(火) 12:36:02 切口上的に始まる親切なレス乙!
159デフォルトの名無しさん
2009/07/29(水) 00:57:41 val come_on : orz -> or2
160デフォルトの名無しさん
2009/07/29(水) 13:23:33161デフォルトの名無しさん
2009/07/29(水) 21:32:04 (('a -> 'b) -> 'a -> 'b) -> 'a -> 'bという型の識別子を定義できる
と
Yコンビネータを定義できる
は100光年くらい離れてる気がする
と
Yコンビネータを定義できる
は100光年くらい離れてる気がする
162デフォルトの名無しさん
2009/08/15(土) 12:47:34 (///)のような演算子をつくってhaskellのようなリスとりてらるを部分的に実現したいです。
(3///5) == [3;4;5] みたいな感じ。
演算記号は何が適当ですか?
(3///5) == [3;4;5] みたいな感じ。
演算記号は何が適当ですか?
163デフォルトの名無しさん
2009/08/15(土) 15:34:30 ( -- ) をどっかのサンプルコードで見たな
164デフォルトの名無しさん
2009/08/15(土) 17:40:51165デフォルトの名無しさん
2009/08/22(土) 15:26:49 SML/NJから移ってきましたが、SMLとは色々と違う部分が多くて戸惑います。
OCamlの標準ライブラリに無いものは自分で実装しているのですが、SMLとの
コンパチを取るライブラリなどがあったりするのでしょうか?
OCamlの標準ライブラリに無いものは自分で実装しているのですが、SMLとの
コンパチを取るライブラリなどがあったりするのでしょうか?
166165
2009/08/22(土) 22:50:51 再度すいません。SML/NJにはCompilation Managerというものがあってmake相当
のことが出来るのですが、OCamlではUnixのmakeを使うのが普通なのでしょうか?
OCamlのドキュメントではmakeを使った例が書いてありました。
それとも、omakeというものがあるようですが、これを使うのが今時のやり方で
しょうか。
のことが出来るのですが、OCamlではUnixのmakeを使うのが普通なのでしょうか?
OCamlのドキュメントではmakeを使った例が書いてありました。
それとも、omakeというものがあるようですが、これを使うのが今時のやり方で
しょうか。
167デフォルトの名無しさん
2009/08/22(土) 23:24:33 それはおまけ
168デフォルトの名無しさん
2009/08/23(日) 21:30:22169デフォルトの名無しさん
2009/08/24(月) 09:06:37 SMLとのコンパチを取るライブラリなんていう後向きの物は聞いたことありません。
OCaml の stdlib は「標準ライブラリ」にあらず、 OCaml 自身をコンパイル
するために最低限必要な関数を集めただけと考えたほうが幸せです。
「次世代」標準ライブラリ候補として Extlib, OCaml Batteries Included, Jane Street Core
などありますからそれのウチ好きなのを使ってください。(Batteries は Extlib を内包しているはず)
ビルドは make か OCaml 付属の ocamlbuild か omake か、別に何でも良いんじゃない?
- GNU make : どこにでもある。他でも使える。枯れてる。
- ocamlbuild : OCaml に付属。全く使えない。
- omake : 超強力、普通インストールされていない。強力過ぎて一線を超えた使いかたが難しい。
OCaml の stdlib は「標準ライブラリ」にあらず、 OCaml 自身をコンパイル
するために最低限必要な関数を集めただけと考えたほうが幸せです。
「次世代」標準ライブラリ候補として Extlib, OCaml Batteries Included, Jane Street Core
などありますからそれのウチ好きなのを使ってください。(Batteries は Extlib を内包しているはず)
ビルドは make か OCaml 付属の ocamlbuild か omake か、別に何でも良いんじゃない?
- GNU make : どこにでもある。他でも使える。枯れてる。
- ocamlbuild : OCaml に付属。全く使えない。
- omake : 超強力、普通インストールされていない。強力過ぎて一線を超えた使いかたが難しい。
170165
2009/08/24(月) 23:26:43 >>169
ありがとうございます。
ExtLib, Batteriesの双方に同じ名前のモジュールが含まれていたので疑問に思って
いたのですが謎が解けました。SML Basis Libraryにあるような関数は、名前違いで
大体ExtLibでサポートされているようで安心しました。
ビルドツールはGNU makeを主に使ってきたのですが、omakeはファイル更新の
チェックが素晴らしいようなので、omakeを使ってみます。
ありがとうございます。
ExtLib, Batteriesの双方に同じ名前のモジュールが含まれていたので疑問に思って
いたのですが謎が解けました。SML Basis Libraryにあるような関数は、名前違いで
大体ExtLibでサポートされているようで安心しました。
ビルドツールはGNU makeを主に使ってきたのですが、omakeはファイル更新の
チェックが素晴らしいようなので、omakeを使ってみます。
171デフォルトの名無しさん
2009/08/25(火) 11:41:33 なんでもいいから早く標準に入れてくれ
追加インストールとか面倒だし
追加インストールとか面倒だし
172デフォルトの名無しさん
2009/08/25(火) 12:34:52 こんなとこで呟いても何も起こらんよ。
173デフォルトの名無しさん
2009/09/01(火) 14:33:39 だれかOCaml Meetingいった?
174デフォルトの名無しさん
2009/09/01(火) 20:45:28 いったよー
おもろかったけどgolfとかコンパイラ改造とかネタが裏街道過ぎて
実用志向のユーザー増えねえだろこれじゃ、とか思った
おもろかったけどgolfとかコンパイラ改造とかネタが裏街道過ぎて
実用志向のユーザー増えねえだろこれじゃ、とか思った
175デフォルトの名無しさん
2009/09/01(火) 22:15:16 行かなかったが、ストリーミングでアメリカ人?の発表のところまで見た。
Golfの話は意外と参考になった。演算子定義周りとか、普段あまり使わないから。
演算子によって優先順位が固定されているの勉強になった。
あとObj.magic。あれは反則技だろw
Golfの話は意外と参考になった。演算子定義周りとか、普段あまり使わないから。
演算子によって優先順位が固定されているの勉強になった。
あとObj.magic。あれは反則技だろw
176デフォルトの名無しさん
2009/09/07(月) 05:40:38 OCamlが+-*/等の演算子をpolymorphicに出来ない理由って何?
177デフォルトの名無しさん
2009/09/09(水) 17:30:37 jocamlをmingw上でコンパイルするにはどうすれば良いでしょうか。
178デフォルトの名無しさん
2009/09/09(水) 17:32:57 jocamlをmingw上でコンパイルしようとするとこんなエラーが出ます。
$ ./configure
$ make world
・・・
gcc -o ocamlrun \
prims.o libcamlrun.a -lm
libcamlrun.a(main.o):main.c:(.text+0x26): undefined reference to `caml_expand_command_line'
libcamlrun.a(sys.o):sys.c:(.text+0x4ea): undefined reference to `caml_win32_random_seed'
libcamlrun.a(startup.o):startup.c:(.text+0x936): undefined reference to `caml_signal_thread'
libcamlrun.a(signals_byt.o):signals_byt.c:(.text+0x46): undefined reference to `caml_win32_signal'
libcamlrun.a(signals_byt.o):signals_byt.c:(.text+0xab): undefined reference to `caml_win32_signal'
collect2: ld returned 1 exit status
・・・
$ ./configure
$ make world
・・・
gcc -o ocamlrun \
prims.o libcamlrun.a -lm
libcamlrun.a(main.o):main.c:(.text+0x26): undefined reference to `caml_expand_command_line'
libcamlrun.a(sys.o):sys.c:(.text+0x4ea): undefined reference to `caml_win32_random_seed'
libcamlrun.a(startup.o):startup.c:(.text+0x936): undefined reference to `caml_signal_thread'
libcamlrun.a(signals_byt.o):signals_byt.c:(.text+0x46): undefined reference to `caml_win32_signal'
libcamlrun.a(signals_byt.o):signals_byt.c:(.text+0xab): undefined reference to `caml_win32_signal'
collect2: ld returned 1 exit status
・・・
179デフォルトの名無しさん
2009/09/09(水) 18:09:02 多分 configure したのが間違い。
OCaml の mingw のビルドを参考にしたら?
JoCaml には付いて無いけど OCaml の README.win32 に書いてある。
OCaml の mingw のビルドを参考にしたら?
JoCaml には付いて無いけど OCaml の README.win32 に書いてある。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 [ぐれ★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 中国高官と話す外務省局長の表情、やばい ★2 [175344491]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 外務局長「中国さんごめんなさぁ...」小野田「中国なんかどうでもいいっ!」高市「首脳会談したい」マスコミ「立憲が悪いっ!!」 [237216734]
- 小野田経済安保相「すぐに経済的威圧するところへの依存はリスク」😲 [861717324]
- 【悲報】日本人「日本が中国と戦争になったら世界中の国が応援してくれるぞ!」 [616817505]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
