トップページtech
981コメント365KB

関数型プログラミング言語Haskell Part26

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2014/07/27(日) 13:46:32.03ID:deqguEnh
関数型プログラミング言語 Haskell について語るスレです。

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

前スレ
関数型プログラミング言語Haskell Part25
http://peace.2ch.net/test/read.cgi/tech/1393313450/
0153デフォルトの名無しさん2014/09/07(日) 14:59:55.50ID:2nNDq8Bj
オプションで -package ghc しないとimportできないモジュールや、haskell.orgにあるプロジェクトのモジュールの、Haskell言語としての位置づけが分からない
0154デフォルトの名無しさん2014/09/08(月) 09:08:51.02ID:E4vtFdYZ
■海流出、さらに2兆ベクレル=ストロンチウムとセシウム−福島第1

 東京電力福島第1原発から放射性物質が海に流出している問題で、今年5月までの10カ月間に
第1原発の港湾内に出たストロンチウム90とセシウム137が計約2兆ベクレルに上る可能性が高い
ことが7日、東電の資料などで分かった。

 二つの放射性物質だけで、第1原発の事故前の放出管理目標値の10倍を超える。事故に伴う深刻な
海洋汚染が続いていることが浮き彫りとなった。

 第1原発では、汚染された地下水が海に流出しているほか、高濃度汚染水がたまった建屋のトレンチ
(ケーブルなどの地下管路)から直接港湾内に漏れている可能性も指摘されている。

 東電の資料によると、昨年8月から今年5月にかけ、港湾内の1〜4号機取水口北側で測定した
トロンチウム90とセシウム137の平均濃度を基に試算した1日当たりの流出量は、約48億ベクレルと
約20億ベクレル。10カ月間の総流出量はそれぞれ約1兆4600億ベクレルと約6100億ベクレルの計算に
なる。

 合わせると2兆ベクレルを超えるが、汚染水には他の放射性物質も含まれており、港湾内の汚染はより
深刻とみられる
0155デフォルトの名無しさん2014/09/09(火) 04:14:11.24ID:z58IhyOR
>>152
Emacs上のghciから :view hoge ってすると、
class Visualizable a where visualize :: a -> Diagram B R2
に適合した値であるhogeをEmacsのインライン画像表示機能を使って、その場所に挿入するようにしたら快適でした!
もうShow要らない
0156デフォルトの名無しさん2014/09/10(水) 13:15:47.59ID:X2zXXHXj
>>155 それ公開キボンヌ
0157デフォルトの名無しさん2014/09/10(水) 18:27:19.20ID:mId1v/4/
>>156
ごめん嘘ついてた。ghciコマンドにするのは無理だった。

http://lpaste.net/110832
を適当なところに置いて、あなたのhsファイルにそれをインポートし、
表示したい値hogeの型をVisualizableのインスタンスにして、
emacs上で実行しているghci上で

view hoge

するとemacsに図が挿入されます。

こんな風に
http://www.dotup.org/uploda/www.dotup.org5305910.png
0158デフォルトの名無しさん2014/09/11(木) 10:19:46.51ID:6SKhkqos
原発「制御できず」に外務省抗議 国連チーム報告書で
0159デフォルトの名無しさん2014/09/11(木) 10:46:01.90ID:DJaVGhTd
>>157
イイね、emacsclient 使うのか
0160デフォルトの名無しさん2014/09/13(土) 00:44:54.99ID:1YyhqkXY
モナディックな関数とかいうときの「モナディック」ってどういう意味ですか?
0161デフォルトの名無しさん2014/09/13(土) 05:31:28.37ID:xgqiej9k
>>160
Monadの、って意味。
モナディックな関数とは、モナドの値を返す関数のこと。
print::Show a => a -> IO ()
はモナディックな関数。IOがモナドだから。
0162デフォルトの名無しさん2014/09/13(土) 20:17:26.18ID:xgqiej9k
木以外も可視化してみたいと思ったんだけど、

