2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :デフォルトの名無しさん:04/12/21 14:17:03
関数型言語MLについて語るスレッドです。

MLは、確固とした理論的背景を持つ言語でありながら、
現実的なソフトの開発にも使用できる実用性を備えた言語です。
また、プログラミングの初心者が最初に学習する言語としても
優れています。

過去スレ
ML!!!!!! http://pc.2ch.net/tech/kako/1002/10021/1002111468.html
関数型プログラミング言語ML http://pc5.2ch.net/tech/kako/1012/10124/1012445015.html
let t = 関数型プログラミング言語ML 2 http://pc5.2ch.net/test/read.cgi/tech/1058630709/

リンク集 http://www.summa.jp/lang/func/ml/

総本山
Standard ML http://www.smlnj.org/
Objective Caml http://caml.inria.fr/ocaml/

チュートリアル
Standard ML
http://www-2.cs.cmu.edu/afs/cs/usr/rwh/public/www/introsml/
http://www.dcs.napier.ac.uk/course-notes/sml/manual.html
http://www.dcs.ed.ac.uk/home/stg/NOTES/
http://yk.i.hosei.ac.jp/smlbook/smlbook.pdf
http://www.summa.jp/tutorial/plain/mlkouza.txt
Objective Caml
http://www.csc.vill.edu/~dmatusze/resources/ocaml/ocaml.html
http://www.sato.kuis.kyoto-u.ac.jp/~igarashi/class/isle4/mltext/ocaml.html
http://www.biocaml.org/~bannai/ocaml-intro/
http://www.ocaml.jp/archive/document/


