関数型言語Part3
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG関数型言語Part2
http://pc3.2ch.net/test/read.cgi/tech/1007387924/
0232デフォルトの名無しさん
NGNG違うってばよ。
Cマガの記事はたまに素人が書いてるので鵜呑みにできない。
「関数型言語*風*にも書ける」と書いてあるなら、あながち
間違いとは言えないけど、正解では絶対にない。
点数付けるなら、100点満点中25点ぐらい。
これはね、
「Cでもオブジェクト指向(風に書くことが)できる」
と言ってるのと同じ。
C言語と、関数型言語として洗練された構文と意味論を持つ
専用言語では、記述の幅からして比較にならない。
0233デフォルトの名無しさん
NGNGSML(Standerd) 演習
http://a414s1.it.nanzan-u.ac.jp/smlbook/smlwww/
初級ML講座
http://nt-p.net/adx/e/ml/mlkouza.html
C言語の時と同じ使い方をしようとしても、有り難味が判らないんじゃないかな。
論理学とか数学の知識は多少でもあった方がいい。
0234アシュル ◆adhRKFl5jU
NGNG関数型言語の共通コンパイラバックエンドを作ろうというプロジェクトなどが
計画されたことなどあるんでしょうか?聞いたことないですが。
0235デフォルトの名無しさん
NGNGlispだと最適化がやりやすいため。
0236アシュル ◆adhRKFl5jU
NGNG0237デフォルトの名無しさん
NGNG....
0238名無しさん@Emacs
NGNGACL以外で、まともな最適化まで考えられてる
処理系とかあるの?
0239デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNGMLって元は定理証明システム用言語だった訳だけど、
数式処理も一種の定理証明システムなのではないか…
ちうあたりで、同じ様な処理が求められているという意味かも?
>>231
MLと断ってあるし、原始言語(LISP)はあまり関係ないと思う
0241デフォルトの名無しさん
NGNG>関数型言語の共通コンパイラバックエンドを作ろうというプロジェクトなどが
>計画されたことなどあるんでしょうか?聞いたことないですが。
これなんてどうなんでしょう?
http://cs1.cs.nyu.edu/leunga/www/MLRISC/Doc/html/
0242デフォルトの名無しさん
NGNGなにこれ?
0243デフォルトの名無しさん
NGNGってゆー噺だと思われ
0244デフォルトの名無しさん
NGNGあれは、GCCの公式配布パッケージの中に取り込んでもらえないのかな?
0245デフォルトの名無しさん
NGNG若干意味不明
0246デフォルトの名無しさん
NGNGなるんでしょうか?バックエンドとしてgccを使うのは
なにもHaskell4.0Xだけではなかったように覚えてますが。
0247デフォルトの名無しさん
NGNG0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNG0250デフォルトの名無しさん
NGNG0251名無しさん@Emacs
NGNG漏れもそうだと思ってたけど、
例の剃刀との関連が今一というか。
0252デフォルトの名無しさん
NGNGスレ違いと思うのは漏れだけ?
関数型プログラミング言語ML
1:デフォルトの名無しさん :02/01/31 11:43
関数型言語ML(SML/Caml/Ocamlなど)についてのスレッドです。
 ̄ ̄ ̄ ̄ ̄