そもそも無向グラフを扱ったことがないのに気がついた。
試しに
data Graph a = Graph (a,a -> [a])
と定義してみようとおもったけど、これだとFunctorにならない。
data Graph a = Graph [Edge a]
type Edge a = (a,a)
だと探索効率悪いし。
うーん
0163デフォルトの名無しさん2014/09/13(土) 23:00:45.30ID:1YyhqkXY
>>161
トン
0164デフォルトの名無しさん2014/09/15(月) 19:04:17.76ID:7sCZlnMT
昨日WindowsにHaskell Platformインスコしていろいろ弄ってるんだけど
.libライブラリを静的リンクしたいんだけどどうやるの?
ghcにuser32.lib指定してないのに foreign import ccall "PostQuitMessage" ... が動くし、
同じくkernel32.lib指定してないのにExitProcessが動くし、どうなってるの……
0165デフォルトの名無しさん2014/09/15(月) 19:45:48.83ID:BdYZ9X/p
状況わからん
0166デフォルトの名無しさん2014/09/15(月) 20:48:55.90ID:7sCZlnMT
あっ……
解決しました……
-l[ライブラリ名*拡張子なし*] を指定したらいけました
スレ汚し失礼しました…
0167デフォルトの名無しさん2014/09/15(月) 20:58:56.39ID:853zB9Gc
>>164
windows良く知らないけど、windows版GHCはMinGWベースなので
MinGWでリンクするのと同じ手順でできない?
http://www.mingw.org/wiki/Specify_the_libraries_for_the_linker_to_use

勝手にライブラリがリンクされる件は、たぶんそのプログラムが依存してるHaskellパッケージが
リンクを要求してる
たとえばbaseパッケージ(あらゆるHaskellプログラムが依存するパッケージ)は、
wsock32, user32, shell32を要求すると指定されてるっぽい
ghc-pkg describe baseとか打つとextra-librariesの項に出てくるはず
0168デフォルトの名無しさん2014/09/15(月) 21:48:17.23ID:7sCZlnMT
>>167
できました。拡張子を抜くというので躓きました。

ただウィンドウ作るだけのプログラムで1.8MBとかになってしまうのはそこらへんのライブラリをまとめて静的リンクしちゃってるからかな?と思ったけど、
それは>>10に書いてあるとおりなのかな?

stripしても1MBだし、これくらいならアセンブラで書いたほうが……と思ってしまう。
手続き型言語っぽいことだけしててもhaskellのありがたみは感じられないってことかな
0169デフォルトの名無しさん2014/09/15(月) 22:09:40.06ID:A6Qjo9u5
たかだか数メガの容量が問題になってくるってどういうシチュエーションなの?
0170デフォルトの名無しさん2014/09/15(月) 22:27:49.14ID:MGTym664
OS付属のDLLでなく、ダウンロードしてきたかオープンソースをビルドしたDLLだったら一種に梱包しても問題ないだろ?
ソフトを立派に配布した経験がないけど。
コード入手先かコード自体を入れとけば基本平気では。
0171デフォルトの名無しさん2014/09/15(月) 22:51:54.55ID:853zB9Gc
実行ファイルが大きいのはなんでだっけ、GHCが最適化の過程でコードを複製するからかな
ランタイムの大きさは大したことなかったはず。仮想マシンじゃないし(ネイティブコード生成)
いずれにしても実行ファイルの大きさが重要な用途ならHaskellというかGHCは向かないと思う
0172デフォルトの名無しさん2014/09/16(火) 00:59:36.67ID:OYajHQVK
>>169
趣味でゲーム開発だから問題ないといえば問題ないけどね
あせんぶらだと数KB程度で済むプログラムが1MB超えるのが納得行かなかった

>>170
DLLじゃなくて.libをリンクしたかったのです

>>171
うーむ
jhcというのを検討してみようかな
0173デフォルトの名無しさん2014/09/16(火) 14:02:51.79ID:VtA2dBig
http://programmer-gone-mad.blogspot.jp/2014/09/introducing-nu-game-engine-worlds-first.html
魔女狩りに気をつけてね
0174デフォルトの名無しさん2014/09/16(火) 16:21:30.20ID:vAQpoh0T
jhcの実用性はAgdaとどっこいってぐらいの玩具だから
0175デフォルトの名無しさん2014/09/16(火) 17:16:33.33ID:dW7uhwcE
コンパイラ作るしかない
0176デフォルトの名無しさん2014/09/16(火) 22:24:36.75ID:gfWckZld
f :: a -> [a] という任意の関数と、同じく a -> [a] 型で g x = [x] という関数に対して、
次の等式が成り立つことを証明したいです。

concat . map f . g = concat . map g . f = f

