関数型プログラミング言語Haskell Part27_©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net
2015/01/08(木) 21:02:35.67ID:IQPOX3u7haskell.org (公式サイト)
http://www.haskell.org/
前スレ
関数型プログラミング言語Haskell Part26
http://peace.2ch.net/test/read.cgi/tech/1406436392/
0232デフォルトの名無しさん
2015/01/22(木) 07:29:09.34ID:yXMo1Viyお前さんがしたいだろう主張の正しい定式化は
(遅延評価が採用されている ∧ 副作用がある) → 動作がまずい
⇔遅延評価が採用されている → (副作用がない ∨ 動作がまずい)
⇔遅延評価が採用されている → (副作用がある → 動作がまずい)
だ。これはお前さんの
(遅延評価が採用されている → 副作用がある) → 動作がまずい
ではない。「flipして戻すと」とか最初からできない。
その時点で逆だの対偶だのと関係なくなってるわ。
0233デフォルトの名無しさん
2015/01/22(木) 07:59:21.85ID:hihrfS9D0234デフォルトの名無しさん
2015/01/22(木) 08:20:28.03ID:yXMo1Viyそれなら「flipして戻す」とかできないだろ。
前2つは「→」で結合されてないんだからな。
0235デフォルトの名無しさん
2015/01/22(木) 08:24:04.14ID:gOPwVEDJflip :: (a -> (b -> c)) -> (b -> (a -> c))
なんですけど…
0236デフォルトの名無しさん
2015/01/22(木) 08:43:59.72ID:C1enpK1Tしぃっ!
0237デフォルトの名無しさん
2015/01/22(木) 08:45:42.60ID:7Blthlt50238デフォルトの名無しさん
2015/01/22(木) 08:46:07.01ID:J1v0x3VwIOを世界状態の関数だと思うと、例外とか並行性で訳分からなくならない?
例えば、mv :: MVar Intのとき、
modifyMVar_ mv (return . (+2))
と
modifyMVar_ mv (return . (+1)) >> modifyMVar_ mv (return . (+1))
は違う意味だけど、この二つが異なる「関数」だと言うのは簡単じゃない気がする
0239デフォルトの名無しさん
2015/01/22(木) 09:12:23.26ID:yXMo1Viyありゃ、そらそうだ。すまんね。だが、それで言えるのは
副作用がある → (遅延評価が採用されている → 動作がまずい)
なので(これは正しい定式だ)、
>>231が「flipして戻す」をしてないってこったね。
0240デフォルトの名無しさん
2015/01/22(木) 09:14:16.99ID:yXMo1Viy>>231は「flipして戻す」はしてるのか。すまんほんとうにすまん。
眠くてボケてるな。
単に対偶とか逆とか裏とかを取るそういう操作じゃないってだけだ。
0241デフォルトの名無しさん
2015/01/22(木) 09:28:26.88ID:m5cyHAPkおかげさまで、遅延評価とHaskell の関わりが解りました。
全域が参照透過だからこそ、遅延評価をデフォルトにできたんすね。
圏論の枠組みで値を扱いたい
↓
Moggi「モナドあれ」
↓
入出力含む全てを参照透過にできた → コンパイラが攻撃的になれるので動作速度も上がった
↓
遅延評価をデフォルトにできた → モジュール性上がった
0242デフォルトの名無しさん
2015/01/22(木) 09:33:24.41ID:luu2eUXma → b だとまずい = a → (b → まずい)
b → a だとまずい = b → (a → まずい)
は両方とも意味は同じなんだけど、同じ意味に対して書き方が二つあって、
左辺の逆、裏、対偶は違うものになるってことだと思う。
0243デフォルトの名無しさん
2015/01/22(木) 09:39:51.90ID:luu2eUXm参照透過にしたい & 遅延評価にしたい
↓
副作用の扱いに困る
↓
モナドを使えば良いことに気づく
だよ。
ちなみにkenokabeが圏論とか言ってるのは完全にデタラメだよ。
0244デフォルトの名無しさん
2015/01/22(木) 09:45:32.68ID:luu2eUXmすまん、これは括弧無しだとさすがにまずかった。
a → (b だとまずい) = a → (b → まずい)
b → (a だとまずい) = b → (a → まずい)
0245デフォルトの名無しさん
2015/01/22(木) 10:03:41.42ID:m5cyHAPkへええ、参照透過も遅延評価も結果じゃなくて目的だったんですか!
Haskell と圏論の繋がりがわかんないです。
そういえば訳本の教科書には圏論のけの字も出てこないし、Preludeではidも(.)もCategoryのクラスメソッドじゃないし、歴史的にはクライスリトリプルをモナドとして基幹に採用して以来、徐々に圏論を取り入れてきた、って感じなんすかね。
0246デフォルトの名無しさん
2015/01/22(木) 10:14:15.85ID:TlerM3muOOP で言うデザインパターンはイディオムだけど、 Haskell では型クラスとして記述可能にしているという違いはある。
つっても、例えばモナドがモナド則を満たすかどうかみたいにインターフェイス以外に必要なルールはプログラマの責任だけどな。
0247デフォルトの名無しさん
2015/01/22(木) 10:22:57.72ID:ZxT+7VDJhttp://b.hatena.ne.jp/entry/qiita.com/kenokabe/items/61d156005c7831c693cd
0248デフォルトの名無しさん
2015/01/22(木) 10:28:47.74ID:m5cyHAPk実際は両方が重要だったってことね。
0249デフォルトの名無しさん
2015/01/22(木) 10:38:43.08ID:y/T1Azr6圏論はデザインパターン、ですか。そういう視点は無かった。勉強になります。
0250デフォルトの名無しさん
2015/01/22(木) 10:53:22.85ID:C1enpK1T0251デフォルトの名無しさん
2015/01/22(木) 11:39:34.25ID:yXMo1ViySystem.Mem ( performGC:: IO() ) 使えば?
0252デフォルトの名無しさん
2015/01/22(木) 12:12:33.73ID:J1v0x3Vw-threadedを付けてコンパイルするとデフォルトで0.3秒のアイドル後に自動GC
https://downloads.haskell.org/~ghc/6.10.1/docs/html/users_guide/runtime-control.html#id2622480
0253デフォルトの名無しさん
2015/01/22(木) 12:16:17.06ID:yXMo1Viy0254デフォルトの名無しさん
2015/01/22(木) 12:25:44.90ID:vPFLQWeixs = 'x' : xs
参照透過の目的はデータ構造を初期化する順序を自由にすること
(関数を定義する順序は元々問題なかった)
xs = foo 'x'
ys = foo 'y'
0255デフォルトの名無しさん
2015/01/22(木) 15:19:16.52ID:C1enpK1T流石です
0256デフォルトの名無しさん
2015/01/22(木) 16:51:17.12ID:JA0C5j9Tそして別エントリとして同じ内容を投稿かwwww
0257デフォルトの名無しさん
2015/01/22(木) 22:03:05.55ID:K0V9CDcS圏論をプログラミング言語の理論に応用してその結果を取り入れようという流れと、
圏論の構造を言語内に取り込もうという流れがあると思う。
モナドの場合はMoggiは前者の意図だったんだけど、Wadlerが後者もやった。
後者は比較的最近の流れで、元々は圏論を取り込もうという目的はなかったと思う。
>>246が言ってるのは後者の話で、Haskellに関する前者の話も沢山ある。
0258デフォルトの名無しさん
2015/01/22(木) 23:32:32.10ID:+0By/pHuクライスリ圏は、名前の通りKleisliという人の研究に基づく。
後に言う Kleisli triple は圏論の一般論の中で整理された。整理された後もしばらくは triple
と呼ばれていたが、複合語を作るときに triple だと困る(字面上意味不明の言葉になりやすい)
ため、MacLaneがモナドという名称を提案した。モナドという名称はライプニッツの単子論から借りてきたものだけど、ただ単に名前を借りてきたというのが実情。
(「カテゴリー」なんかも元々はアリストテレスの哲学に関連する用語の名詞を借りてきたもの。)
ただし、モナドは関手圏における「一般化された半群(モノイド)」とみなせるという事情があり、「モノイド」と音が近い哲学用語として「モナド」が選ばれたというぐらいの意味はある。
以上のことは「圏論の基礎」pp.183-198 あたりをよく読めば判る。そして、この辺のことは数学の内部での動機によって研究されていて、
コンピュータサイエンスとはあまり関連が意識されていなかった。
Moggiは "Computational lambda-calculus and monads" で計算の圏論的意味論を示した。この中で彼は色々な種類の「計算」が
X --> T(Y) という形の「射」として捉えられると主張した。ただし、Tは考えている圏における自己関手。ところで、このような「計算」
の合成可能性を考えると、Tは自己関手であるにとどまらず、モナドであることが要求される。(要点は、T(T(X)) のような「二重の文脈」
を一重つまりT(X) の形に解くことができるかということ)。カルテジアン積を持つ圏を考えるともう少し強い性質が要求されるが、
これが「強モナド」というもの。
Moggiの論文はいくつかの例が取り上げられており、たとえば状態モナドなども扱われている。関数の内部状態のような、数学的には
ちょっと扱いに困るようなものが、Moggiの示した工夫に依ってうまく扱えるということは、「純粋な関数」(従って呼ばれる毎に遷移する内部状態を持たない)
たちとモナドを組み合わせて、「内部状態を持つ関数」などをシミュレートできるということを意味する。
0259デフォルトの名無しさん
2015/01/22(木) 23:39:27.07ID:+0By/pHuじゃあなんで「純粋な関数」に固執する意味があるのか。
個人的にはあんまないと思うけど、一応
1.純粋な関数であれば(呼び出し回数に応じて返す値が変わるようなことはないので)最適化しやすい(ほんとかなぁ)。
2.最外最左簡約のように、「同じ部分式を何度も評価する」ことになりやすい評価戦略を選んだ場合、もし関数の純粋性が保証されているならば
「グラフ簡約」のような最適化手法により、良いコードが生成できる(ことがある)。
なんてことはあると思います。じゃあなんで「最外簡約」みたいなマイナーな評価戦略を使いたいかといえば
・無限リスト、例えば [1 ..] みたいのが余裕で作れて表現力が増す。
ぐらいしか思いつきませんが、とにかく「計算の結果次第で配列の長さが変わる」ような計算を、あまり
チマチマとしたコードを書かずにズバッと書けたりして俺TUEEEできるというのがいいんですかね。
まあ頭いい人は放っておくと変なものを作るということなんだと思います。
0260デフォルトの名無しさん
2015/01/22(木) 23:57:29.31ID:+0By/pHu蛇足。
「最外簡約」は、構文木を根の方から評価しようという評価戦略で、評価の実態からそのように呼ばれている。
一方で、プログラミングする人の気持で、構文木の終端が評価の最後の方にまで遅延されるという印象に基づいて
「遅延評価」とも呼ばれます。
いずれにせよ「遅延評価」をあまり神秘的に考える必要はないです。
0261デフォルトの名無しさん
2015/01/23(金) 02:43:28.47ID:9Ll9FhEC停止する可能性がある計算は必ず停止するというのがあったと思うんですが
それはあまり重視されない?
0262デフォルトの名無しさん
2015/01/23(金) 03:19:59.17ID:jnn1J11N0263デフォルトの名無しさん
2015/01/23(金) 11:34:44.27ID:FG7Cgjgq無限ループは副作用じゃないか
同じ引数で結果が2通り以上になるのは副作用
なら0通りも副作用ではないか
0264デフォルトの名無しさん
2015/01/23(金) 11:58:54.97ID:5jDftkrl>無限ループは副作用じゃないか
f(n) = f(n-1)はたとえば、f(5)=f(4)で、同じ引数なら同じ結果の純粋な関数だ。
単に続けてf(4)も計算しようとするから停止しないだけ。
それが気に入らないなら、停止しないということを「⊥ ボトム」という値で
表現すれば、f(5) = ⊥ は常に成り立つんだからやっぱり純粋性は保たれている。
0265デフォルトの名無しさん
2015/01/23(金) 13:07:46.09ID:FG7Cgjgq0266デフォルトの名無しさん
2015/01/23(金) 13:15:42.27ID:mGGgFMZE0267デフォルトの名無しさん
2015/01/23(金) 13:39:39.55ID:5jDftkrl>⊥はNothingに似てるしMaybeはMonadだから副作用と関係ありそうだけどな
そういう適当な連想ゲームしてっとkenokabeになるぞ。
0268デフォルトの名無しさん
2015/01/23(金) 14:05:12.06ID:FG7Cgjgqだからプログラミング言語がある
0269デフォルトの名無しさん
2015/01/23(金) 15:05:27.84ID:mGGgFMZE0270デフォルトの名無しさん
2015/01/23(金) 16:28:32.03ID:hSE1K7on0271デフォルトの名無しさん
2015/01/23(金) 16:52:38.24ID:mGGgFMZEあんなバカ記事ストックしてる奴らも悪いけど、ある意味すげーわ
0272デフォルトの名無しさん
2015/01/23(金) 17:49:56.81ID:he2eREiv少し読んだら前だけじゃなく後ろからも手斧飛んでて笑った。
何がしたいんだよ。
0273デフォルトの名無しさん
2015/01/23(金) 18:00:53.81ID:FG7Cgjgq0274デフォルトの名無しさん
2015/01/23(金) 22:03:27.40ID:psNR2ovjそれを別のマシンにダウンロードして、そこで元と同じ環境になるようにしたい。
この場合、cabal.sandbox.config ファイルの中に書かれている絶対パスを
それぞれのダウンロード先の環境に合わせて書き直さなければならないの?
たとえば、local-repo: [なんとか]/.cabal-sandbox/packages の値とか。
この [ なんとか] の部分を消して相対パスにしたら、パスが見つからないというエラーが出た。
0275デフォルトの名無しさん
2015/01/23(金) 22:06:34.99ID:8zAsCc6J通常の意味では副作用じゃないけど、
型に⊥を加えるのは全域関数の圏のモナドだよ。
0276デフォルトの名無しさん
2015/01/23(金) 23:17:22.27ID:5jDftkrl知ってる。リフティング。
しかし、モナドは別に副作用ではない。
0277デフォルトの名無しさん
2015/01/24(土) 00:19:47.30ID:FLIgZ7JZ全域関数を純粋な関数として他は副作用とする考えもあるし、そういう言語もあるよ。
http://www.rise4fun.com/koka/tutorial
0278デフォルトの名無しさん
2015/01/24(土) 00:57:27.87ID:d5sOd2yH0279デフォルトの名無しさん
2015/01/24(土) 10:35:16.53ID:ldvaOpkQ0280デフォルトの名無しさん
2015/01/24(土) 12:09:46.58ID:SXwXQLVs0281デフォルトの名無しさん
2015/01/24(土) 12:34:55.72ID:kvIaPjFBHaskellには無関係な式が二つ以上ある
独立したモジュールが複数存在する
つまり数学者の脳内とプログラマの脳内でやってることが違う
0282デフォルトの名無しさん
2015/01/24(土) 12:45:49.96ID:oRbgo8RH遅延評価の形式的な議論とプログラマとしての理解にはなにも違いがないし、
君が理解してないだけだと思う
0283デフォルトの名無しさん
2015/01/24(土) 20:25:38.71ID:oGAF5m1n英語でもかまいません。
0284デフォルトの名無しさん
2015/01/25(日) 08:00:31.97ID:4n+jRXJnでも遅延評価ってあんまり実装されてる言語無いんだね
0285デフォルトの名無しさん
2015/01/25(日) 10:17:56.04ID:CZVIVtmk0286デフォルトの名無しさん
2015/01/25(日) 10:35:28.00ID:47J/10kQ正格評価の言語なら遅延評価させたい部分で()->*を渡すだけでいいのだから。
0287デフォルトの名無しさん
2015/01/25(日) 10:56:39.83ID:yeeuIM7T0288デフォルトの名無しさん
2015/01/25(日) 11:08:22.84ID:s2HjDF7wcall by value な純粋関数型言語で、
引数を call by need で渡すのってできるの?
0289デフォルトの名無しさん
2015/01/25(日) 12:30:43.11ID:47J/10kQ副作用無しの言語ならメモ化も面倒。
けどメリットは少ない。
0290デフォルトの名無しさん
2015/01/25(日) 13:43:20.57ID:CZVIVtmkLisp「関数もマクロも必要だから」Smalltalk「ブロックが必要」Haskell「遅延評価」
0291デフォルトの名無しさん
2015/01/25(日) 14:45:02.13ID:yaDwD3P+Haskellはイディオムが多すぎる、と思った。
多くのイディオムを身に着けたら効率の良いプログラミングは可能だろうが、
チーム開発は可能なのかな・・。
熟練者を集めても、頼っているイディオムに大きな違いがあるだろうに。
0292デフォルトの名無しさん
2015/01/25(日) 15:01:30.80ID:TO6nbIrr頭への負荷が平気ならイディオム連呼が
そうでないなら正規な表現の組み合わせで表現するのが効率がよい
効率の良さは結局人の性質によって異なるのだ
しかし頭への負担はどんな人間でも年とともにつらくなってくるものだから
将来を考えたらきっちり正規形で考える癖をつけとくべきだな
0293デフォルトの名無しさん
2015/01/25(日) 23:02:37.58ID:CZVIVtmkHaskellは型とクラスが多すぎる
変数の型と型変数のクラスを自動でチェックしたら効率の良いデバッグが可能
熟練者は頼っている型とクラスに大きな違いがある
>>292
静的型付けの効率の良さは人の性質によって異なる
0294デフォルトの名無しさん
2015/01/25(日) 23:11:41.00ID:p3bk5TEE完全に道具に遊ばれてるな
0295デフォルトの名無しさん
2015/01/26(月) 13:16:24.01ID:NLE6CajI0296デフォルトの名無しさん
2015/01/26(月) 14:14:42.52ID:rq658b9R0297デフォルトの名無しさん
2015/01/26(月) 19:49:58.93ID:XNIaxWEk0298デフォルトの名無しさん
2015/01/26(月) 20:00:14.82ID:86moXcK60299デフォルトの名無しさん
2015/01/26(月) 20:08:46.77ID:6ykKj8/Z毛一人をBANってのは何か違うよな
一番簡単な方法ではあるけども
0300デフォルトの名無しさん
2015/01/26(月) 21:11:30.40ID:WHjADl5Sqiitaが毛の壁とやりとりしたが改善されなかったからって言ってたから
あの長文をqiitaに送りつけたんだろう
たぶん注意→凍結→ユーザー資格取り消し
ってやりとりがあったと思われ
0301デフォルトの名無しさん
2015/01/26(月) 21:20:48.76ID:AD59R4uGここにいるのなら奴のことは忘れろ
0302デフォルトの名無しさん
2015/01/26(月) 22:45:50.83ID:1uLj9DBphttp://web.archive.org/web/20080622204226/http://www.cs.vu.nl/boilerplate/
ライブラリ ドキュメントの Data.Data のページに boilerplate へのリンクが貼ってあるが切れてて、探してたら見つかった。
やっと Data 型クラスの使い方がちょっと分かってきた。
仕組みはまだ分からんが。
0303デフォルトの名無しさん
2015/01/27(火) 00:28:25.15ID:1sPJsT1Q0304デフォルトの名無しさん
2015/01/27(火) 00:49:25.01ID:9RKPRbxp一人の敗者を除く全員が平等な世界のどこが良いのか
0305デフォルトの名無しさん
2015/01/27(火) 00:55:23.26ID:ON3kwsIb0306デフォルトの名無しさん
2015/01/27(火) 01:15:28.77ID:pyp4F36Ghttp://yomogi.2ch.net/test/read.cgi/net/1421926957/
0307デフォルトの名無しさん
2015/01/27(火) 17:27:41.86ID:+1Xip5apまさか毛も今回のスペシャルフォーメーションにQの運営がゲスト参加してるとは思うまいw
0308デフォルトの名無しさん
2015/01/27(火) 18:05:56.19ID:GDvEOGFIhttp://qiita.com/esumii/items/ec589d138e72e22ea97e
0309デフォルトの名無しさん
2015/01/27(火) 18:15:19.71ID:RZorUkzCもっとひどいやつがいるぞ
「extern は要らない子!」って今でも連呼しているが、こういうやつこそ ban されないと
0310デフォルトの名無しさん
2015/01/27(火) 18:44:45.47ID:ON3kwsIb0311デフォルトの名無しさん
2015/01/27(火) 20:19:19.21ID:ox5yAQX/// |:!
//,. -/r‐- 、| !
/,/ ./ | _」 ト、
/.\`/ |二...-┘ ヽ
. i ,.>、;/ー- 、 l
! ∠.._;'____\ |
,!イ く二>,.、 <二>`\.、ヽ.
/'´レ--‐'ノ. `ー---- 、 |\ ヽ、 「forが無いようだが…」
\ `l (!" Jfヽ! `''-;ゝ
`‐、jヽ ヾニニゝ ゙イ" }_,,. ‐''´
`´\ ー / ,ィ_}
. |_ `ー ''´ _」'
_,.| ~||「  ̄ 人|、._
,r==;"´ ヽ ミ|||彡 / ` ー`==、-、
. ///,イ ___ ヽ|||_,,. ‐''´___ | | | |ヽ
0312デフォルトの名無しさん
2015/01/27(火) 23:01:22.39ID:8Es+EE5Kつ forM_
0313デフォルトの名無しさん
2015/01/28(水) 07:48:57.72ID:zESgryfs誰の顔だと思う?
,.-―: ̄`ー::::::::::、
/::::::::::::.::::::::::::::::::::::::::::`::、、
/::::::::::::::::::::::::::::::::::::::::::::::::::::::`、
l::::::::::::::::::::::::::::::::::::::::;':l:::::::::::\::l
l:::::::::::::::::::::::::::::::::,,::::::::;-,:,::::::::::::::::l
l::::::::::::::::,_,.::::,';::::::;:::::: :: l ::::::::::::::l
l::::::::::/-/:::/-ニ,.::::/=,./::::::::::l
ヽ:::: ´、ひ> ;: l .<ひ>' 、::::::::/
ヽ:::::  ̄ .)::; l  ̄ l::::/
、:::::.. /:::; .,-、 l:::/、
,―:::::::: ゝヽ- ー' 、 l::/,、ヽ
l,、,、,,:、:: / ,--、,-.、_ l /::::::,、,、l
l,、,、,、,、,、::、 `ー ̄-' /:::::::::::,、,、l
l,、,、,、,、,、,、::ヽ /::::::::、,、,、,、,ノ:\
l,、,、,、,、,、,、,、,、,,ー― ':::::::,、,、,、,/,、,、,、,、,`
/,、,、,、,、,、,、,、,、,、:::::::::::::::::::::::::::、,、、,、,、,、,、,、,、
0314デフォルトの名無しさん
2015/01/28(水) 08:05:33.60ID:slxhZiXoスレ違いも大概にするか、親不知から海に飛び込んで落っ死ねカス
0315デフォルトの名無しさん
2015/01/28(水) 08:23:42.88ID:PZUlbwjy関数型bot
0316デフォルトの名無しさん
2015/01/28(水) 12:11:51.87ID:1UBwC5Qa0317デフォルトの名無しさん
2015/01/28(水) 12:45:31.15ID:YDLWOLdXあっちの同じ人の書き込みを見るとkenokabeに粘着する人のようだし、
このスレもkenokabeに粘着する人に粘着されるのかもしれない。
0318デフォルトの名無しさん
2015/01/28(水) 14:08:39.14ID:1WBxC8/8逆に使いこなせたら全て自分の手柄にしないと割に合わない
でも自分の手柄にしたいなら関数型ではなく自己流でやるべき
関数型が正しいかどうかは知らんが
自己責任論が多かれ少なかれ嘘臭いのはみんな知ってる
0319デフォルトの名無しさん
2015/01/28(水) 19:27:21.59ID:GcZv3SAt0320デフォルトの名無しさん
2015/01/28(水) 19:28:42.26ID:D4DppUD9ひしひしと伝わってくるw
でも筋はいいのでHaskellの子孫に考え方が継承されればいいと思っている
自分はJavaやScalaでの関数型プログラミングのドキュメントを読んでも
ピンと来なかったがHaskellのドキュメントを読んで少し解った気がする
0321デフォルトの名無しさん
2015/01/28(水) 19:31:32.93ID:93RLbcHP0322デフォルトの名無しさん
2015/01/29(木) 06:01:24.39ID:LrWrINrL0323デフォルトの名無しさん
2015/01/29(木) 08:35:38.22ID:FGN+iwuI/::::::::::::.::::::::::::::::::::::::::::`::、、
/::::::::::::::::::::::::::::::::::::::::::::::::::::::`、
l::::::::::::::::::::::::::::::::::::::::;':l:::::::::::\::l
l:::::::::::::::::::::::::::::::::,,::::::::;-,:,::::::::::::::::l
l::::::::::::::::,_,.::::,';::::::;:::::: :: l ::::::::::::::l
l::::::::::/-/:::/-ニ,.::::/=,./::::::::::l
ヽ:::: ´、ひ> ;: l .<ひ>' 、::::::::/
ヽ:::::  ̄ .)::; l  ̄ l::::/
、:::::.. /:::; .,-、 l:::/、
,―:::::::: ゝヽ- ー' 、 l::/,、ヽ Qiitaによる圏論弾圧を許すな!
l,、,、,,:、:: / ,--、,-.、_ l /::::::,、,、l
l,、,、,、,、,、::、 `ー ̄-' /:::::::::::,、,、l
l,、,、,、,、,、,、::ヽ /::::::::、,、,、,、,ノ:\
l,、,、,、,、,、,、,、,、,,ー― ':::::::,、,、,、,/,、,、,、,、,`
/,、,、,、,、,、,、,、,、,、:::::::::::::::::::::::::::、,、、,、,、,、,、,、,、
0324デフォルトの名無しさん
2015/01/29(木) 08:47:40.40ID:TTUB+Uno0325デフォルトの名無しさん
2015/01/29(木) 10:15:00.02ID:2lYDg0Ki0326デフォルトの名無しさん
2015/01/29(木) 11:03:55.08ID:XWNZF0m4http://nmuta.dip.jp/~muta/tog301.pdf
0327デフォルトの名無しさん
2015/01/29(木) 11:57:00.17ID:YfwvpXl2正義感とか誤解しないでくれ
関数型言語というのは我々は高尚なんだ
ゴミが混じってはいけないのだよ
https://lispmachine.files.wordpress.com/2013/03/chart-dmitry-ignatiev.jpg
0328デフォルトの名無しさん
2015/01/29(木) 11:58:03.66ID:CAv4BBBaHaskellが崩壊してもHaskellは真の関数型ではなかったと言い訳できるからだよ
そういうトリックを使ってる自覚のある識者には正義感なんてないだろ
0329デフォルトの名無しさん
2015/01/29(木) 12:45:27.10ID:rtImRMnr0330デフォルトの名無しさん
2015/01/29(木) 13:57:27.94ID:zNgdEinm「話せば分かる」は最低限のコミュニケーション能力がある相手じゃないと成り立たない。
コミュニケーションとれない人間、威圧的な人間に構うと疲れるだけ。
毛の壁ほどではない、分かりにくい隔離対象もいるから注意な。
0331デフォルトの名無しさん
2015/01/29(木) 14:32:14.62ID:4sa11BOVほんとマジで金払うから死んでくれない?手伝うから
いくら払ったら元のスレに戻してくれる?ニホンゴワカル?
■ このスレッドは過去ログ倉庫に格納されています