http://pc2.2ch.net/test/read.cgi/tech/1012445015/
0253デフォルトの名無しさん
NGNG0254デフォルトの名無しさん
NGNG0255デフォルトの名無しさん
NGNGそのスレは以前↓の質問があったのですがシカトされたという経緯がありますた
720 :デフォルトの名無しさん :03/01/10 01:54
OcamlとOccamは違うのですか?
0256デフォルトの名無しさん
NGNGttp://www.ops.dti.ne.jp/~cake-smd/hw/FrontPage.html
0257248
NGNGところで O'Caml には lambda という名前のオペレータは無いんですね。
新鮮ですた。It's FUNny, isn't it?
0259デフォルトの名無しさん
NGNG.fr ドメインの理由で www.ocaml.org があったのか。(w
0260デフォルトの名無しさん
NGNGできるんでしょうか?
イベントをストリーム化するとかの理屈はなんとなくわかるんですが、
例えば現在のマウスカーソルを取得して何かしたりするクリティカルな
場合は、ストリームから取ってこれないですよね?
0261デフォルトの名無しさん
NGNGttp://www.cs.kun.nl/~clean/About_Clean/Platform_Games/platform_games.htm
アクションゲームが書けるようだが。
0262デフォルトの名無しさん
NGNG0263デフォルトの名無しさん
NGNGそんなことしてる処理系は何がありますか?
もしくは、どうやって調べられる?
0264デフォルトの名無しさん
NGNG0265デフォルトの名無しさん
NGNG代数の勉強にいったまま帰って来てない
みたいですよね。。。
0266デフォルトの名無しさん
NGNG0267デフォルトの名無しさん
NGNG処理速度は良いとして、メモリの使用量の違いが興味深いね。
こんな感じ
http://www.bagley.org/~doug/shootout/bench/lists/
SML/NJ, bigloo, cmucl 辺りは結構メモリ食いだね。Haskell もかな。
0268デフォルトの名無しさん
NGNG色んな言語(関数型多し)のコードを見られるのは面白いと思います。
別の意味でも笑えます("Hello there sailor" とかね)。
0269デフォルトの名無しさん
NGNG0270山崎渉
NGNG0271デフォルトの名無しさん
NGNG0272デフォルトの名無しさん
NGNG0273デフォルトの名無しさん
NGNG0274デフォルトの名無しさん
NGNGでも、なんで concurrent cleanスレないんやろ?
0275デフォルトの名無しさん
NGNGHaskellスレもMLスレも
ここからわかれたようなもんだし
0276デフォルトの名無しさん
NGNG0277デフォルトの名無しさん
NGNGここでやると埋もれてくから、スレ立てした方がいいよ。
寂れるの覚悟で。
0278デフォルトの名無しさん
NGNG0279デフォルトの名無しさん
NGNG立てろ
0280デフォルトの名無しさん
NGNG0281デフォルトの名無しさん
NGNGというか、なんでそんなにスレ立て避けるの?
Javaとかクソスレバンバン立ってるじゃん。
0282デフォルトの名無しさん
NGNGただそれだけ
新スレ立てたらここにリンク貼ってねー
0283デフォルトの名無しさん
NGNG0284デフォルトの名無しさん
NGNGtatoeba ??
0285デフォルトの名無しさん
NGNGJava ha fpl ni arazu
0286デフォルトの名無しさん
NGNG0287デフォルトの名無しさん
NGNGJava as a Functional Programming Language
ttp://www-compsci.swan.ac.uk/~csetzer/articles/javafunctional.pdf
0288デフォルトの名無しさん
NGNGminakutemo daitai naiyou ga souzou dekiru
Java demo fp mitaina koto ga dekiru to itteirunodarou
sikasi sore ha Java ga fpl dearu koto wo imisinai
0289名無しさん@xyzzy
NGNG0290デフォルトの名無しさん
NGNG0291anonymous@default
NGNG0292デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNG0294デフォルトの名無しさん
NGNGrubyやperlと異なり、なんとか関数型プログラミングできる。っていうこと
でいいんでしょうか?
http://www-6.ibm.com/jp/developerworks/linux/010615/j_l-prog.html
0295デフォルトの名無しさん
NGNGいいんじゃないですか。
でも正格言語では、末尾呼び出しのLOOP展開ができないと
本格的には使えないけど。
0296デフォルトの名無しさん
NGNGRubyで関数プログラミング
http://sky.zero.ad.jp/~zaa54437/programming/ruby/
0297デフォルトの名無しさん
NGNGPerlもRubyも関数オブジェクトを生成できるけど、何が違う?
そういえば最近のPyhonはレキシカルクロージャ作れるようになったんだっけ?
ところで関数がファーストクラス・オブジェクトで、末尾呼び出しの最適化が
行われるPostScript言語も関数プログラミングできまつか?
0298デフォルトの名無しさん
NGNGものすごく読みにくいね。
背景とか行間とか。
0299デフォルトの名無しさん
NGNG0300デフォルトの名無しさん
NGNGSqueaker かも。背景とか。
0301デフォルトの名無しさん
NGNGスタイルシートOffにすれば、まぁよめる。
0302デフォルトの名無しさん
NGNG0303デフォルトの名無しさん
NGNGCleaner というべきかも!
純粋関数型言語 Concurrent Clean
http://sky.zero.ad.jp/~zaa54437/programming/clean/
0304デフォルトの名無しさん
NGNG字面を見て再帰だって簡単に判断する方法ってないの?
簡約すると元に戻る奴が再帰だよね?
0305bloom
NGNG0306名無し@沢村
NGNGおまいら、これからの言語はおまいらよ、これからの言語は量子言語しかないよ。
ふつーの言語では演算によって結果を求めるが、量子言語ではすべての結果は重ねあわせの状態でそでに存在しているから、その中から求める結果を選ぶだけよ。
求める結果は重ねあわせの係数で決まるのよ。
このあたりが古典言語と大きく文法が異なるところだな。
おまいらよ、人類の歴史は量子以前と以後とで2つにわかれるんだよ。
つまり、おまいらのは古典だな。
0307デフォルトの名無しさん
NGNG0308山崎渉
NGNGピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0309デフォルトの名無しさん
NGNGこんなところにこなくてよい
0310デフォルトの名無しさん
NGNG0311デフォルトの名無しさん
NGNGさもなくばcleanスレ立てる
0312デフォルトの名無しさん
NGNGそれは正規形を持たないという。
再帰は不動点演算子を使っているものをいう。
で、正規形を持つかどうかは判断できません。
0313デフォルトの名無しさん
NGNG英語の論文読んでも
closure analysisとかフロー解析しないとできなそうな
雰囲気だったしな〜
0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNG0316デフォルトの名無しさん
NGNGこうだったかも
0317新しい文法スレの753
NGNG>一番新しいものでも 3月21日だったので
それは残念だね。更新されるのを待つのがいいかもしれないね。
>>792
>でも、最左戦略で non-strict とすると、だいたい外側から試していくわけで、
>継続という処理が終わっていない部分は内側のように思えますが、
>そうなんでしょうか?
内側だろうが外側だろうが、まだ計算が終わっていない部分全て。
>また、Scheme で継続を呼び出すときは値をひとつ渡すわけですが、
>上記のように内側の部分を継続とすると、
>継続を呼び出したときに与える値はどこにはまるんでしょうか?
そりゃ、「継続で指定された場所」でしょう。
>Clean の簡約戦略は関数型簡約戦略だそうですが、これだとどうなんでしょう?
Cleanは知らないので答えられない。俺が教えて欲しいぐらい。
>また、仮にランダムに redex を選ぶような戦略を想定するとどうなるんでしょう?
それでも、計算されていない部分が継続で問題無いと思うが。
0318新しい文法スレの753
NGNG俺もよくわからない。
>上の例に delay と force を入れると、
>Haskell や Clean のように、
>合流性や参照透明性が保たれるようになるんでしょうか?
おそらく、delayとforceを使うと、評価順が一定に定まってしまって、
戦略を選ぶ余地がなくなると思うが。
だから、確かに合流性は保たれるんだけど、これは、レデックスが
同時に複数でてくる言語とは違うような気がする。
たしかに、Haskellのような言語に参照透明性が保たれる
ように継続を導入するのは一筋縄ではいかなそうだな。
俺が単純に考えて思いつくのは、例えば「この場所では同じ
継続呼び出ししかできない」のような制約を課せば
合流性が保たれるように実現できるかもね。
つうか、俺は関数型の専門家でもなんでもないし、
ラムダ計算とかも昔少し独学した程度なので、
つっこんだこと聞かれても困るが。
第一、あなたの方が詳しいような気がするんだけど。(w
間違ったこと言っていたらスマソ。
0319デフォルトの名無しさん
NGNG0320デフォルトの名無しさん
NGNG0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNG0323デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1047970129/
600 あたりから関数型の話題になってますた
0324デフォルトの名無しさん
NGNG結局、継続は関数型言語の純粋さを破壊する非関数型な機能のようですね。
0326デフォルトの名無しさん
NGNGあと、合流性の定義は調べたほうがいいですね。
評価順を決めれば結果がひとつになるというのは
合流性が成り立ったことにはならないので。
0327753
NGNG合流性の定義をそう解釈した覚えはない。
君が誤解している。
delayを使えば、「評価順を変える」などという
ことがそもそも出来なくなるので
戦略を選ぶ余地は無くなる。
それから、継承を使っただけでは合流性は損なわれない。
0328753
NGNG全てが全て、ラムダ計算のβ-簡約のように、評価順が
全く自由というわけではない。
0329753
NGNG(call/cc (lambda (k) (cons (k 1) (k 1))))
ならば、合流性は損なわれない。
全部k 1でそろえてるからだ。
これと同じ規則にしろとはいわないが、継続を使ったということが
イコール合流性が損なわれるということにはならない。
0330デフォルトの名無しさん
NGNGにも絶対に変えられない順序は存在する。
引数を計算しておかないとδ-リダクションは行えないからな。
0331デフォルトの名無しさん
NGNGもちろん、そういうのはありますよね。
TRS のほうでいえば、ある redex を書き換えた結果として
新しく redex がでてくるなら
前者より先に後者を書き換えるのは無理ですし。
■ このスレッドは過去ログ倉庫に格納されています