[過去ログ]
関数型プログラミング言語Haskell Part16 (978レス)
関数型プログラミング言語Haskell Part16 http://echo.5ch.net/test/read.cgi/tech/1317958045/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
859: デフォルトの名無しさん [] 2011/12/25(日) 19:32:00.64 >>850 >副作用をうまく取り扱うための枠組みを、モナドは提供できている どこで、なんで、それができてるんや?ちゅうのが知りたいんやな http://echo.5ch.net/test/read.cgi/tech/1317958045/859
860: デフォルトの名無しさん [sage] 2011/12/25(日) 19:39:14.42 自分は手下に命令しただけで、直接手を下していないことを 「俺は潔白だ」 というようなものだな。 MLのように自分が手を下した範囲をちゃんと自供するほうが ずっと罪は軽い。 http://echo.5ch.net/test/read.cgi/tech/1317958045/860
861: デフォルトの名無しさん [sage] 2011/12/25(日) 19:41:31.09 IO aをRealWorld -> (a,RealWorld)とみなした上で外延性から ∀ x :: IO a, ∃s.s' :: RealWorld. x s /= x s'について解釈することで参照透明性をもう少し厳密に言えないのかな http://echo.5ch.net/test/read.cgi/tech/1317958045/861
862: デフォルトの名無しさん [sage] 2011/12/25(日) 19:45:03.85 RealWorld型を導入しなくても参照透明にはなるよ IO a型の値をプリミティブにしたって良いし http://echo.5ch.net/test/read.cgi/tech/1317958045/862
863: [―{}@{}@{}-] デフォルトの名無しさん [sage] 2011/12/25(日) 19:45:45.33 >>860 実際にコードを読んだり(自動でも手動でも)最適化する場合に 直接手を下しているかどうかが重要になるんだから仕方ない http://echo.5ch.net/test/read.cgi/tech/1317958045/863
864: デフォルトの名無しさん [sage] 2011/12/25(日) 19:48:09.17 Moggiが表示的意味論(もちろんI/O、状態、並列などが扱われている)で 使われている技法に共通構造を見出した。 それがどんな構造かってのは、数学分からない人には、絶対に演繹的に理解できないです。 数々のMonadを体得することで帰納的に理解してください。 帰納的な理解だから身体動かさないと無理です。 頑張ってMonad入門を読みこなして、さらにプログラムを書いてください。 http://echo.5ch.net/test/read.cgi/tech/1317958045/864
865: デフォルトの名無しさん [sage] 2011/12/25(日) 20:02:04.02 茂木=サン http://echo.5ch.net/test/read.cgi/tech/1317958045/865
866: デフォルトの名無しさん [sage] 2011/12/25(日) 20:21:29.09 継続やストリームを使ったIOの表現よりも、 モナドを使ったIOの表現の方がシンプルで、処理を追いやすい IOモナドが作られた理由はこれに尽きるだろ http://echo.5ch.net/test/read.cgi/tech/1317958045/866
867: デフォルトの名無しさん [] 2011/12/25(日) 20:21:39.10 >>858 >>864 ああ、また見捨てられてしもた。いっつもこうや。わしに学がないばっかりに。 ふつうのプログラムはやってるから、あのIOやエラーは知ってるし、 Maybeなんちゅうのがあるらしいのも知ってるけど、そんなんじゃ 話がわからんちゅうこっちゃろな。 Monad入門ってどこにあるんですか? 今日は冷えるわ。 http://echo.5ch.net/test/read.cgi/tech/1317958045/867
868: デフォルトの名無しさん [] 2011/12/25(日) 20:27:46.78 >>861 問題意識がおもしろそう。 参照透明性が厳密に表現できると、モナドも厳密に表現できるのでは という動機? http://echo.5ch.net/test/read.cgi/tech/1317958045/868
869: デフォルトの名無しさん [sage] 2011/12/25(日) 20:36:19.03 IOモナドに関してはこれがいい。 特にボトムアップで理解したい人。実装について触れられてる。 http://haskell.org/haskellwiki/IO_inside http://echo.5ch.net/test/read.cgi/tech/1317958045/869
870: デフォルトの名無しさん [] 2011/12/25(日) 20:50:43.45 >>867 俺も学の無い人間だけど、モナドはOOPでいうインターフェースに当たる型クラスって機能を使って構築されてるって言えば何をしたいものか大体わかる? http://echo.5ch.net/test/read.cgi/tech/1317958045/870
871: デフォルトの名無しさん [sage] 2011/12/25(日) 21:58:46.16 Haskell で GUI のアプリ作った・作ってる人っている? http://echo.5ch.net/test/read.cgi/tech/1317958045/871
872: デフォルトの名無しさん [sage] 2011/12/25(日) 22:04:17.40 XMonadの拡張なら http://echo.5ch.net/test/read.cgi/tech/1317958045/872
873: [―{}@{}@{}-] デフォルトの名無しさん [sage] 2011/12/25(日) 22:10:00.15 オセロなら http://echo.5ch.net/test/read.cgi/tech/1317958045/873
874: デフォルトの名無しさん [sage] 2011/12/25(日) 23:04:12.41 >>872,873 Haskell でも MVC や Doc-View アーキテクチャが基本なの? Model あるいは Doc の部分ってどうやって実装してる? やっぱり IORef のようなミュータブルな IO モナドになっちゃうのかな http://echo.5ch.net/test/read.cgi/tech/1317958045/874
875: [―{}@{}@{}-] 873 [sage] 2011/12/25(日) 23:14:40.98 MVCっぽい感じだった モデルにはMVar使ってた http://echo.5ch.net/test/read.cgi/tech/1317958045/875
876: デフォルトの名無しさん [sage] 2011/12/25(日) 23:39:17.99 ちゃんと教えてあげなよ。 >>867 Schemeになるが、Semantic Lego http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.31.2885 http://echo.5ch.net/test/read.cgi/tech/1317958045/876
877: デフォルトの名無しさん [sage] 2011/12/25(日) 23:46:03.80 インストール作業が非常に面倒だった記憶があるから、 インストールする前に訊きたいんだが、 以前 windows 上で wxHaskell を使ってた時は、 ghci では動かせず、動作を試すのにいちいちコンパイルしてたんだ 今(ghc 7.2.2、wx-0.12.1.6)でもそうなの? http://echo.5ch.net/test/read.cgi/tech/1317958045/877
878: デフォルトの名無しさん [sage] 2011/12/26(月) 01:50:40.57 >>867じゃないけど>>876面白いな モナドとモナド変換子を使ってプログラミング言語の意味を表現しておけば そこからその言語のインタプリタを自動生成してくれるのか http://echo.5ch.net/test/read.cgi/tech/1317958045/878
879: デフォルトの名無しさん [] 2011/12/26(月) 10:20:49.85 >> 878 >モナドとモナド変換子を使ってプログラミング言語の意味を表現しておけば >そこからその言語のインタプリタを自動生成してくれる そりゃできるに決まってるよ、と思うのだが、そう思うのってあまりにdetailに 鈍感ってことかなあ? ところで、このときモナドが本質的(モナドだからできる)ってことでもない と思うのだが、どうですか? http://echo.5ch.net/test/read.cgi/tech/1317958045/879
880: デフォルトの名無しさん [] 2011/12/26(月) 10:31:03.06 >>879 構文と意味を分離するのだから、モナドが相当本質的ではないの? http://echo.5ch.net/test/read.cgi/tech/1317958045/880
881: デフォルトの名無しさん [sage] 2011/12/26(月) 15:45:22.21 ようやくlearn you a haskell ~ を2周読み終えるわ。この本やっぱり 面白かった。純粋な関数型のデータ構造を扱うための入門にも向いてるよ。 特に最後の2つの章がね。 ただの入門かと思ったけど、そうでもなかった感じがした。 もちろん、ちょっと話題になってるモナド変換子のことは現実世界Haskell になってくる。でも、Learn you a Haskell~を2,3度読むと基礎は十分 じゃないかと思った。 ええ本ですわ。 http://echo.5ch.net/test/read.cgi/tech/1317958045/881
882: デフォルトの名無しさん [sage] 2011/12/26(月) 15:51:58.71 他の本も同時に読んでるけど、Tree based tech-nick の言語でもあるし なにもかも他とは異質という印象があった。LispやSmalltalk,Prologと は違うまた異質な世界。 でも、オブジェクト指向でやったほうが良いようなシミュレーションの問題 などは向いてないなと思った。Haskellでもできないことはないというのは、 ライブラリを探して、サンプルを見てたら分かるんだけど、無理矢理感が 拭えないな。 簡単なところを学んだあとに改めてHaskellというのを考えたけど、学んで 有益だったのか明確な答えがでなかった。 ここのベテランさん達はHaskellを学んで、そして実用的?に利用して何が良 かったと感じてますか? http://echo.5ch.net/test/read.cgi/tech/1317958045/882
883: デフォルトの名無しさん [sage] 2011/12/26(月) 15:52:52.02 technique だったな。 http://echo.5ch.net/test/read.cgi/tech/1317958045/883
884: デフォルトの名無しさん [sage] 2011/12/26(月) 15:54:03.41 もうひとつ感じたことh,HaskellのタプルはLispのconsみたいなもんなんだな。ってね。consとtupleは違う点ももちろん明確なんだけど。 http://echo.5ch.net/test/read.cgi/tech/1317958045/884
885: デフォルトの名無しさん [sage] 2011/12/26(月) 20:04:36.55 >>882 ・便利な機能(というより、無いと苦痛な機能)が揃ってる 代数的データ型、型クラス、型推論、… ・構文が簡潔なので書いていて苦痛が少ない(括弧を閉じなくて良いのは大きい) ・静的な型 もっと地味に良いところはたくさん挙げれられる GC、生ポインタ操作、パーサコンビネータ、ユーザレベルスレッド、並列処理、 do構文、where構文、純粋であること、末尾再帰の最適化、… でも個人的な感覚としては、他の言語に比べて大きな欠点が少ないから使ってる http://echo.5ch.net/test/read.cgi/tech/1317958045/885
886: デフォルトの名無しさん [sage] 2011/12/26(月) 20:04:44.07 >>884 問1. HaskellのタプルとLispのconsの共通点は何? 問2. その共通点は本質的なものか? http://echo.5ch.net/test/read.cgi/tech/1317958045/886
887: デフォルトの名無しさん [sage] 2011/12/26(月) 21:40:09.83 >>878 2時間たらずでそこまで理解できたなら大したもんだ。 自動生成というか、各プログラミング言語の概念(環境、ストア、継続)をモジュール化することで、 レゴのブロックのように意味の組み合わせが可能になる言語の枠組みとして使えるという内容。 いろんな先入観を払拭するのに最適だし。 残念ながら入出力については実装があたえられていないので、言語SLは実践的にはまったく使い物にならない。 逆に言えば、入出力をちゃんと理解して組み込めるようにすれば、実用的にも結構すごいことだと思う。 http://echo.5ch.net/test/read.cgi/tech/1317958045/887
888: デフォルトの名無しさん [sage] 2011/12/26(月) 23:00:19.71 表示的意味論の教科書でも大抵入出力は端折ってる。 http://echo.5ch.net/test/read.cgi/tech/1317958045/888
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 90 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.013s