concat . map f . g = f は λx . (concat . map f . g x) として素直に簡約していけば
λx . f x となって f になるのですが、concat . map g . f = f の方のやり方が思いつきません。

具体的には、λx . (concat (map g (f x))) ここから先にどう進めばよいのか分かりません。

concat . map g . f = f はどう示せば良いでしょうか?
0177デフォルトの名無しさん2014/09/16(火) 22:54:33.82ID:mBp/kqIp
>>176
数学的に、つまりバードの「関数プログラミング入門」の中に出てくるみたいな
人間にとって readable な証明を望むのか、それとも Coq などのツールを使った
、可読性は低くても疑義のない証明を望むのか
0178デフォルトの名無しさん2014/09/17(水) 00:38:53.07ID:5Gf85B+R
concat (map g (f x)) = (f x) >>= return
あとは (f x) >>= return = f x の証明
リストがモナドであることの証明を探してコピペする
0179デフォルトの名無しさん2014/09/17(水) 08:54:04.70ID:BzLS2AoJ
Haskellではinstanceとclassの型の一致をチェックするだけで厳密な証明はしない
動的型付けよりマシ、というレトリックさえあれば証明などいらぬ
0180デフォルトの名無しさん2014/09/17(水) 10:10:39.81ID:nqEUaVP0
「関数プログラミング入門」でも結構最初の方に紹介されてたテクニックだが
両辺のf xをyと置いてより一般的な命題にしてyに関する帰納法という手もあるな
実質は式変形してモナド則の証明の形に持ってくるのと同じことやってるわけだけど
01811762014/09/17(水) 22:03:05.85ID:W44+hj+/
>>177
その本は読んだことがないので、どのような書き方がされているか分かりませんが、
人間にとって可読性が高い方が良いです。

>>178
モナドというものを学ぶ前段階のエクササイズらしいので、
この段階で return 関数などを使うのはどうかと初めは思いましたが、
どのような順や方法で学ぼうが最後に本質が理解できれば良いと思い直しました。
とりあえずこの方向(Monad クラスの関数を使う)で証明してみることにします。
ありがとうございます。

>>180
>>178 の方法で解けたら、あるいは詰まったら、帰納法でやってみます。
ありがとうございます。
0182デフォルトの名無しさん2014/09/22(月) 22:27:41.66ID:n9Fda3L9
東京電力は22日、福島第1原発で放射能汚染水を保管するタンクの建設中、鉄パイプが落下して協力企業の40代の男性作業員が重傷を負ったと発表した。
男性は背骨を骨折したが、命に別条はないという。東電が事故の原因を調べている。