2 :デフォルトの名無しさん:04/12/21 18:59:30
   _,ヾゝ'"'" " '"、,;
   ,ラ   、_   〃,、
   イ  r-'ー゙ "ー‐、, ミ
   i!  ,! /     \ |ミ
   ,j i    -     - |
   ,,(6     ,,.. ↓..,,  |   <モ2ワが2げっと!
    メ,     ー   /       
    ,.-'\ ...,, ーー、,/、      
   //:::;;:::::::::::::::::::::▽:::::::ヽ
   |||::::|::::E N E O S::|::::::| 
   |||::::|:::::::::::::::2:::::::::::|:::::|

3 :デフォルトの名無しさん:04/12/23 16:09:59
おいおいいくらなんでもこのままだとdat落ちするぞ

4 :デフォルトの名無しさん:04/12/23 17:27:57
んーじゃそれはちょっと悲しいので提議をしてみます。

ML 系言語だと SML/NJ と OCaml が有名だという認識なんですが、他の処理系
を使ってる人っていますか? どう違うとかどう嬉しいとか、そもそもどうい
うのがあるかとか(Moscow ML くらいしか知らないんですが)。


5 :デフォルトの名無しさん:04/12/23 17:53:43
>>4 LML(Lazy-ML)

6 :デフォルトの名無しさん:04/12/24 02:00:49
>>1乙!…………と言いたいところだが、


このスレには消えて貰うわけにはいかないのですよ。
ちょっと立てるの早かったかな。でも乙。

7 :デフォルトの名無しさん:04/12/24 17:43:07
MLってオブジェクト指向?
ってそんな話じゃない?

8 :デフォルトの名無しさん:04/12/24 17:50:55
関数型言語だと書いてあるでしょうに

9 :デフォルトの名無しさん:04/12/24 18:01:49
OCaml はオブジェクト指向もあり。

10 :Aransk:04/12/24 18:01:52
>現実的なソフトの開発にも使用できる実用性を備えた言語です。
使用できるじゃなくて、使用して開発「された」ソフトは
あるのでしょうか?

11 :デフォルトの名無しさん:04/12/24 20:46:05
今の時代、関数型であろうと手続き型であろうと、
オブジェクト指向、STLとかないと非常に開発効率・保守が悪くて
使い物にならないわけだが。。。

12 :デフォルトの名無しさん:04/12/24 21:44:01
>>11
STL って何? C++ の Standard Template Library くらいしか思いつかない
んですけれど……。


13 :デフォルトの名無しさん:04/12/24 21:58:09
説明するのも面倒だが
ただの用語聞きかじり厨だからほっとけ
STLが何の略なのかもわからなかったんだろ

14 :デフォルトの名無しさん:04/12/25 03:20:07
>>4
知ってると思うが

http://www.faqs.org/faqs/meta-lang-faq/

正直、実装としてはSML/NJがもっとも汚いような気がするんだがどうよ?
Shaoのせいだと思うが。

15 :デフォルトの名無しさん:04/12/25 07:13:04
SMLの中間語はCPS?
そのせいもあったりして。

16 :14:04/12/25 07:16:31
きれいさだけで言えば、むしろCPSのほうが見やすいコンパイラにならないか?
効率を気にし始めると、CPSは妙な最適化が要るようになって汚くなるのかもしれんが。

17 :デフォルトの名無しさん:04/12/25 14:24:15
mltonそこそこ速いみたいだけど
cygwin/gcc依存しまくってんなorz
単体実行ではOCamlかねえ

18 :デフォルトの名無しさん:04/12/25 23:42:29
使ってる奴いないの?

というかMLで何すんの?

C++じゃいかんの?

19 :デフォルトの名無しさん:04/12/25 23:47:30
使ってる奴いるよ?

というか聞いてどうすんの?

そもそも1行ずつあける必要あんの?

20 :デフォルトの名無しさん:04/12/26 01:28:06
行間よめってことじゃない?

でもこの話題に行間もくそもありゃしない!

残念!

21 :デフォルトの名無しさん:04/12/26 02:01:32
VMになってからのML Kitはどうなの?
regionには魅かれる

22 :デフォルトの名無しさん:04/12/26 02:03:23
どうなの?
って自分で確かめろよ
そして報告しろ自作自演しろ!
ひといないんだから!

残念!

23 :デフォルトの名無しさん:04/12/26 03:09:32
Haskellみたいな関数の合成ってMLにあるの?

24 :デフォルトの名無しさん:04/12/26 03:14:23
>>23
>>22

25 :デフォルトの名無しさん:04/12/26 12:38:54
>> 23
fun f x = x + 1;
fun g x = x * 2;
val h = f o g;


26 :デフォルトの名無しさん:04/12/26 13:47:09
deforestationします。

27 :Aransk:04/12/26 16:58:26
>オブジェクト指向、STLとかないと非常に開発効率・保守が悪くて
>使い物にならないわけだが。。。
CとかCobolなんかそんなものが無くても
結構実用的な開発に利用されています。
MLはどうなんでしょう?


28 :デフォルトの名無しさん:04/12/27 02:55:15
http://www.npc.de/ocaml/linkdb/list.cgi?type=classification&frames=true

っていうかあ、もうちょっとレベルの高い話しよーぜー

ML KitっていつからVMになったの? 知らなかったorz

29 :デフォルトの名無しさん:04/12/27 08:23:36
ここで Aransk 降臨!とかあるとおもしろんだが。

どうせ厨しか集まりませんからぁー! 残念!

30 :デフォルトの名無しさん:04/12/27 08:24:21
>>27
>>29 orz



31 :Aransk:04/12/27 17:33:58
ttp://web.yl.is.s.u-tokyo.ac.jp/kobalab/kadai98/kadai3.html
より引用:
>通常のMLのプログラムに、Cでいうところのmalloc や
> free を自動的に挿入することにより、ガベージコレクション
>なしでもプログラムを走らせることができます。
これって正しくは:
「Cでいうところのmallocやfreeを自動的に挿入することに
よりガベージコレクション機能を実現しております。」
ではないでしょうか?

32 :デフォルトの名無しさん:04/12/27 18:05:46
一時期研究したことがあるけれど、Region Inference は微妙です。
たとえば、tail call が tail call じゃなくなったりする。
let f x y =
letregion r in
...
f x' y'
end (* f の後で region 開放命令が必要 *)

はっきり言ってそのままでは使えないよ。Linear Type とかを使ってばしばし
destructive update するとかは最低必要。(もちろんコンパイラがやるんですけど。)

あと、GC と言ってよいのかもしれないけど、GC が動的に回収するのに対して、
region inference は静的にメモリを回収するコードを埋め込む違いがある。
(i.e. コンパイル時に malloc/free を埋め込む)
あと、リージョンはスタックで取るので、スタックの下のほうにゴミがあっても、
上の方が使われていたりすると破壊されない。リージョン推論がちゃんと出来てれば
防げるのかもしれんが、もう半分忘れた。

33 :デフォルトの名無しさん:04/12/27 18:06:10
ここはおまえのメモ帳じゃねえんだ

34 :Aransk:04/12/27 18:35:06
ttp://www.ps.uni-sb.de/alice/
ついにalice1.0がリリースされましたが
これなんか専門家の皆さんの評価は
どうなんでしょう?

35 :デフォルトの名無しさん:04/12/27 18:55:22
region関係は一時期D. Walker達が盛んにやっていたようだが、今はどうしてるんだろうね。

36 :デフォルトの名無しさん:04/12/28 02:45:51
>>35
MorrisettとかのCycloneあたりにシフトした…のか?
WalkerもMorrisettも発表はよくきくけど、
L^3とかは複雑すぎてわけわかんなかったなあ。
コンパイラが推論するにしても、プログラマが挙動を理解できなさそう。

ところでML Kitって今はx86ネイティブコードを出すんだよね?
昔はHPだったが。VMって何?と思ってよく見たら、
3.9.0からバイトコードもあったんだ。へーへーへー。

http://www.itu.dk/research/mlkit/dist/NEWS-4.1.4

37 :Aransk:04/12/28 12:59:16
最近VM付きでない言語を探すほうが
難しい。それほどVM技術が一般化した
ってことじゃないでしょうか。
上記のAliceもしかりです。
その内ハードディスクがVMだらけに
なって、バッティングを起こしたりしてね?W

38 :デフォルトの名無しさん:04/12/29 06:06:30
さびれてんなあ。しょうがないなあ、つっこみ入れるよ…
>>37
・ML Kitは「言語」じゃねえだろ!
・「VM技術」ってなんだよ。VMにすること自体は技術なんてもんじゃねーよ。
・「ついに」とか言われたってAliceなんてしらねえよ(作者の一人は知ってたけど)。ざっと見たが何もオリジナリティないじゃん。
・JVM同士とかならともかく、違うバイトコードのVMがどうバッティングするんだよ!


39 :Aransk:04/12/29 13:52:21
>>38
>・ML Kitは「言語」じゃねえだろ!
誰が「言語」と発言されたのでしょうか?
>・「VM技術」ってなんだよ。VMにすること自体は技術なんてもんじゃねーよ。
RubyはVM化したいらしいけど、まだ出来ませんが…。
>・「ついに」とか言われたってAliceなんてしらねえよ
>(作者の一人は知ってたけど)。ざっと見たが何もオリジナリティないじゃん。
少なくともML Kitよりは活発にプロジェクトは動いているようです。
>・JVM同士とかならともかく、違うバイトコードのVMがどうバッティングするんだよ!
「バッティングを起こしたりしてね?W」貴女は最後のWを見落としましたね?
ジョークです。W さすがにdllを組みこんだVMは存在しないでしょう。W
(Wを全角にしましたから…)




40 :デフォルトの名無しさん:04/12/29 15:15:12
アホを相手にすんなよ。


41 :Aransk:04/12/30 15:59:46
>>40
黒田さん並におっとりしておりますんで…。

42 :デフォルトの名無しさん:04/12/30 16:09:51
すまん
Aransk = アホ

43 :デフォルトの名無しさん:04/12/30 16:27:35
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

44 :Aransk:04/12/31 18:38:07
畏れ多いことを発言してはいけません。
黒田さんは=内親王の夫君となられるお方です。
黒田さん=おっとり=Aranskですからして、
おっとりー>アホは黒田さんにも関数適用
されます。W



45 :デフォルトの名無しさん:05/01/01 05:20:58
Aransk = アホ は真であるが
Aransk = おっとり は偽だな。


46 :デフォルトの名無しさん:05/01/01 17:43:45
 ま た A r a n s k か

47 :デフォルトの名無しさん:05/01/01 18:07:14
Aransk関係は↓でやれ

Aransk自身も↓から出てくるな

超準関数型言語Aransk
http://pc5.2ch.net/test/read.cgi/tech/1082176723/


48 :デフォルトの名無しさん:05/01/01 19:02:09
Aranskに項と関数の区別がつけられないのはよくわかった。


49 :デフォルトの名無しさん:05/01/02 00:13:21
>>25
ocaml だと、

let (^.^) f g = function x -> g (f x);
let h = f ^.^ g;;

みたいに定義しないとダメ? 標準装備じゃないの?

50 :デフォルトの名無しさん:05/01/02 01:01:03
>>49
書き方はともかく、その通り。自分で定義しないといけない。

調べてみたが、missinglib で、そのような用途の演算子
% : ('a -> 'b) -> ('c -> 'a) -> 'c -> 'b
%%: ('a -> 'b) -> ('b -> 'c) -> 'a -> 'c
$ : ('a -> 'b) -> 'a -> 'b
が定義されていた。
http://gopher.quux.org:70/devel/missinglib/html/Composeoper.html
うーむ、しかし他はともかく $ は左結合だから使いづらい気がするが……。

51 :デフォルトの名無しさん:05/01/02 23:52:54
>>50
Thanks!

ところで、話題になってる「VM」って抽象機械の事?
ocaml だと ZINC とか聞いたことあるけど、対応表キボン。

Java -> JavaVM
ocaml -> ZINC?
SML -> ???


52 :Aransk:05/01/04 17:41:59
>話題になってる「VM」って抽象機械の事?
1.中間コードを生成することにより
  インタプリターの速度をアップする。
2.OS間の差異を吸収し、コーディングの
  統一を図る。
これらを目的としたもの全て、MSのCLRも
含むと個人的には解釈しております。

53 :デフォルトの名無しさん:05/01/04 17:59:44
それとこれまでの発言を踏まえると、
Aranskは現存の言語の実装を全くわかってないという結論が導かれるがよろしいか。


54 :デフォルトの名無しさん:05/01/18 00:20:55
>>50
osiire:/tmp[58]>cat gext.ml
open Pcaml;;
EXTEND
expr: AFTER "apply"
[[ f = expr; "o"; g = expr -> <:expr< fun x -> $f$ ($g$ x) >> ]];
END;;
osiire:/tmp[59]>ocamlc -pp "camlp4o pa_extend.cmo q_MLast.cmo" -I +camlp4 -c gext.ml
osiire:/tmp[60]>cat o.ml
let f = fun x -> x + 1

let g = fun x -> x * 2

let _ =
let h = f o g in
Printf.printf "%d\n" (h 10)
;;
osiire:/tmp[61]>ocamlc -pp "camlp4o ./gext.cmo" -o o o.ml
osiire:/tmp[62]>./o
21
osiire:/tmp[63]>

55 :デフォルトの名無しさん:05/01/19 11:31:13
MLtonの方向性について、何か言ってやって下さい。

http://mlton.org/Survey


56 :デフォルトの名無しさん:05/01/29 23:59:01

ocaml のファンクターについて質問があります。

ファンクターでクラスを内包してるモジュールを輸入したいとき、与える実際
のクラスの型ってシグネチャーと正確に一致してる必要がありますか?

私が試した限りではそうなのですが、他の書き方で実現できたりしないのか
なー、と淡い期待を抱いています。

Objective Caml version 3.08.2

# module A = functor ( B : sig class c : object method x : int end end ) ->
struct class c' = object inherit B.c end end

module D = A (struct class c = object method x = 10 method y = 20 end end)
;;
Signature mismatch:
Modules do not match:
sig class c : object method x : int method y : int end end
is not included in
sig class c : object method x : int end end
Class declarations do not match:
class c : object method x : int method y : int end
does not match
class c : object method x : int end
The public method y cannot be hidden
#




57 :デフォルトの名無しさん:05/02/01 23:14:21
val ならいける模様. method はダメなのか...うーむ...

Objective Caml version 3.08.2

# module A = functor ( B : sig class c : object method x : int end end ) ->
struct class c' = object inherit B.c end end

module D = A (struct class c = object method x = 10 val y = 20 end end)
;;
module A :
functor (B : sig class c : object method x : int end end) ->
sig class c' : object method x : int end end
module D : sig class c' : object method x : int end end
#

58 :デフォルトの名無しさん:05/02/13 00:10:26
ここに書き込むのが適切なのかどうかわからんのだけど、
コンビネータ理論とラムダ計算の同等性がわからず、詰まってます。

λ|- M=N ⇔ CL+ (ζβ)|- M_cl = N_cl

らしいんだが、なんでζβじゃないといけないんだろう・・・

59 :デフォルトの名無しさん:05/02/13 08:01:39
λにおけるη展開に相当する規則がCLにないから補う必要がある。

60 :デフォルトの名無しさん:05/02/13 16:32:41
>>59
仰る通り、字面では分かるんですが、それはなぜかと言うところで…
というか、とある問題を解いていて、

(ζβ) : Px → Qx ⇒ P = Q

という規則の代わりに

(ξ):P→Q ⇒ λx.P → λx.Q

をCLに追加するだけでは不十分である事を示せ、とあって、
詰まっていたりします。

…うう、スレ違いスマソ。


61 :60:05/02/13 16:34:48
すいません、規則書き間違えました。
(ζβ) : Px = Qx ⇒ P = Q
(ξ):P = Q ⇒ λx.P = λx.Q
でした。重ね重ねスマソ

62 :デフォルトの名無しさん:05/02/16 11:44:02
つーか、プリミティブなλにη展開は存在しないんだが。

63 :デフォルトの名無しさん:05/02/16 15:16:42
ここは横内さんの本を輪読するスレになりました。

64 :\___________/:05/02/16 18:02:05
         \(            r―-、、
          ,r''^tヽ      〉、::::::::ヽ 落ち着け!
          t'L`、f)     ム`''^)ヾj'′
          ヽlヲノー、-、  ,.゙'r'''ニヽ、,
          r'^ヽt,..,j:::゙i ヽ f,..つ'''ヽ、ヽ!
          ゙i、 ヾ._゙)_;::-:'"r-ミ= __):l.l
        =テ`'i,,゙>、 '"_,,.ィ"`′ ノ´!;;;;;;l !
        '"'^´l  ゙i`1234、_ィ'"´:::::l;;;;;;l l

65 :デフォルトの名無しさん:05/02/23 22:59:47
>>61
(ξ):P = Q ⇒ λ^*x.P = λ^*x.Q
の間違いじゃない?あとλかληかはっきりさせて。

66 :デフォルトの名無しさん:05/02/23 23:29:21
p.44 練習問題2.6の2です。

67 :デフォルトの名無しさん:05/02/25 10:41:53
>>63>>65>>66
ご明察で、横内さんの「プログラム意味論」(共立出版)
p.44 練習問題2.6の2です。

(ξ)の正しい定義は>>65さんの通り、ληではなくλです。
理解が足りてなかったので混乱させてしまいました。

68 :デフォルトの名無しさん:05/02/25 20:41:19
CL+(ζβ)は強すぎじゃないか?
λη|-M=N iff CL+(ζβ)|-M_cl = N_cl
λ|-M=N iff CL+(ξ)|-M_cl = N_cl
という感じがするのだが(根拠はない)

69 :デフォルトの名無しさん:05/02/26 12:40:47
横内さんの本の内容が上手くイメージできない…。
そんな話を聞くたびに代数の勉強を先に済ませておけばいいのにと思う。

よくよく話聞いてたら、プログラム意味論固有の部分が分からないというより
代数的考え方の準備が出来ていない事情が多々目に付いてしまう。

http://www.amazon.co.jp/exec/obidos/ASIN/4320026578/250-0355581-1002631
↑この本読んで苦労を感じるようなら、その前に↓この本買って読んどけ。悪いこと言わんから。
http://www.amazon.co.jp/exec/obidos/ASIN/4000056344/ref=lm_lb_15/250-0355581-1002631

70 :デフォルトの名無しさん:05/02/26 16:07:30
俺にとっては横内さんの本はわかりにくかった。
GunterやMitchellを読んで、横内さんの言いたかったことがやっとわかった。

71 :デフォルトの名無しさん:05/02/26 23:34:22
>>69
しかし、上で揉めてる話は純粋なラムダ計算周りで、代数系の知識はあまり
要らないんじゃないかと思うんだが。


72 :デフォルトの名無しさん:05/02/27 00:49:33
GunterはSemantics of Programming Languagesのことだと思うが
http://www.amazon.co.jp/exec/obidos/ASIN/0262071436/qid=1109432532/sr=1-1/ref=sr_1_0_1/250-0355581-1002631

俺はWinskelの意味論入門書のほうが分かりやすくて絶対お奨め。
http://www.amazon.co.jp/exec/obidos/ASIN/0262731037/qid=1109431978/sr=1-1/ref=sr_1_10_1/250-0355581-1002631

横内さんの本よりよっぽど分かりやすい。
Mitchellは読んでないから知らん。 Schemeインタプリタとかどうでもいいし。。

73 :デフォルトの名無しさん:05/02/27 02:56:32
Winskelも読んだが、あれは横内さんのような(というか元ねたのGunterのような)
カテゴリーに基づく意味論を扱ってなかったように思う。代わりに自分の専門
(の一つの)information systemに1章割いていたが。

まあWinskelは学部レベルの入門書、Gunterは専門書という位置づけだろうな。




74 :デフォルトの名無しさん:05/02/28 14:45:50
アマゾンを見たら
『プログラム意味論』と『プログラミング言語の基礎理論』、どちらもおすすめ!
って書かれてるけど、横内さんの本を読もうという人が、まともに大堀さんの本など
読めないのでは? 日本語限定だと他にどうともしようがない事情も分かるけれど。

75 :デフォルトの名無しさん:05/02/28 21:00:09
横内は誰にでもわかる本を作れない時点で低脳

76 :デフォルトの名無しさん:05/03/01 03:53:04
せめて劣化コピーry

77 :デフォルトの名無しさん:05/03/01 18:38:51
今、75が本質的な事を言った

78 :デフォルトの名無しさん:05/03/01 20:40:08
スレのレベル低下中・・・

79 :デフォルトの名無しさん:05/03/01 20:45:19
今、78が本質的な事を言った

80 :デフォルトの名無しさん:05/03/02 15:05:29
スレの法則が乱れる!

81 :デフォルトの名無しさん:05/03/02 15:18:07
OCamlの勉強をはじめてみようと思うんだが、OCamlのユーザーって日本に何人ぐらいいるもんなの?

82 :デフォルトの名無しさん:05/03/02 15:34:29
86人。
http://www.freeml.com/info/ocaml@freeml.com


83 :81:05/03/02 16:24:23
う〜ん、OCamlをインストールしてちょっと触ってみた感想として、標準で
グラフィックスライブラリやパーサージェネレータが付属していて、
よく出来てそうな環境という印象だったんだけど、あんまり流行ってないのかな。

84 :デフォルトの名無しさん:05/03/02 20:30:08
例外処理とかどうなってんの?
WindowsのOCamlはSEHとか使ってんの?

85 :デフォルトの名無しさん:05/03/04 09:32:08
min-caml
http://min-caml.sourceforge.net/


86 :デフォルトの名無しさん:05/03/05 21:57:51
>>81
表には書いていないけれど、私はOCamlで作ったツールとかも公開したりしている。

87 :デフォルトの名無しさん:05/03/05 23:34:43
おれも心のなかでは公開してるよ

88 :デフォルトの名無しさん:05/03/05 23:35:23
>>84
使ってない。
つまりエラー処理グダグダ。

89 :デフォルトの名無しさん:05/03/07 16:08:21
www.ocaml.org が 404 Not Found なんだけど……なにかあったのか?

90 :デフォルトの名無しさん:05/03/07 16:12:49
http://caml.inria.fr/archives/200503/msg00025.html

91 :デフォルトの名無しさん:05/03/09 00:10:21
>>69
http://science3.2ch.net/test/read.cgi/math/1108516200/124

92 :デフォルトの名無しさん:05/03/09 12:49:44
ベツノヒトデス >>91

93 :デフォルトの名無しさん:05/03/09 13:21:47
スルーされてるが>>85に期待。
いくら貰えたの?

94 :デフォルトの名無しさん:05/03/09 19:30:37
現段階ではSparcマシンが必要七日

95 :デフォルトの名無しさん:05/03/09 20:13:50
http://www.ipa.go.jp/jinzai/esp/2004mito1/gaiyou/6-4.html

>>93 ウハァー、400万円ナリ〜

96 :デフォルトの名無しさん:05/03/09 21:06:39
ATLを生成してGCCのバックエンドを使えばいいと思うんだけど、難しいの?


97 :デフォルトの名無しさん:05/03/10 02:39:03
ATL(Active Template Library)?

98 :デフォルトの名無しさん:05/03/10 03:41:02
RTLですた。


99 :デフォルトの名無しさん:05/03/10 14:10:09
・RTL(Register Transfer Level)
 HDLの記述形式。レジスタの振る舞いに注目し、回路構成を記述。

難しそうね。

100 :デフォルトの名無しさん:05/03/10 14:41:35
ゲートレベルよりははるかに楽。

101 :デフォルトの名無しさん:05/03/13 06:46:15
楽?

102 :デフォルトの名無しさん:05/03/15 15:24:55
いつのまにか http://caml.inria.fr/ のデザインが一新されてる。
いつのまにか http://www.ocaml.org/ が caml.inria.fr にリダイレクトされるようになってる。


103 :デフォルトの名無しさん:05/03/15 15:37:58
おフランス万歳

104 :デフォルトの名無しさん:05/03/15 18:23:19
>>102
使いやすいデザインになったね。

105 :デフォルトの名無しさん:05/03/15 19:14:44
>>102
つーか入れないんですが。

106 :デフォルトの名無しさん:05/03/16 01:25:12
ドキュメント類が3.07のときのやつに戻ってるような。。。

107 :デフォルトの名無しさん:05/03/16 02:38:51
>>102
IEからだとファイルのダウンロードになってしまう。
おれの環境がおかしいのか?

108 :デフォルトの名無しさん:05/03/16 13:19:51
>>107
たしかになるね。
http://caml.inria.fr/index.en.html
だと正しく見えるみたい。

109 :デフォルトの名無しさん:05/03/17 23:10:36
OCaml 3.08.3
http://caml.inria.fr/ocaml/release.en.html
バグフィックス版らしい。

110 :デフォルトの名無しさん:05/03/20 18:04:49
MLってどこがいいのよ?

動的型付けのLispみたくパワフルでないし、
JAVAみたいにわかりやすくもないし、
Cみたいに高速でもないんでしょ?

111 :デフォルトの名無しさん:05/03/20 20:45:31
>>110
型について、LispとMLでどちらがパワフルかといったらMLだろうなぁ…
解かりやすさについては…う〜ん、解かりやすさってなんだろう…それが解からない。
C++よりも速いがCよりは遅いと巷では言われています。

112 :デフォルトの名無しさん:05/03/20 20:48:46
そうして個々に見るといい言語なんだよなML。

しかし日陰者。

113 :デフォルトの名無しさん:05/03/20 22:00:21
>>112
OCaml!!!!!!!!!!!!!!!

114 :デフォルトの名無しさん:05/03/20 22:08:28
これって日本語回りはどんなもんです?

115 :デフォルトの名無しさん:05/03/20 23:25:34
>>114
http://www.ocaml.jp/archive/document/ocamlkf.html

116 :デフォルトの名無しさん:05/03/21 00:51:06
むしろ Camomile では?

117 :デフォルトの名無しさん:05/03/21 01:07:56
MLがマイナーな理由の1つに、
コード生成アルゴリズムがほとんど認知されていないという事があると思う。
どういう記述をすれば良いコードが生成されるとかいった情報。

例えばC言語は高級アセンブラと言われるぐらい単純で、
実際アセンブラからCへの写像も簡単だし、
そういった情報は豊富にあるから、C=速いという結論へすぐに
帰着することができるけど、MLではベンチマークサイトの結果等から漠然と
「速いらしい」という認識しかしてない人が多いと思う。
ほとんどの人がなぜ速いのか?、まで追求しない。
これは型推論からなるMLの基礎理論のハードルが他と比べて高いのが1つの原因だと思う。
言語処理系がコードを処理していく行程というか、仕組み想像できないゆえに敬遠される。
きっとMLにはGCが存在する事さえあやふやな人もいるはず。
CやLISPを自作できるという人はかなりの人数に上ると思うけど、
MLはどうかな?たぶんここには一人もいないよね。

118 :デフォルトの名無しさん:05/03/21 01:39:00
minicaml!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

119 :デフォルトの名無しさん:05/03/21 01:43:10
前半は正しいっぽいのに後半はむちゃくちゃだな。

>CやLISPを自作できるという人はかなりの人数に上ると思うけど、
>MLはどうかな?たぶんここには一人もいないよね。

MLがその力を真に発揮するのは言語処理系を書くときだよ。
MLマニアの大半もそういうことに興味あるやつだと思ってたけど…。
むしろCの処理系を自作できることのほうがすごい。


120 :デフォルトの名無しさん:05/03/21 03:02:19
>>119
処理系書くとかいう話ではないんだけど。


121 :デフォルトの名無しさん:05/03/21 03:19:51
>>111
> 型について、LispとMLでどちらがパワフルかといったらMLだろうなぁ…

???>>110は型自体がパワフルなんて言ってないと思うんだけど???

122 :デフォルトの名無しさん:05/03/21 03:23:28
>>117
言ってることはまさにその通りだと思うんだけど、みんなが知りたい
そういったコアな情報を分かりやすく公開してくれる熱心なグルが
現れん限り状況は改善しそうにないな。

123 :デフォルトの名無しさん:2005/03/21(月) 11:09:32
アホか。大学で普通にならうっちゅうねん。

124 :デフォルトの名無しさん:2005/03/21(月) 11:36:33
↑馬鹿注意

125 :デフォルトの名無しさん:2005/03/21(月) 18:37:00
むしろ学校でしか縁がないとも言えるな。

126 :デフォルトの名無しさん:2005/03/21(月) 19:57:47
Windowsでちゃんとした実行ファイルが作れるMLってありますか?

127 :デフォルトの名無しさん:2005/03/21(月) 20:00:19
http://www.geocities.jp/tom1029384/

128 :デフォルトの名無しさん:2005/03/21(月) 20:02:24
↑何?怖くて見れません。

129 :デフォルトの名無しさん:2005/03/21(月) 20:05:14
桜まつり??

130 :デフォルトの名無しさん:2005/03/21(月) 20:07:30
あ、OCamlにします。


131 :デフォルトの名無しさん:2005/03/21(月) 20:12:38
今話題の岡村がどんなものなのかざっと知るのに
よいページを教えてください


132 :デフォルトの名無しさん:2005/03/21(月) 20:16:13
>>115
亀だけどd

家かえって早速インスコ。
軽く触ってみた。。。第一印象は「いい感じ。」

ここのところPython三昧だったけど、ちょっと浮気してみようかな、と思ってみたり。。。
(ググッたらwxCamlもあるし。ちょっと期待)

133 :デフォルトの名無しさん:2005/03/21(月) 21:06:18
>> 126
Moscow MLのWindows版を使ってるよ。
開発元のページにあるやつ。
http://www.dina.kvl.dk/~sestoft/mosml.html


30 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)