トップページtech
1001コメント379KB

関数型プログラミング言語Haskell Part27_©5ch.io

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん 転載ダメ©2ch.net2015/01/08(木) 21:02:35.67ID:IQPOX3u7
関数型プログラミング言語 Haskell について語るスレです。

haskell.org (公式サイト)
http://www.haskell.org/

前スレ
関数型プログラミング言語Haskell Part26
http://peace.2ch.net/test/read.cgi/tech/1406436392/
0951デフォルトの名無しさん2015/04/03(金) 21:05:10.93ID:6jSxnujl
詰問ではない
0952デフォルトの名無しさん2015/04/04(土) 17:46:47.54ID:8tbUo2zR
モナドはひとつしかない
真のモナドは引き継がないと永遠に失われる
http://i.imgur.com/uoOXcy4.png
0953デフォルトの名無しさん2015/04/04(土) 20:24:26.19ID:apqAsPxv
>>14
なりすまし氏ね!
0954デフォルトの名無しさん2015/04/05(日) 10:28:14.89ID:6kmP5T9e
Yesod について質問です。

hamlet 準クォートと違い shamlet 準クォートは Type-safe URLs を扱え、
準クォートの記述の後にレンダラ関数を受け取ります。

この、レンダラ関数を受け取ることやレンダラ関数の型は
ライブラリドキュメントのどこを見れば分かるのでしょうか。


今回の件に限れば、入門書やWebの情報を見て分かったので問題ないのですが、
今後の学習のことを考えると、公式のドキュメントでも把握できる、
裏をとる能力が必要だと思い、質問しました。
0955デフォルトの名無しさん2015/04/05(日) 17:03:09.12ID:/p4ZvisL
動的計画法のメモ用配列として使うArrayに関して
Data.Arrayだと動くのにData.Array.UnboxedのUArrayにしてアクセスするとa.exe: <<loop>>になる
Arrayの方で全要素にアクセスしても正しく結果を返す
どういう原因が考えられるだろうか
0956デフォルトの名無しさん2015/04/05(日) 21:00:54.28ID:6kmP5T9e
>>955
一番良いのは、その問題のソースをどこかに公開することです。

大きすぎて難しいのならば、同じ問題が起きるより小さなソースを公開してはどうでしょうか。
例えばフィボナッチ数列(の動的計画法版)の出力でもその現象は起きますか。


実行時に <<loop>> と出力される現象をWebで検索して調べてみますと、
どうもごく単純な無限ループに陥っている場合に限るようです。
f = f + 1 などの引数のない再帰的な参照です(相互再帰も含む)。

話を聞く限りでは、array パッケージの方に問題があるようにしか思えませんが、
本当に「型を UArray から Array に変えただけ」で現象が治まるのでしょうか。
0957デフォルトの名無しさん2015/04/05(日) 21:37:06.88ID:/p4ZvisL
すみません、確かにソースを示すべきでした

ideoneにてフィボナッチ数で試してみたところ、同様の現象が起きました
Array:http://ideone.com/hM6dzT
UArray:http://ideone.com/Yp01Xb
ソース上の差分は型名に"U"があるかないかの1byteの差ですが
実行するとUArrayの方は<<loop>>のランタイムエラーになってしまいます
ソースに問題がありそうでしょうか、見ていただきたいです
0958デフォルトの名無しさん2015/04/05(日) 22:45:55.70ID:6kmP5T9e
>>957
UArray の構築途中に自己参照すると無限ループに陥ります。

a :: UArray Int Int
a = listArray (0, 1) [0, a ! 0]

理由は・・・ base と array のパッケージをDLしてソースを見てみましたが、
決定的なこと(単純な自己参照になっている証拠)は分かりませんでした。

おそらく、非ボックスなので配列全体が確定しないと参照できないから、
という辺りだろうとは思いますが。
0959デフォルトの名無しさん2015/04/05(日) 23:24:00.02ID:/p4ZvisL
>>958
ありがとうございます
なるほどboxだと自己参照しても式を保持してるだけだから順にたどって評価できるけど
Unboxだと要素参照時に一気に全体を構築しようとするから構築中に参照すると再度全体を構築しようとして無限ループするってことですね
そういわれるとそうだなあとなんとなく想像できました

自分でもパッケージのソースを理解できるようになるよう勉強します。。
0960デフォルトの名無しさん2015/04/05(日) 23:28:49.66ID:/p4ZvisL
書き忘れ
ということは動的計画法のメモもUArrayで高速化!と単純に使うことはできなさそうですね
0961デフォルトの名無しさん2015/04/06(月) 10:07:06.75ID:z61IB+9E
へーはーほーん、ためになるわー
0962デフォルトの名無しさん2015/04/06(月) 21:52:51.93ID:G/X3auvA
Linux に ghc-7.10.1 と cabal-install-1.22.2.0 をインストールして、
適当なパッケージも入れてみたんだが、
これ、ドキュメントのリンクが壊れてないか?

.cabal/share/doc/x86_64-linux-ghc-7.10.1/index.html
ここから辿れるはずのリンクが全て壊れてる。
たとえば Data.List のリンクは相対パス Data-List.html になってる。
つまり、.cabal/share/doc/x86_64-linux-ghc-7.10.1/Data-List.html になってしまっている。

.cabal/share/doc/x86_64-linux-ghc-7.10.1/doc-index.html
このインデックス(索引)ページから個々の関数へは何も問題なく辿れるが、
全然別の場所だ。
たとえば、Data.List.head 関数は
/usr/share/doc/ghc/html/libraries/base-4.8.0.0/Data-List.html#v:head
になっている。

これはどう言うことだろう。
.cabal/config の install-dirs user のセクションの項目は何も弄っていないんだが。
0963デフォルトの名無しさん2015/04/07(火) 21:21:56.30ID:Dr0ZnCU/
そういうのはstackoverflowで聞いた方がいいんじゃないかな
0964デフォルトの名無しさん2015/04/07(火) 22:12:38.31ID:5+CxwFaH
>>963
それならあっちで訊いてみようかと思ったが、もしやと思って以下のことを試したら、
問題なくドキュメントが見れるようになったから、もういいや。

/usr/share/doc/ghc/html/libraries にある各パッケージ内のファイルを
~/.cabal/share/doc/x86_64-linux-ghc-7.10.1 にコピー

.cabal/config の install-dirs user セクションの docdir の末尾 /$pkgid を削除
同セクションの htmldir の末尾 /html を削除
もちろん、両者ともコメントアウトを解除

適当なパッケージをインストール
0965デフォルトの名無しさん2015/04/08(水) 06:40:38.53ID:lUVNN4o/
毛の壁、起訴されたらしいぞ
0966デフォルトの名無しさん2015/04/08(水) 12:14:11.41ID:cDkL0Wby
2ちゃんねるの「なんちゃって関数型クラスタ」ども、これ読んで学び直せ

悔しかったらおまえらも本を出してみな?


http://www.amazon.co.jp/dp/4798043761
0967デフォルトの名無しさん2015/04/08(水) 14:18:25.17ID:teBP6D43
今日まで生きていて秀和システムの本に金を出したことがないことをこれほど誇らしく思った日はないかもしれない
0968デフォルトの名無しさん2015/04/08(水) 14:56:31.55ID:z4/H7LA9
>>966 ちょwww レビューが楽しいことになりそうだwww
0969デフォルトの名無しさん2015/04/08(水) 15:16:10.18ID:2BNKspCq
秀和システムはあかん出版社だったか
0970デフォルトの名無しさん2015/04/08(水) 15:45:29.02ID:tGwp3RJc
リンクを踏む前に予想した通りの著者名だった
0971デフォルトの名無しさん2015/04/08(水) 16:40:32.61ID:YQenyVPn
このスレで爆笑したのは初めてかも知れない
スレチなのに
0972デフォルトの名無しさん2015/04/08(水) 16:51:12.44ID:wxj4ghaM
刑事告訴されてて、まだ終わってないのに出版させるのも、どうなんだろう・・
0973デフォルトの名無しさん2015/04/08(水) 18:43:33.29ID:TrrKWYIM
レアアイテム間違いない、買っとけ
0974デフォルトの名無しさん2015/04/08(水) 19:19:20.20ID:mlk25XLU
(この物語はフィクションであり、実在の言語・技術・定理等とは関係がありません)
0975デフォルトの名無しさん2015/04/08(水) 20:09:43.19ID:8XU2VIBh
kenokabeさん、出版おめでとうございます。これからも笑顔で楽しませてもらいます。
でも、誹謗中傷は良くないよー
今年の目標は、誤字脱字を無くすことかな?
0976デフォルトの名無しさん2015/04/08(水) 20:22:02.04ID:2PDo66DT
騒動で名を売ったから結構売れそうだな
0977デフォルトの名無しさん2015/04/08(水) 20:51:44.99ID:LkUjDtd8
この本平積みしてるかで書店の質が測れるリトマス試験本
0978デフォルトの名無しさん2015/04/08(水) 21:17:15.22ID:teBP6D43
なぜお前らはリンク付きでこいつに言及しツイートしはてブすることで検索順位を押し上げようとするのか理解に苦しむ
0979デフォルトの名無しさん2015/04/08(水) 21:33:36.08ID:5ufJn9r/
誰だよこのbot立てたのw
カイマイさんか?

ttps://twitter.com/_kenron_
0980デフォルトの名無しさん2015/04/08(水) 23:55:32.38ID:myz0YUCE
もともとプログラミングの邦書はにわかが書いたような奴ばっかなのであまり驚かない
0981デフォルトの名無しさん2015/04/09(木) 03:23:41.65ID:Ix9YNMr3
秀和がなんで刑事告訴されてるような奴の本を出す気になったのかが謎
http://d.hatena.ne.jp/hirono2011/touch/20140404/1397908870
0982デフォルトの名無しさん2015/04/09(木) 03:25:26.77ID:Ix9YNMr3
検索してる人多そうなので、これ誰かリツイートしてよ

https://twitter.com/motoken_tw/status/452009450313097216
0983デフォルトの名無しさん2015/04/09(木) 03:29:53.42ID:a98Ue6sT
         ,.-―: ̄`ー::::::::::、
       /::::::::::::.::::::::::::::::::::::::::::`::、、
      /::::::::::::::::::::::::::::::::::::::::::::::::::::::`、
      l::::::::::::::::::::::::::::::::::::::::;':l:::::::::::\::l
      l:::::::::::::::::::::::::::::::::,,::::::::;-,:,::::::::::::::::l
     l::::::::::::::::,_,.::::,';::::::;:::::: :: l ::::::::::::::l
     l::::::::::/-/:::/-ニ,.::::/=,./::::::::::l
     ヽ:::: ´、ひ> ;:  l .<ひ>'  、::::::::/
    ヽ:::::    ̄ .)::;  l  ̄   l::::/    < 次のスレではもう岡部の話は禁止な
     、:::::..   /:::; .,-、     l:::/、
    ,―::::::::  ゝヽ- ー' 、    l::/,、ヽ
     l,、,、,,:、:: / ,--、,-.、_ l    /::::::,、,、l
   l,、,、,、,、,、::、 `ー ̄-'   /:::::::::::,、,、l
   l,、,、,、,、,、,、::ヽ      /::::::::、,、,、,、,ノ:\
0984デフォルトの名無しさん2015/04/09(木) 05:07:06.30ID:QTbR1h7B
おまえら単に、岡部技師の才に嫉妬してるだけで、正当な反論もできないから、論点とは関係のないところから責め立ててるだけだろ?
下劣で品性の欠片も無いんだよ、下痢糞以下のゲロボケ野郎
0985デフォルトの名無しさん2015/04/09(木) 05:08:21.11ID:QTbR1h7B
延々とコソコソ隠れて岡部技師を貶めてるのは下痢便駱駝だろ?クズが
0986デフォルトの名無しさん2015/04/09(木) 08:29:01.75ID:4yjREsCN
https://twitter.com/tanakh/statuses/585756985750122496
0987デフォルトの名無しさん2015/04/09(木) 12:28:33.03ID:SXMrA4Vi
関数型言語ってうさんくせーな
要するに現実の問題に対処できねーんだろ?
0988デフォルトの名無しさん2015/04/09(木) 12:31:34.64ID:SXMrA4Vi
岡部技士ってなんだよ
典型的な意識高い系のクズじゃん
0989デフォルトの名無しさん2015/04/09(木) 12:35:27.62ID:SXMrA4Vi
もしドラの作者もあんだけバカにされてたのに
同じ芸風でやるの?w
0990デフォルトの名無しさん2015/04/09(木) 17:34:56.45ID:hKndZDCY
>>965
裁判費用は IQ145で美少女JKな先輩で稼ぐのか
0991デフォルトの名無しさん2015/04/09(木) 17:38:20.52ID:hKndZDCY
アプリカティブ完全に理解した
0992デフォルトの名無しさん2015/04/09(木) 19:45:58.73ID:4yjREsCN
http://web.archive.org/web/20130628214033/http://netbmari.seesaa.net/article/81337651.html

誰かこれ教えてやれよ
0993デフォルトの名無しさん2015/04/09(木) 19:54:35.43ID:SXMrA4Vi
データ処理に向いてる気がするんだけど
レガシーシステムをなんとか救済してほしい
0994デフォルトの名無しさん2015/04/09(木) 22:38:50.14ID:dWjcstD4
Stateモナドって状態を構造化したものじゃなくて状態付き「計算」(であるかのように見えるラムダ式のネストとbind)を構造化したもの
っていう認識であってる?
0995デフォルトの名無しさん2015/04/09(木) 23:01:23.83ID:G0037DPx
その両者にどんな差があるというのだろう。
0996デフォルトの名無しさん2015/04/09(木) 23:18:03.23ID:nCfbCjTA
>>994
どちらかが正しいと考えるのではなく、
様々な見方・考え方があることを受け入れることが大事だ。

片方しかないと思っていると、そちらの考え方で得られたかもしれないアイデア、
切り開かれたかもしれない新たな世界をみすみす逃すことになる。

あなたは、誰かからそれは計算の構造化の方が正しいと言われたら、
やっぱり思ってたとおりだ、と合点するのだろうか。
状態の構造化という考え方を捨て去るのだろうか。
0997デフォルトの名無しさん2015/04/09(木) 23:24:57.75ID:G0037DPx
つうか表示意味論のレベルでは区別つかないだろ。
0998デフォルトの名無しさん2015/04/09(木) 23:29:36.04ID:dWjcstD4
言葉足らずですまん
状態=変更可能なデータ構造の一種
で読み替えて貰えると
0999デフォルトの名無しさん2015/04/09(木) 23:34:38.52ID:HP7+XEL9
変更可能なデータ構造の一種のように見える計算
1000デフォルトの名無しさん2015/04/09(木) 23:40:47.32ID:c5VDj6mj
 
Gun = Kata
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。