東電によると、事故は20日午後0時20分ごろ、構内南側にあるタンク群の建設現場で発生。
協力企業の作業員7人がタンクの溶接などをしていたところ、半自動溶接機を上下に動かすウインチを移動させる際に、固定していた長さ1.5メートル、重さ約4キロの鉄パイプが13メートルの高さから落下し、男性の背中に当たった。
他の作業員にけがはなかった。
男性は福島県いわき市内の病院に運ばれ、重傷と診断されたが、22日から事務作業に復帰した。
0183デフォルトの名無しさん2014/09/23(火) 18:30:25.58ID:cEQ8bqom
9/20のNHK「サイエンスZERO」は、原発事故 謎の放射性微粒子を追え!」の放送予定でしたが、
「恐竜の細胞が見える!?」が再放送されました。NHKはその理由を公表しません。
0184デフォルトの名無しさん2014/09/23(火) 18:50:13.31ID:YLZJr4ao
スレ違いですがMojolicious使ってる人いますか?
0185デフォルトの名無しさん2014/09/24(水) 03:22:15.06ID:MWybmGkY
[´・_ Let'snote SX3 15万で売るぽよ
0186デフォルトの名無しさん2014/09/24(水) 20:35:29.76ID:Z2e1BcPM
>>185
ヤフオク
0187デフォルトの名無しさん2014/09/25(木) 03:00:53.63ID:6v2Qf6YW
中古ぽよ?五万なら買うぽよ
0188デフォルトの名無しさん2014/09/25(木) 09:36:06.02ID:h/qnH2IA
すごいHを生んだノーヨパヨヨンをプレミア価格でお届けする
ブルセラオンラインショップをイェソドで開発する案件の出番
0189デフォルトの名無しさん2014/09/25(木) 23:11:12.29ID:YRvO5dcq
[´・_ 焼肉おごるぽよ。詳しくはtwitterで
0190デフォルトの名無しさん2014/09/26(金) 17:20:13.08ID:KlQFkL2Z
Inversible-syntaxって廃れちゃったんやろか
ParserとPrettyPrinterを同時に定義出来るって聞いた時はワクテカしたのに
0191デフォルトの名無しさん2014/09/27(土) 08:33:56.37ID:gu4dQPXr
福島 「ALPS」再びトラブルで停止
0192デフォルトの名無しさん2014/09/28(日) 00:56:42.71ID:MGIHQutH
Haskellはマイルドぽよ?
0193デフォルトの名無しさん2014/09/28(日) 10:55:51.60ID:Si+4Y7up
リーグ戦優勝のマジック計算機作ってみたいです
優勝する為の全通りのシナリオを羅列する関数を書くために便利なライブラリはありますか?
0194デフォルトの名無しさん2014/09/28(日) 11:29:05.13ID:VcQBZWvO
ListTを使う典型例に見えるな
だとしたらmtlみたいなモナドトランスフォーマー系のライブラリが該当するんじゃないかね
0195デフォルトの名無しさん2014/09/28(日) 13:16:39.20ID:ySImTQuK
>>193
それを作る前提は、ショービジネスであるプロ野球が八百長ではない、ですよね
0196デフォルトの名無しさん2014/09/28(日) 15:08:30.18ID:5GX8p964
これがクソリプ…
0197デフォルトの名無しさん2014/09/28(日) 15:11:09.69ID:c6UlzIEI
八百だろうがガチだろうが、全通りのシナリオの組み合わせは同じじゃねーの?
0198デフォルトの名無しさん2014/09/28(日) 15:14:42.53ID:ySImTQuK
>>197
八百長なら、そもそもプログラムを作る必要がない
0199デフォルトの名無しさん2014/09/28(日) 15:47:44.92ID:FAkptdZZ
プログラミングのお題スレに持って行ったら誰か作ってくれそうw
0200デフォルトの名無しさん2014/09/28(日) 15:54:56.50ID:6J/u6gTL
Haskellによる並列・並行プログラミング
Simon Marlow, 山下 伸夫, 山本 和彦
価格: ¥ 3,888

ポチるか迷う
0201デフォルトの名無しさん2014/09/28(日) 17:32:24.50ID:hWxJQNQj
>>200
原著のオンライン版な無料で読める。

英語が苦手なら、迷ってるくらいならさっさと買って
購入金額分の情報を本から無理にでも搾り取った方がいい。

迷ってたって何も得られないんだし、本から得たものは無くならない。
ネットから情報を集める手間も省ける。
0202デフォルトの名無しさん2014/09/28(日) 18:22:15.65ID:rvEQwHhg
>>200のポイントはtanakahだけハブられてるところだと思うんだが
0203デフォルトの名無しさん2014/09/28(日) 21:10:37.17ID:ySImTQuK
>>200
かなり前に洋書の方を買った記憶があるから、情報は古いと思うけど、更新されてるんかな
0204デフォルトの名無しさん2014/09/29(月) 11:38:23.03ID:ZyON6JAa
>>201
はい、ポチりました
0205デフォルトの名無しさん2014/09/29(月) 11:49:55.52ID:07LODfKh
Haskellによる並列・並行プログラミング
Simon Marlow, 山下 伸夫, 山本 和彦  ┌(^o^)┐┐カサカサ・・・

Haskellによる並列・並行プログラミング
Simon Marlow, 山下 伸夫, 山本 和彦,┌(|||||)┐シュイン…!

Haskellによる並列・並行プログラミング
Simon Marlow, 山下 伸夫, 山本 和彦,(´・_・`)パッ

Haskellによる並列・並行プログラミング
Simon Marlow, 山下 伸夫, 山本 和彦,田中英行
0206デフォルトの名無しさん2014/09/29(月) 17:01:29.73ID:ZyON6JAa
このスレに偶に顔文字付きで末尾にぽよぽよ言う不審な人が出没するように見えるけど
普段の書き込みはぽよ無しで書いてるだけ?
0207デフォルトの名無しさん2014/09/29(月) 17:03:45.56ID:sAVGRibI
どっかのカスによるなりすましだろ
0208デフォルトの名無しさん2014/09/29(月) 17:08:58.20ID:WITlTI70
そいつがタナコフに粘着し始めてもう1年くらいかな?
Haskellに関係ないしネットウォッチ板とかでやって欲しいものだ
0209デフォルトの名無しさん2014/09/29(月) 17:20:05.88ID:KG/BegC7
Haskellは多くの問題がある。このトークでは見ることができます。
今年の奇妙なループ。 https://www.youtube.com/watch?v=SWTWkYbcWU0...
私にとって依存型は、基本的には不可欠である。
あなたは、私が知らない何かを、行うためにHaskellの型ファミリを使用できる可能性があります。
https://twitter.com/ikarienator/status/516494512240463872
0210デフォルトの名無しさん2014/09/29(月) 17:24:11.02ID:pVGLQbPI
>>202 すごハスはうちの学校でも評判いいよ。
0211デフォルトの名無しさん2014/09/29(月) 17:40:44.74ID:SijBaaHO
モナドの説明ぶん投げてたのに
翻訳者がHaskellでプログラミングの真髄が理解できた(キリッ
とか言ってた本と同じ翻訳者っぽいけど大丈夫なの?
0212デフォルトの名無しさん2014/09/29(月) 18:03:09.54ID:rGEfnDkw
>>211
まったく同じこと気になって買うの躊躇してる
0213デフォルトの名無しさん2014/09/29(月) 18:34:27.68ID:BrShvPG9
モナドの説明ぶん投げたって、ソースは?
0214デフォルトの名無しさん2014/09/29(月) 18:50:06.56ID:dpnIs8/X
プログラミングHaskellも関数プログラミング入門もモナドに関する説明が少ないのは原著由来からして割いてるページ少ないから仕方無いと思う
それ以外でモナドの説明をぶん投げた事いうのは勉強会だとかネットに公開されてるチュートリアルか何かかね
0215デフォルトの名無しさん2014/09/29(月) 19:49:49.55ID:SijBaaHO
>>214
原著でも割合が少なかったとしてもせめて補足とか別の本への誘導が欲しかった

「Hsakellを学ぶための最高の入門書(by訳者)」とか
翻訳者も原作者に連絡とってまで丁寧に翻訳したとか書いてあって期待してたんだけどなぁ
0216デフォルトの名無しさん2014/09/29(月) 19:56:21.14ID:sAVGRibI
具体的に、どの本とかに誘導があれば良かったと思ってるわけ?
0217デフォルトの名無しさん2014/09/29(月) 20:02:50.49ID:tmsJD90h
どの本のこと言ってるのか知らんけど
そういうのは説明ぶん投げたって言わねーよアホか
0218デフォルトの名無しさん2014/09/29(月) 20:31:27.61ID:dpnIs8/X
モナドに関しては訳者が書いたブログの記事やらスライドやら読んだ方がマシかもしれんな
そもそもどちらの本も古いものだし数多のモナドチュートリアルの失敗からフィードバックを得た新しい記事にはどうしても劣る
やるとしたら訳者注でそんな感じのおすすめのモナド入門の記事のurlを書くとかかねぇ
0219デフォルトの名無しさん2014/09/30(火) 08:19:08.44ID:HV0QL1Gq
モナドはポインタより難しい
いまだに解らん
0220デフォルトの名無しさん2014/09/30(火) 09:31:51.76ID:P3P6wdce
インスタンスを一個ずつ覚えよう
全部同時に教えれば効率いいんじゃねみたいなトップダウン馬鹿に惑わされるな
0221デフォルトの名無しさん2014/09/30(火) 19:30:17.56ID:uDYMgl/j
モナドは型クラスの定義とモナド則を見て分からなかったら諦めろ
0222デフォルトの名無しさん2014/09/30(火) 19:42:53.22ID:PoSTgdmY
f :: (a -> b) -> a -> a
f' :: (Functor m, Applicative m, Monad m) => (a -> m b) -> a -> m a

fを使ってf'を定義したい。
教えて
0223デフォルトの名無しさん2014/09/30(火) 20:35:27.12ID:P3P6wdce
モナドの定義を使って m a -> a を作れないことを証明するには
モナド及びその他全ての定義を使ってもそれを作れないインスタンスを一個示せばよい
0224デフォルトの名無しさん2014/09/30(火) 23:28:21.44ID:gNA9kBZ6
悪魔の証明という奴だな
否定の定義は意外と知られていない
0225デフォルトの名無しさん2014/10/01(水) 03:21:59.24ID:bEMbBwZk
222ですが、自己解決しました。
0226デフォルトの名無しさん2014/10/03(金) 20:49:23.58ID:jobz3T2e
>>224
>悪魔の証明
全称命題のことでしょ存在命題じゃなくて
そら全称命題だからすべての場合をつくさなくてはいけないので大変なのは当たり前だが「悪魔」がどうこういうほど複雑なわけではない‥

>否定の定義
矛盾の定義じゃなくてただの否定ですかね?そんなにむずかしいところがあったっけ?
0227デフォルトの名無しさん2014/10/03(金) 21:50:35.84ID:UwTYeZ/n
m a -> aの特殊化された形の型を持つunsafePerformIOの危険な例としてcoerce :: a -> bが書けてそれにより() -> Emptyが作れてしまうというのがある
これって実質(∃ f : m a -> a) → ⊥でカレーなんちゃらから¬∃ f : m a -> aってなるから
それをもって否定の証明とすることは言うことはできそう
0228デフォルトの名無しさん2014/10/03(金) 22:00:19.27ID:s89mrULR
リスト → _:リスト
WHNF
わかる


リスト→[_, _, _, _]
WHNF
は?

最初の構成子が現れるまで評価して、それ以上は評価しない
のが弱頭部正規形なんじゃないの?
0229デフォルトの名無しさん2014/10/04(土) 01:17:36.13ID:Rnt/h2V0
windowsで、LLVMオプションをつけてコンパイルする術はないのでしょうか?
いろいろやったけど、うまくいかないです。

OSは、windows 8.1 64bit版です。
0230デフォルトの名無しさん2014/10/04(土) 12:41:02.79ID:aTYfg4h1
>>229
このバグかな?
https://ghc.haskell.org/trac/ghc/ticket/7143

https://ghc.haskell.org/trac/ghc/ticket/7143#comment:8
にあるような方法で回避できる場合もあるようだ
02312292014/10/04(土) 14:11:52.89ID:UDMC2ivh
ClangOnWin Activity
http://sourceforge.net/p/clangonwin/activity/?page=0&;limit=100#542bd6bb27184666d3e6aa84

ここらへんからLLVMの様々なバージョンのうち、
2個ダウンロードして試しましたが、

GHCの最新版(HaskellPlatform-2014.2.0.0)との相性が悪いようで、
-fllvmオプションでのコンパイルに失敗したり、成功しても実行ファイルが動作しなかったり。

相性のよいバージョンをしらみつぶしで探すのも億劫です。別に問題があるかもしれない。
0232デフォルトの名無しさん2014/10/05(日) 11:37:46.53ID:bI/avFIb
Cabalって特定のパッケージは更新禁止かこのバージョンまでで止めておいてっていうオプションないの?

依存関係にある一部のパッケージで勝手に不具合ありの最新バージョンに上げようとして迷惑なんだけど
0233デフォルトの名無しさん2014/10/05(日) 12:05:19.02ID:gN1jpSkK
>>232
cabal install foo --constraint=bar==1.0
でいけるらしい
cabal install foo 'bar == 1.0'
とかでもいけたと思う
0234デフォルトの名無しさん2014/10/05(日) 12:32:43.38ID:bEYOdHBU
回線を
ぶった切れ
0235デフォルトの名無しさん2014/10/05(日) 13:03:41.56ID:6ABX7oxU
よくわからんがシェルショックの次はgcc vs. clangショックが来るのかな
0236 ◆QZaw55cn4c 2014/10/05(日) 13:39:50.57ID:FZuSwsnO
>>235
もうすでに来ている、FreeBSD を筆頭に奴らはみな gcc を見限った、minix でさえも gcc を突き放した、copyleft 思想は乙女のピンチ
0237デフォルトの名無しさん2014/10/05(日) 13:54:24.49ID:Vex2igBW
>>232
Stackage使うのは?
http://www.stackage.org/
0238デフォルトの名無しさん2014/10/07(火) 01:45:39.34ID:4nlgcGJf
http://wiki.haskell.jp/ が閉鎖だってさ。
0239デフォルトの名無しさん2014/10/07(火) 11:57:13.32ID:NUXh/T9C
Haskellランタイムシステムって取り敢えずOSにメモリくれくれして
断られたら初めて『しょうがねえな、自前でなんとかすっか』ってGCするの?
0240デフォルトの名無しさん2014/10/07(火) 17:39:38.79ID:Rf3+5HS2
>>239
いや、それをやったら1G/sくらいの勢いでシステムのメモリ全部食うことになる
GC第0世代の領域の大きさは固定だし、第1世代は可変だけど増えるのはゆっくりになってる
https://www.haskell.org/ghc/docs/7.6.3/html/users_guide/runtime-control.html
ここの-Aとか-Fを参照
0241デフォルトの名無しさん2014/10/08(水) 18:12:25.80ID:XoeCEfVj
Map k v を k :-> v みたいにして関数ライクに使いたい。
そういうライブラリある?
02422412014/10/08(水) 19:58:32.59ID:iTXSQwmF
見当たらないので作ってみましたが...

http://lpaste.net/112304
0243デフォルトの名無しさん2014/10/09(木) 01:28:13.47ID:yI/Jzb2v
cabal haddock で既にインストール済みのパッケージのドキュメントを追加するにはどうしますか?
0244デフォルトの名無しさん2014/10/09(木) 02:52:19.47ID:yI/Jzb2v
>>233
ありがとうございます。巧く行きました

>>237
駄目でした。サンキューエニウェイ
0245デフォルトの名無しさん2014/10/10(金) 01:17:38.81ID:Y1+8A3I8
依存地獄を避けるにはcabalで
一個ずつじゃなくて欲しいパッケージ一気に並べた方がバージョンの調停してくれるんだね
インストール時のコマンドのログ録った方がいいな
0246デフォルトの名無しさん2014/10/10(金) 08:13:53.70ID:nsfdMwJ/
まるでPerl5をPerl6に更新するようなことをやってるんだろうな
手動なら何もしないものを自動にしても無益どころか有害だ
0247デフォルトの名無しさん2014/10/10(金) 17:50:39.67ID:s24SpmmQ
import Data.Functor.Contravariant

newtype Op2 b a = Op2 (a -> a -> b)
instance Contravariant (Op2 b) where
contramap f (Op2 x) = Op2 (x `on` f)

とすると、
Op2 (==) >$$< (`mod` 3)
のように書けて面白い。でも
(==) >$$< (`mod` 3)
とできるともっと嬉しいのだけど、なんとかならないかなぁ。
0248デフォルトの名無しさん2014/10/11(土) 09:43:27.42ID:eNl3sMbS
型族とか使ってContravariantを定義したら(==)の型 Eq a => a -> a -> Boolから暗黙的に同値関係の反変関手を適用とかできるんかね
0249デフォルトの名無しさん2014/10/11(土) 19:35:28.06ID:RVCvQvPc
contrareturnってないの?

fmap = contramap . contramap
return = contrareturn . contrareturn
join = contramap return
0250デフォルトの名無しさん2014/10/12(日) 02:36:59.67ID:+5P3aFyP
もんじゅ監視カメラ3分の1故障 1年半放置も、保安規定違反疑い

 大量の機器点検漏れから事実上の運転禁止命令が出ている日本原子力研究
開発機構の高速増殖炉もんじゅ(福井県)で、1995年のナトリウム漏えい事故を
きっかけに原子炉補助建物に設置された2次系冷却材の監視カメラ計180基のうち、
約3分の1が壊れていることが11日、関係者の話で分かった。

 原子力規制庁が9月に実施した保安検査で判明。壊れたまま1年半以上放置
されていたものもあり、保安規定違反の疑いが持たれている。低温停止中のため
実害はないとみられるが、機構の安全管理体制が問われ、命令期間が長期化
する可能性が出てきた。
0251デフォルトの名無しさん2014/10/13(月) 15:43:57.81ID:ndeR0BEl
hoge :: Applicative f => (f a -> f b) -> f (a -> b)
が欲しいのですが、どうやっても作れません。誰か教えて
0252デフォルトの名無しさん2014/10/14(火) 00:49:51.09ID:gqGRU/mX
hoge concat :: [[a] -> a]

hogeのソースコードの中にデータコンストラクタはない
concatは呼び出されない
hoge _ = ⊥
■ このスレッドは過去ログ倉庫に格納されています