- 1 名前:デフォルトの名無しさん [04/05/04 14:53]
- Lisp Scheme ML Haskell FP Mirranda など
関数型言語について話し合いましょう 関連スレ 関数型プログラミング言語ML pc3.2ch.net/test/read.cgi/tech/1012445015/ 関数型プログラミング言語Haskell pc3.2ch.net/test/read.cgi/tech/1013846140/ LISP Scheme Part6 pc3.2ch.net/test/read.cgi/tech/1031560687/ Emacs Lisp pc3.2ch.net/test/read.cgi/tech/1004551074/
- 673 名前:デフォルトの名無しさん [2008/04/06(日) 10:16:39 ]
- 関数型って逐次処理は一切ないの?
それとも数学的に(ラムダ計算で?)合成可能な関数オブジェクトを持った 普通のプログラミング言語になるの?(つまりc#とか既に近い所にあるのか)
- 674 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 10:29:14 ]
- 言語に逐次処理が組み込まれているかどうかは別として、
逐次処理が「表現できない」言語は実用にならないから、 普通の関数型言語はどれも逐次処理を表現できるようになってる どうやって表現するかは言語ごとに違って、組み込みで持ってるの(Scheme,ML)とか、 データに関数を適用して、その結果に関数を適用して…という構造で逐次処理を表すの(Clean)とか、 処理自体を第一級のデータとして扱うの(Haskell)とか
- 675 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 10:34:35 ]
- 関数型でも、Lispとかで逐次処理をだらだら書いてるソースを見かけると、
手続き型とあんま変わんなくね?と思うことがある。 一方で、非関数型でも、定義を並べる感じできれいに書かれてるものもある。 言語も重要だが、書き手の心構えのほうが影響でかい気がする。
- 676 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 10:41:26 ]
- レスどうも。ポインタありがとう。
やっぱ書き方というか設計によるところもあるんですね。
- 677 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 10:42:02 ]
- 関数型言語はあくまで関数プログラミングを支援する言語だからな
Haskellで命令的に書くことも不可能じゃない
- 678 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 11:42:58 ]
- >>674
基本的には関数の評価が強制されることを利用して順序をつけるので同じじゃないかな
- 679 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 12:02:37 ]
- >>678
例えばSchemeの((lambda () a b c))でa b cが順に評価されるのを 「関数の評価が強制されることを利用」と表現するのは無理がないか? Haskellの動作に至っては関数と全く(特定の処理系の内部実装の話を別にすれば)関係ない
- 680 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 01:32:03 ]
- 論理型言語の現状はどうなってるの?
|

|