2016-05-20

http://anond.hatelabo.jp/20160520142159

無限ループなのはおまえだろ。

もう一回だけまとめると、__x.t=__x.t+1のような単純な例はもちろん、

その「おまえが書いた命令コード」について、

処理系が、右辺を先に評価して、左辺に代入する

解釈してやった場合

岡部氏のライブラリは、右辺の評価時間におけるxの値を、左辺の評価時間におけるxの値としてイミュータブルなストリーム上に分布する、という説明になるんだろ?

馬鹿から理解できない?

kenokabe氏のGUIコードイベントのたびに同じ変数t(実体はvalOnT)の値を更新しており、

ライブラリの内部的にはな。まだ内部で破壊的代入してるってゴネてるの?精神病

timeengineはライブラリの内部実装だけでなくユーザから見ても関数型ではなく命令型。

ユーザが見ても関数型だが、おまえみたいに命令型のコードかけば、その文脈でも関数型の値が帰ってきたり、定義することができる。

それだけだが、馬鹿から理解できないか

これは過去の値が別の場所に保存されていようが無関係

お前自身がすすんで命令型のコード書いてるんだから、その評価時間のズレで「過去時間」ってのが発生するんだが、命令コード意味しってるかい

記事への反応 -
  • >と、こうして絶対にコードを書かずにいつまでも逃げまわるのであったwww と妄想してるキチガイに冷水か。 「TimeEngine お絵かきアプリ(関数型リアクティブプログラミング/FRPのトイ...

    • http://okaml.blogspot.jp/2015/07/blog-post.html から約10か月遅れの上、kenokabe氏のコードは破壊的代入バリバリの命令型プログラムそのものですね

      • >kenokabe氏のコードは破壊的代入バリバリの命令型プログラムそのもの 何行目のどこ? どこでバリバリ破壊的代入の命令形プログラムになってんの?逃げんなよ?

        • またすさまじいスパゲッティコードですが、要するにtimeengine.js の set: function set(tval) { の中の seq.valOnT = seq.evalEqs(tval); //self eqs eval で値を破壊的に更新して、それを g...

          • すでに否定された「反論」を何度も繰り返して 無限ループでうやむやにしようとしているようですが、 誤りは何回繰り返しても誤りです。 http://anond.hatelabo.jp/20160515231526 http://anond.hatelabo...

            • 無限ループなのはおまえだろ。 もう一回だけまとめると、__x.t=__x.t+1のような単純な例はもちろん、 その「おまえが書いた命令型コード」について、 処理系が、左辺を先に評価して、...

              • いくら哲学ガーとか現在時刻ガーとか喚こうが、関数型だったらこんなことは起きません。 ユーザから見て命令型の代入そのものですね。 __x = __();》Array [ ]__x.t = 1;》1f = function(){return __x...

                • うん、だから、「おまえ」が、 __x.t = 1 と定義した時間 と __x.t = 2 と定義した時間 が異なるじゃん。 __xは、時間のストリームだ、って定義なのに、だからおまえは馬鹿なんだよ。自覚...

                  • 同じ一つの変数の値が「処理系が評価する時刻」によって変わるのであれば、 それは命令型プログラムですね。

                    • 「変数」を「時間上のストリームの現在時刻での値」とか言い換えても同じことです。念のため。

                      • 「変数」を「時間上のストリームの現在時刻での値」とか言い換えても同じことです。念のため。 命令型ならば、そもそもそういう言い換え=パラダイムの変化は生じない。 そもそ...

                    • 違うわアホ 同じ一つの変数の値が「処理系が評価する時刻」によって変わるのであれば、 それは命令型プログラムですね。 同じ一つの変数.ではなく定数というのは、 __x という、...

                      • つまり作者の脳の中では関数型ということですね。よくわかりました。ありがとうございます。

                        • 大丈夫、 つまり作者の脳の中では関数型ということですね。よくわかりました。ありがとうございます。 おまえみたいにコードは書けるが、想像力が致命的で柔軟性が皆無なやつは...

                          • 関数型に「導入した」なら誰も反対しないよ

                            • 意味不明。 馬鹿は黙ってろ。FRPのことについて語るな。

                            • 状態渡しはまやかしだ、とか時間を軸にしたストリームを外部に持ったFRPこそが正しく実用的な関数型、みたいに言うから反対されるって言ってんの。

                              • 誰がいつ「まやかしだ」なんて言ってる? 「状態渡し」に限度がある、って認めたのは、nonstarter自身であり、その他、限界があるのに何でもできる、みたいな嘘をまきちらしているこ...

                                • 俺は書いた本人じゃないから違うかもしれないけど「限度」ってのはプログラマの能力的に、ってことじゃないの? 必要な情報は引数で全部渡して、中で書き換える(副作用)じゃなくて...

                                • 普通に読んだら「FRPも状態渡しと同様の限界がある」と言ってる文章だし、 状態渡しで何でもできるなんて誰も言ってないのに、相変わらず凄まじい捻じ曲げだな。 http://qiita.com/nonstarte...

                                • 岡部式FRPが絶対に必要、と断言しておいて実際にすぐ実装されてしまったら 今度は「お絵かきアプリは簡単すぎたからこれをやれ」か。本当に勝手だな。

                          • あなたの脳の中のFRPではそうなんですね。了解です。

                            • じゃあなくて、おまえの限定的な脳では、FRPなる世界は存在していない。 おまえの脳はFRPなんて知らないのに、知っているように発言していることが害悪。

                            • ちなみに私の知っているFRPはHaskellの各種FRPライブラリとか (つい最近変わったようですが)Elm等の各種言語と同じで、 様々な論文やコードとも一致しています(kenokabe氏の解釈以外)。...

                              • おまえ、FRPなんて知らないだろ? だから知ってるように語るなよ。アホが。

                                • 私も専門家ではありませんがkenokabeさんよりはFRPもよく知っていると思いますし、 kenokabeさんのいうFRPが普通の世界でいうFRPとは全く違うこと、そして kenokabeさんが決してそれを認めよう...

                • 再束縛OKの関数型言語はあるよ > (let [t 1, t (+ t 1)] t)2 http://www.tryclj.com/ Elixirもそうみたい t = {x: 1, y: 2} のあとで t.x = 10 t.y = 15 とか直接書き換えられたら問題かな

            • 「別の場所」じゃなくて、 各分布値を包括するストリームな。 「別の場所」とか言ってる時点で何も理解できてない。

              • 「現在の値」であるt(実体はvalOnT)とは別の場所ですね。

                • また無限ループか。 __x.t は __x の集合要素、 別の場所?なにほざいんての?語るなよ、FRPを。

                  • tの実体であるvalOnTと、過去の値を実際に保存しているseqは 同じオブジェクトの中にはありますが別のフィールド変数ですよね。

                    • tの実体であるvalOnTと、過去の値を実際に保存しているseqは 同じオブジェクトの中にはありますが別のフィールド変数ですよね。 「実体」?実体ってなに?内部実装の話?まだ言って...

          • 出たでたw まーた駱駝の「すぱげってぃこーど」 まーた、「FRPライブラリの実装」にイチャモンつける大バカ。 馬鹿に質問だが、OCamlのソースコードって、純粋関数型で実装されてんの...

          • 最初から http://anond.hatelabo.jp/20160515231526 で指摘されているとおり、セッターでvalOnTに破壊的代入して ゲッターでvalOnTの値を返してるので、内部実装だけでなく ユーザから見ても破壊的代...

            • 過去の値が全部残ってるからイミュータブルって言うんじゃないの Datomicみたいに

              • すでに出てるけどユーザから見て > const __x = __();undefined> __x.t = 1;1> __x.t = __x.t + 1;2> __x.t;2 昔の値を別の場所に保存していようが、これを関数型とは言わないし、普通の命令型。 kenokab...

                • 言い訳してるのはおまえ。 関数型ライブラリつかって、あからさまな命令型を書いて、命令型だ!って言われてもな。馬鹿だろ? 方程式の左右の評価時間が違う処理系ならば、岡部氏...

                  • 「kenokabeのGUIプログラムも、イベントが起こるたびに変数の値を繰り返し更新してる。」はスルー もしくは「岡部さんの哲学を理解していない」ですか。まあそうですよね。 >方程式の...

                    • 方程式の左右の評価時間が違う処理系 やっぱり「処理系」という言葉の意味を理解していないことがよくわかったので、ありがとうございました わかってるよ。そんな難しい言葉だ...

                • << イベントが起こるたびに変数の値を繰り返し更新してる。 ライブラリの内部的にはな。馬鹿がまだ、ライブラリの実装では破壊的代入だってゴネてるのかな?

                • 外野だが、関数型って彼の言うとおり思想哲学共有してないと馬の耳に念仏、豚に真珠だからな 岡部さんは豚に真珠見せてる段階

            • http://kenokabe-techwriting.blogspot.jp/2016/05/timeengine.html でまた反論されてるけどさ、 「命令型」って繰り返してるけど、どういう意味で使ってる? 「破壊的代入」ってどういう意味で使ってる...

        • >ライブラリのユーザに見えるレベルでも __drawFrom.t = { x: e.clientX, y: e.clientY }; など、もろに命令型の破壊的代入ですね。 違うけど? __drawFrom は時間軸上のImmutable...

          • kenokabeさんの心の中ではそうなのかもしれませんが、ライブラリのユーザから客観的に見れば(分析哲学ではなく関数型言語の意味で)参照不透明なので、関数型プログラミングのメリッ...

            • ああ。住井@東北大かな? >(分析哲学ではなく関数型言語の意味で)参照不透明なので、関数型プログラミングのメリットは享受できない、命令型の破壊的代入と等価ですね。 君の...

            • ああ。住井@東北大かな? >(分析哲学ではなく関数型言語の意味で)参照不透明なので、関数型プログラミングのメリットは享受できない、命令型の破壊的代入と等価ですね。 君の...

            • 実際、timeengine.js を読み込んだ状態で、以下のようになります。 > const __x = __();undefined> __x.t = 1;1> __x.t = __x.t + 1;2> __x.t;2 これは岡部健氏が著書で「論理破綻」と批判していた、命令型...

          • 関数型って時間はパラメータで与えて結果を得るんじゃないの 刻々と変化する「現在時間」を抽象化したインデックス を変数で持ってたら、命令形じゃないの

            • >関数型って時間はパラメータで与えて結果を得るんじゃないの 刻々と変化する「現在時間」を抽象化したインデックス を変数で持ってたら、命令型じゃないの 言ってる意味がさっぱ...

              • 初期値で0与えて再帰の引数でカウント回したりとか、普通にあると思うけど

                • >初期値で0与えて再帰の引数でカウント回したりとか、普通にあると思うけど は?初期値0で「再帰の引数でカウント回した」ら、ある無限ストリームの「現在時刻」を得るためのイ...

                  • 再帰が無限なら現在時刻のインデックスは引数として無限に得られるよね グローバル変数の一部に代入しておくような手続き的な構造にする必要ないよね 関数のパラメータのみから結果...

                    • 100%不可能な机上の空論は聞き飽きたから、コードで示してみな?w いったいどうやったら「現在時刻」を抽象化したdate.nowやらfoo.t以外で、 その「現在時刻のインデックスは引数...

              • それをユーザから見て命令型変数への破壊的代入ではなく 参照透明な関数型インターフェースで実現するのが いわゆるモナドや(誰かの独自解釈ではない本来の)FRP。 http://elm-lang.org/ex...

                • 命令型プログラムをFRPとか言ってる人が決定的に理解していない点は、 ライブラリユーザは現在時刻から状態への写像fを 参照透明な関数なりストリームなりで記述して、 それを処理系...

                  • >それを処理系が実際のシステム時刻t=0,1,2,...に適用して状態f(0),f(1),f(2),...を得る、という本来のFRPの基本原理 じゃあ、その「本来のFRPの基本原理」なるもので、お絵かきアプリ実装し...

                    • nonstarter氏をはじめもう1年ぐらい前から何度も示されてるんですが(以下無限ループ)

                    • ユーザプログラムではなく「処理系が」と明記されているのに また曲解して藁人形論法の詭弁で「論破」ですか。 それとも「処理系」という言葉の意味がわからなかった?

                      • http://kenokabe-techwriting.blogspot.jp/2016/05/frp_18.html 使ってるライブラリのソースコード=「処理系」なるもの 残りは全部、使ってるライブラリのソースコードからfrequencyやリフレッシュレー...

                  • 「FRPでなく状態渡しでも書ける!」ってのだけみたけど、 どこにFRP,特に、 http://anond.hatelabo.jp/20160517023637 >ライブラリユーザは現在時刻から状態への写像fを 参照透明な関数なりスト...

                  • 「FRPでなく状態渡しでも書ける!」ってのだけみたけど、 どこにFRP,特に、 http://anond.hatelabo.jp/20160517023637 >ライブラリユーザは現在時刻から状態への写像fを 参照透明な関数なりストリ...

                  • 「FRPでなく状態渡しでも書ける!」ってのだけみたけど、 どこにFRP,特に、 http://anond.hatelabo.jp/20160517023637 >ライブラリユーザは現在時刻から状態への写像fを 参照透明な関数なりストリ...

                    • http://qiita.com/nonstarter/items/2763f5d85f2b8df3b18b main = playBanana disp colour freq gen https://hackage.haskell.org/package/gloss-banana-0.1.0.4/docs/src/Graphics-Gloss-Interface-FRP-ReactiveBanana.html playIO display colour frequency () ...

                      • また、ボロクソにつっこまれてるよな? http://kenokabe-techwriting.blogspot.jp/2016/05/frp_18.html こいつら、こんな程度の嘘が通用すると思ってるのかね?低レベルコーダが。

                      • おう、あんたのこの投稿 毛の壁がSOに持って行って泣きついてるで http://stackoverflow.com/questions/37293422/a-true-frp-principle-and-reactivebanana-code

                      • ・Ken OKABE氏、SOで元の書き込みを捻じ曲げて説明し「間違っていますよね?」と同意を求める ・「SOはdiscussion forumではない」とたしなめられる ・「正しい」という回答がついたら特異な...

                  • http://anond.hatelabo.jp/20160517023637 >ライブラリユーザは現在時刻から状態への写像fを >参照透明な関数なりストリームなりで記述して、 >それを処理系が実際のシステム時刻t=0,1,2,...に適...

                    • http://kenokabe-techwriting.blogspot.jp/2016/05/frp_18.html 使ってるライブラリのソースコード=「処理系」なるもの 残りは全部、使ってるライブラリのソースコードからfrequencyやリフレッシュレー...

                • >それをユーザから見て命令型変数への破壊的代入ではなく参照透明な関数型インターフェースで実現するのがいわゆるモナドや(誰かの独自解釈ではない本来の)FRP。 はい、戯れ言へ...

            • 言ってる意味がさっぱり意味がわからないんだけど、おまえはどうやって「現在時間」という結果を得る「パラメータ」を用意するつもりなんだ?ww 筋金入りの馬鹿だな、こいつww ...

            • >再帰が無限なら無限に得られるよね グローバル変数の一部に代入しておくような手続き的な構造にする必要ないよね 関数のパラメータのみから結果を生み出すっていう参照透過な形で...

              • よくわからんが、プログラミング原則的な意味だとコードの中に現在時刻って変数が入ってくる時点でなんかおかしいとおもうんやが。

      • >問題にしてるのは「アプリの現在の状態」の扱い方でしょ? 「アプリ現在の状態」を得るために、「カウント回してインデックス作る」ってどういう意味?w 「現在の状態」あるい...

      • この「必死こいて状態渡しで息切れしながらやってみました」感丸出しの 見通しの悪い、スパゲッティ糞コードってスケールすんの?笑い http://okaml.blogspot.jp/2015/07/blog-post.html

      • http://megalodon.jp/2016-0521-1450-10/okaml.blogspot.jp/ また瞬殺

        • スケールするFRPアプリ課題:わかりやすい嘘誤魔化しをしないように http://kenokabe-techwriting.blogspot.jp/2016/05/frp_23.html 瞬殺し返されてる

        • 「誰か」がWeb魚拓を削除したようですね。 http://web.archive.org/web/20160523004259/http://okaml.blogspot.jp/

        • >(追記2:「状態渡し」すら不要だからしなかったんですけど、どうしても状態渡しを使わないと納得しない人がいるようなので使いました。)

          • 新しい課題が難しそうなので、今度はこれでお茶を濁す魂胆かな?

            • 一応、要求通りに新しい課題のOCamlコード書く http://okaml.blogspot.jp/2016/05/done2.html#more  ↓ kenokabe氏に、 OCamlの関数型状態渡し : 74行 JavaScript+React+TimeEngineのFRP : 44行 だと、トドメをささ...

              • 勝負ありましたね。 岡部さんの説明で前から納得している方々はそれなりにいます。

                • 増田で出会った待望のあのお仲間のことなら あいつプログラミングのプの字も知らないのに「なんとなくあっち側陣営がむかつくから」で参戦してるただのバーサーカーだから、あんた...

                  • 現実に岡部氏を高く評価している特定の人たちも知っていますが、住井某その他の強弁に騙されるような馬鹿なプログラマーばかりではないということです。 関数型プログラミングはま...

                    • このように何か処理を実行した際に、入力として受けつけたデータ以外の物が変化することを"副作用がある"と表現するようです。 関数型言語はこの副作用のないプログラムを目指し...

                      • この辺でさ、岡部氏のFRPは、時間軸を持つストリームとしての値っていうのを、特別扱いして外部に持ってるわけじゃん? 「岡部氏のFRP」ではなくて、FRPっていうのはそういうもの...

                      • グローバルというより、単にスコープの外の値にアクセスしているだけ。 それが関数型じゃない、というのなら、クロージャはどうなるの?知ってたら教えてほしいが。

              • 岡部氏が故意か理解できなくて引用しなかったDOMどころか、 「静的型」という用語も知らないことが発覚。これはすごい。

              • 状態渡しとか関係なくDOMだから長いだけじゃん。っていうか そう書いてあるのに改ざんして引用するkenokabeさすがだな。

    • 自分から言い出した「実用性皆無のトイコード」を1年かけて書き上げて しかもその結果が微塵もFRPでない(どころか関数型ですらない)単なる お気の毒様な命令型のウンコードじゃあ...

      • >しかもその結果が微塵もFRPでない(どころか関数型ですらない)単なる お気の毒様な命令型のウンコードじゃあねえ…… 「微塵もFRPでない」、ってのと 「命令型のウンコード」、っ...

    • 3月24日のやりとりに対するレスを5月6日に、ブログ(5月6日更新(笑))のUROを張り付ける行う執念深い岡部さんのファン(笑)の方、オッスオッス。 今回の入院は長かったですね。躁・...

    • kenokabeさんは故意か無意識か、自分の有利なように論文を曲解していますが、 「面倒なんで全部訳しませんが」と言ってる部分に、氏には都合の悪い真実が書かれていますね。 >Conventio...

      • nonstarter氏のエントリについても、kenokabe氏は >>(イベントのシグナルから状態のシグナルを構成する際に状態遷移をそうした関数で表現する必要が出てくるので) >???????...

        • >>(関数プログラミングで書けるということの恩恵はもちろんあるとしても)。 >これもどういう意味なのか全く意味がわかりません。 いわゆる参照透明性が成り立つ(副作用がな...

        • http://kenokabe-techwriting.blogspot.jp/2016/05/timeengine.html nonstarterの言うことがハッタリじゃなければ、さっさとToDoListの課題をOcamlの関数型の状態渡しをもって実装してみせればいいだけだが、言...

      • TImeEngineは命令型でも破壊的代入でもない http://kenokabe-techwriting.blogspot.jp/2016/05/timeengine.html で まさにtimeengineプログラムに頻出するフィールドtが「状態」、tへの破壊的代入が「変化」で...

    • http://kenokabe-techwriting.blogspot.com/2016/05/c.html すげー! Cの「プリプロセッサが」純粋関数型、と言ってる(半ばジョーク)記事の また都合の良い部分だけを取り出してる……。まさに牽強付...

      • 一応説明すると、Elliottの元記事は HaskellのIOモナドが「IOアクションを生成する純粋関数型プログラム」なのと同様、 Cのプリプロセッサは「Cプログラムを生成する純粋関数型プログラム...

      • それはつまり、岡部氏が適用している関数型が俺達の関数型と違うから独自解釈だ、と攻撃している集団にも適用されるわけだが? これもし同じこと岡部氏が書いてたら連中どう反応し...

        • それこそ国際学会とかで認められてるのがどっちか考えれば明らか。

          • 「国際学会」ねー。 FRPについての合意について?w ソースは?ほら出してみろよw

            • ヒント:ElliotをはじめFRPの重要な論文の大半が発表されてる学会の委員長

              • Haskell.org https://wiki.haskell.org/Functional_Reactive_Programming を見ても The basic idea is that a time-varying value can be represented as a function of time: newtype Behavior a = Behavior { at :: Time -> a } もろに「関...

                • 主なFRPライブラリやICFPとかの論文もざっと見たが「岡部式」は皆無

                  • そういうするだけ無駄な反論もどきはおまえの知能の低さを晒すだけだぞw まずざっと見たというのの根拠が皆無 しかも無かったからなんだというのか それは否定材料にはならない と...

                  • 岡部氏が部分的に引用しているFRANの論文 http://conal.net/papers/icfp97/ からして Time -> a型の関数が基本で、岡部式FRPのような代入は影も形もないですね。 すでに出た https://wiki.haskell.org/Functi...

                    • 頭悪いよな。 あのね、FRPについて、何かが認められている、何かの合意があるみたいなことを言ってるのだけど、 岡部氏が出したCornelEliottのいうFRPは、ことごとく他のFRPと自分の考え...

                      • 合意の有無なんてどうでもいいわ その論だけで自立するものを展開させろよw

                      • FRPも関数型言語も、誰も合意があるなんて言ってない。岡部氏の藁人形論法。 藁人形に加えて「合意がないから僕の独自理論は正しい!」という詭弁。

                    • Haskellの""real world""についての等式が「代入」ならば、おまえにとっての「代入」はそれで良いのだろう。 別の言い方をすると、 岡部氏の設計した、FRPはHaskellの""real world""の代入と概念的...

              • FRPについての合意について?w ソースは?ほら出してみろよw ↓ ヒント:ElliotをはじめFRPの重要な論文の大半が発表されてる学会の委員長 バカ発見。 FRPについての合意のソー...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん