[過去ログ]
関数型プログラミング言語Haskell Part8 (994レス)
関数型プログラミング言語Haskell Part8 http://mevius.5ch.net/test/read.cgi/tech/1193743693/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
1: デフォルトの名無しさん [sage] 2007/10/30(火) 20:28:13 haskell.org http://www.haskell.org/ 日本語サイト http://www.sampou.org/cgi-bin/haskell.cgi http://www.shido.info/hs/ 過去ログ 関数型プログラミング言語Haskell Part1 http://pc.2ch.net/tech/kako/996/996131288.html Part2 http://pc2.2ch.net/test/read.cgi/tech/1013846140/ Part3 http://pc8.2ch.net/test/read.cgi/tech/1076418993/ Part4 http://pc8.2ch.net/test/read.cgi/tech/1140717775/ Part5 http://pc8.2ch.net/test/read.cgi/tech/1149263630/ Part6 http://pc11.2ch.net/test/read.cgi/tech/1162902266/ Part7 http://pc11.2ch.net/test/read.cgi/tech/1174211797/ ・2chの仕様により、行頭の半角スペースは表示されません。 コードをインデントしたいときは、代わりに または全角スペースを使うことができます。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/1
868: デフォルトの名無しさん [sage] 2008/05/08(木) 20:41:09 >>853 遅延評価の壁が、どっちにしても厚い http://mevius.5ch.net/test/read.cgi/tech/1193743693/868
869: デフォルトの名無しさん [sage] 2008/05/08(木) 22:24:05 >>868 それって数理証明が難しいってだけだよね? まさか利用することまで難しいとかDQNなこと 言ってないよね? http://mevius.5ch.net/test/read.cgi/tech/1193743693/869
870: デフォルトの名無しさん [sage] 2008/05/09(金) 00:00:41 >>869 ConcurrentなActor ModelのCPSは利用が難しいJK。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/870
871: デフォルトの名無しさん [sage] 2008/05/09(金) 00:35:40 >>870 具体的かつ簡単な問題ていじしてちょ? リンクでいいちょよ http://mevius.5ch.net/test/read.cgi/tech/1193743693/871
872: デフォルトの名無しさん [sage] 2008/05/09(金) 06:16:06 すみません、それこそDQNな質問かも知れませんが、 Haskell勉強していて本によく関数の証明が出てきますよね。 あと、この関数はこういう定理に基づいて、こう変形できるとか。 これって手続き型言語の本ではお目にかからないものだと 思います。ライブラリの知識よりも、そういう数学的な発想と いうか、ある関数を見て、別の書き方に変換できる能力の ほうが大事なんでしょうか。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/872
873: デフォルトの名無しさん [] 2008/05/09(金) 06:33:11 数学的証明は箔をつける為の飾り http://mevius.5ch.net/test/read.cgi/tech/1193743693/873
874: デフォルトの名無しさん [sage] 2008/05/09(金) 07:40:32 >>872 論文の数式見てアルゴリズム実装できりゃ 実用上十分なわけで つうかHaskell駄本の証明は簡単だろ 解らないなら使うな以上 http://mevius.5ch.net/test/read.cgi/tech/1193743693/874
875: デフォルトの名無しさん [sage] 2008/05/09(金) 08:01:32 >>872 再帰を使ったプログラムは証明しやすいという利点がある。 ループを使ったプログラムは簡単には証明できない。 872が具体的にどのような証明のことを言っているのかわからないけど、 本では、その利点を示すために、もしくは、形式的手法の需要性を訴えるために 証明も付記しているんだろう。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/875
876: デフォルトの名無しさん [sage] 2008/05/09(金) 08:26:32 >>874 分からないだの難しいだのなんて一言も書いてないだろ。 なんだこいつ。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/876
877: デフォルトの名無しさん [] 2008/05/09(金) 08:58:25 簡単な数式なら載せる意味が無い様な気もするが、簡単なの? http://mevius.5ch.net/test/read.cgi/tech/1193743693/877
878: デフォルトの名無しさん [sage] 2008/05/09(金) 13:35:39 >>872 面白いと思ったらやればいい ただそれだけのこと http://mevius.5ch.net/test/read.cgi/tech/1193743693/878
879: デフォルトの名無しさん [] 2008/05/09(金) 17:29:42 本質的かどうかと言ったら、割とどうでも良いってことかな http://mevius.5ch.net/test/read.cgi/tech/1193743693/879
880: デフォルトの名無しさん [sage] 2008/05/09(金) 17:42:55 それはやる人が決めればいいこと。 プログラミング言語の問題じゃない。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/880
881: デフォルトの名無しさん [sage] 2008/05/09(金) 18:30:47 少なくとも避けて通れない類のものではない http://mevius.5ch.net/test/read.cgi/tech/1193743693/881
882: デフォルトの名無しさん [] 2008/05/09(金) 19:00:35 なんだか 教えて君を嫌うあまり 自分も対教えて君的な対応しかできなくなってる馬鹿回答者がいるな http://mevius.5ch.net/test/read.cgi/tech/1193743693/882
883: デフォルトの名無しさん [sage] 2008/05/09(金) 19:50:49 解らないなら使うな以上(笑) http://mevius.5ch.net/test/read.cgi/tech/1193743693/883
884: デフォルトの名無しさん [sage] 2008/05/09(金) 19:51:08 >>880 お前みたいなやつ、学校のクラスに一人はいたよなぁ・・ こういうやつは決まって内向的で友達少なくて欝気味なんだよな。 しかも人望がないくせにリーダーやりたがって、最終的には失敗するんだよ。 近くにいたくないタイプw http://mevius.5ch.net/test/read.cgi/tech/1193743693/884
885: デフォルトの名無しさん [sage] 2008/05/09(金) 20:09:33 readProcessMemoryで他のプロセスのメモリを読むために、 findWindowで取得したHWNDからopenProcessで使うProcessIdを取得したいんですが、 その間の処理のための関数が見つかりません。 Win32apiのGetWindowThreadProcessIdに該当する関数は用意されていないのでしょうか? だとしたら中途半端すぎると思うのですが。 findWindow :: String -> String -> IO (Maybe HWND) openProcess :: ProcessAccessRights -> BOOL -> ProcessId -> IO ProcessHandle readProcessMemory :: PHANDLE -> ForeignAddress -> Int -> IO (ForeignPtr a) http://mevius.5ch.net/test/read.cgi/tech/1193743693/885
886: デフォルトの名無しさん [sage] 2008/05/09(金) 20:17:10 >>885 ソース読め 読んでも解らないなら使うな以上 http://mevius.5ch.net/test/read.cgi/tech/1193743693/886
887: デフォルトの名無しさん [sage] 2008/05/09(金) 20:34:46 >>885 win32パッケージはみんなが日常的に使うものって訳じゃないし、中途半端なところがあっても不思議じゃない 足りない部分があるならパッチを送るのがいいと思うよ ちなみに、特定の関数のラッパがライブラリに含まれてるか知りたいときは、 ソースを落としてforeign import宣言をgrepするのがお勧め http://mevius.5ch.net/test/read.cgi/tech/1193743693/887
888: デフォルトの名無しさん [sage] 2008/05/09(金) 20:36:52 >>886 はい?見当違いですね。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/888
889: デフォルトの名無しさん [sage] 2008/05/09(金) 20:38:31 >>871 具体的な例が簡単なら利用が難しいとは言わないだろ常考w http://mevius.5ch.net/test/read.cgi/tech/1193743693/889
890: デフォルトの名無しさん [sage] 2008/05/09(金) 20:41:07 >>886 私には君がそのレスを嬉々として書いている様が一瞬で頭に浮かんだのだが、 ちょっとここで落ち付いてもう一度考えてほしい。 そのレスをすることに何の意味があるのかを。 あ、オナニーですね、わかります。 解らないなら使うな以上(笑) 読んでも解らないなら使うな以上 (笑) http://mevius.5ch.net/test/read.cgi/tech/1193743693/890
891: 872 [sage] 2008/05/09(金) 20:41:25 皆さん、ありがとうございます。 自分は手続き型しか経験が無かったので、プログラムが意図した動きを するかをテストするという発想はあっても、証明するという発想はありません でした。 それが、Haskell本ではよく出てくるので、アプリケーションの信頼性を「証明」 するということが重要なのかな、と思ったのです。 別にそんなこと一々しないんですかね。或いは、ツールで検証できたりする んでしょうか。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/891
892: デフォルトの名無しさん [sage] 2008/05/09(金) 20:43:03 その喧嘩腰の奴、最近あちこちの関数型言語のヌレで暴れてる知ったかぶりのアホだYO! 相手にする価値無いからほっといた方がイイ! http://mevius.5ch.net/test/read.cgi/tech/1193743693/892
893: デフォルトの名無しさん [sage] 2008/05/09(金) 20:47:27 NGワード: 読め 使うな 以上 登録したら気分爽快w http://mevius.5ch.net/test/read.cgi/tech/1193743693/893
894: デフォルトの名無しさん [sage] 2008/05/09(金) 20:49:54 >>886がネタレスにしか見えない http://mevius.5ch.net/test/read.cgi/tech/1193743693/894
895: デフォルトの名無しさん [sage] 2008/05/09(金) 20:50:23 >>891 プログラム全体の正しさを証明するのは難しすぎて(良くても面倒すぎて)実際的じゃない(少なくとも今は) だから、Haskellでもテストは手続き型言語の場合と同様に重要で、テストに代わるものは無い ただし、限定された状況では形式的な証明が有効なことはある Ordのインスタンスを書いたとき、それがちゃんと全順序になっていることを証明するとか、 自分で書いた書き換え規則(これはGHC特有の機能だけど)の正しさを証明するとか http://mevius.5ch.net/test/read.cgi/tech/1193743693/895
896: デフォルトの名無しさん [sage] 2008/05/09(金) 20:51:38 俺も>>886は>>874をもじって遊んでるだけだと思ってたよ http://mevius.5ch.net/test/read.cgi/tech/1193743693/896
897: デフォルトの名無しさん [] 2008/05/09(金) 21:44:25 モナドの説明によく出てくる、 「xxxという法則を満たすものをyyyとみなすといろいろ便利なことがあ ります」 という謎掛けのような言い回し、なんだかいろいろなものを一つの枠組みで処 理することを表してるんかなあと思っていたんだけど、今日ひらめいた。 あんまり好きじゃない言葉をあえて使うけど、 モナドっていわゆるデザインパターンの一種と考えておk? http://mevius.5ch.net/test/read.cgi/tech/1193743693/897
898: デフォルトの名無しさん [sage] 2008/05/09(金) 21:47:46 >>897 デザインパターンとはまた違うね。 モナドをデザインパターンとみなすならありとあらゆるアルゴリズムとデータ構造がデザインパターンだといわれてしまう。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/898
899: デフォルトの名無しさん [sage] 2008/05/09(金) 21:58:16 >>897 その通りで、「モナド式のインタフェースを与える」というのが一種のデザインパターンになってる ただし、メタな慣習に留まらずに、「Monad」というクラスを通じて言語内でこの仕組みを活用できるから、 いわゆるデザインパターン(対応する概念がコード中に直接現れない)とは少し違う >>898 モナドはアルゴリズムでもデータ構造でもないけど、なんでそうなる? http://mevius.5ch.net/test/read.cgi/tech/1193743693/899
900: デフォルトの名無しさん [sage] 2008/05/09(金) 22:01:31 >>899 アルゴリズムとデータ構造だろ。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/900
901: デフォルトの名無しさん [sage] 2008/05/09(金) 22:07:20 >>900 個々のモナドならそうだな 俺は>>897を読んで、個々のモナドについてじゃなく Monadクラス(あるいはモナドという考え方)についての話題だと解釈した Monadクラスはデータ構造でもアルゴリズムでもないってのは認めるよな? http://mevius.5ch.net/test/read.cgi/tech/1193743693/901
902: デフォルトの名無しさん [sage] 2008/05/09(金) 22:27:03 >>901 クラスとは? 型クラスのこと? データ構造に過ぎないと思うが。 デザインパターンというのはもっとラフなもの、たとえばプログラマーの設計におけるノウハウのようなものを言うんだよ。 モナドはノウハウじゃないよね。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/902
903: デフォルトの名無しさん [sage] 2008/05/09(金) 22:40:16 >>902 型クラスのこと 型クラスはいかなる構造も表さないだろ データ構造は個々のインスタンスだ モナドはノウハウだと言えると思う(少なくともそういう側面がある) ライブラリを設計する時に、特定の機能をモナドとして公開するという選択肢を知っていると便利だという意味で ただ、Haskellでのモナドは単なるノウハウにとどまらず、実際にコード上で型クラスとして利用できる (つまりliftMとかmapMみたいな、任意のモナドについての関数を書ける) という点で、典型的なデザインパターンとは違うから、それを>>899の4行目に書いた http://mevius.5ch.net/test/read.cgi/tech/1193743693/903
904: デフォルトの名無しさん [sage] 2008/05/09(金) 22:43:59 OK これ以上何を言っても言葉遊びに過ぎないからやめよう。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/904
905: デフォルトの名無しさん [sage] 2008/05/09(金) 23:22:25 >>897 モナドなんかの定義は GHCの神様の論文みりゃいいだろ 数式的にこみいっているなら 圏とかその辺の簡単な英語の 教科書読めばいいだろ そもそも、偉そうで大して 何も功績のない黄色猿の説明の 真似事を真に受けるから混乱するんだよ 他の分野と違って日本語で発信した 情報を改良していった分野じゃねーから 日本語の情報なんて読むだけ無駄なんだよ http://mevius.5ch.net/test/read.cgi/tech/1193743693/905
906: デフォルトの名無しさん [sage] 2008/05/09(金) 23:26:04 >>891 >>895 Haskellの関数と仕様を与えて、関数がその仕様をみたすことの証明をする支援ツールがある。 名前はAgda このツールによって証明された関数は、仕様を満たすことが保証されるので、テストが必要ない。 このようなツールは証明支援系(Proof Assistant)、定理証明系(Theorem Prover)などと呼ばれている。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/906
907: デフォルトの名無しさん [sage] 2008/05/09(金) 23:27:45 >>891 >>895 Haskellの関数と仕様を与えて、関数がその仕様をみたすことの証明をする支援ツールがある。 名前はAgda このツールによって証明された関数は、仕様を満たすことが保証されるので、テストが必要ない。 このようなツールは証明支援系(Proof Assistant)、定理証明系(Theorem Prover)などと呼ばれている。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/907
908: デフォルトの名無しさん [sage] 2008/05/09(金) 23:42:37 たとえばネットワークアプリとかを書くとき、途中で通信が切断されたかどういう挙動をするかとか、 通信相手が異常なデータを送ってきたときどうなるかとか、 そういうのってテストするのが一番の近道だと思うんだけど、どうなんだろ。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/908
909: デフォルトの名無しさん [sage] 2008/05/09(金) 23:56:05 >>908 その程度の組み合わせと遷移なら spinでいいだろボケカス http://mevius.5ch.net/test/read.cgi/tech/1193743693/909
910: デフォルトの名無しさん [sage] 2008/05/10(土) 00:16:29 >>906 Agdaの存在は知ってたけど、現実の問題に対してテストの代わりになるの? http://mevius.5ch.net/test/read.cgi/tech/1193743693/910
911: デフォルトの名無しさん [sage] 2008/05/10(土) 00:36:17 http://www.tom.sfc.keio.ac.jp/~sakai/d/?date=20050929#p01 こんな感じ? http://mevius.5ch.net/test/read.cgi/tech/1193743693/911
912: 872 [sage] 2008/05/10(土) 08:40:16 >>906 おお、こういうツールがやはりあるんですね。ありがとうございます。 Haskellというとコンパクトな記述とかがクローズアップされますけど、 参照透過性にこだわりを持つ言語ということで、テストではなくて 証明が可能な場合が多い、というのは刺激的だと思います。 >>908 テストと証明では質的な違いがありますよね。テストはどこまで行っても 信頼できる「と思われる」の積み重ねであって、絶対に間違いがあっては いけないシステムの場合、テストは凄いコストかかるんじゃないでしょうか。 証明可能で、しかもツールでそれが検証できれば凄いコストが減らせます。 一般的な実用化を進めるに際して、重要な要素だと思います。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/912
913: デフォルトの名無しさん [sage] 2008/05/10(土) 09:58:38 >>912 Haskellで証明が可能な場合が多いのではなく、すべての関数について証明をすることができる。 もちろん非常に難しいものもあるが。 再帰関数は証明が簡単である事が多いという事実もある。 >>908 形式的な証明は常に必要な訳ではない。今すぐ使いたいシステムで、多少のバグは許容される場合は、 形式手法は向いていない。 しかし、不具合が許されないシステム開発においては、テスト行程に莫大な予算がかかってしまう。 [参考] UFJ銀行のシステム統合↓ http://itpro.nikkeibp.co.jp/article/OPINION/20080423/299886/ これは、システム開発にCOBOLやJavaなどを使っているためである。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/913
914: デフォルトの名無しさん [sage] 2008/05/10(土) 11:09:27 913 訂正 x すべての関数について証明する事ができる。 もちろん、正しくないことは証明できない。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/914
915: デフォルトの名無しさん [sage] 2008/05/10(土) 12:02:59 俺は頭が悪いんで他人の意図が読みとれないのだが>>913は 『不具合が許されないシステム開発においてはHaskellで開発すればよい』 と言ってるのか? http://mevius.5ch.net/test/read.cgi/tech/1193743693/915
916: デフォルトの名無しさん [sage] 2008/05/10(土) 12:15:50 作ったアルゴリズム 数式化するときってみんなどうしてる? http://mevius.5ch.net/test/read.cgi/tech/1193743693/916
917: デフォルトの名無しさん [sage] 2008/05/10(土) 12:24:27 関数の仕様はその仕様でいいのか、 というところまで考えると、 やっぱりテストは必要だと思う。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/917
918: デフォルトの名無しさん [sage] 2008/05/10(土) 12:31:30 >>915 その通り。 しかし現実的には以下のような問題があり、大企業で今すぐ導入する事は難しい可能性がある。 - 過去に作った巨大なシステムがJavaなどで作られている。 - 偉い人(責任者や、クライアント) がHaskellや形式手法などの技術に関する知識を持っていない。 - 関数型言語ができるエンジニアが世界的に見ても少数である。 これからシステムは複雑になっていく一方で、不具合に対するリスクや、 テストにかかるコストが上がっていくのならば、形式手法を用いた開発がより求められるかもしれない。 実際に関数型言語を第一言語として、金融関係のシステム開発を行っている会社がニューヨークに存在する。 http://www.janestcapital.com/ http://mevius.5ch.net/test/read.cgi/tech/1193743693/918
919: デフォルトの名無しさん [sage] 2008/05/10(土) 12:38:52 まるで技術的な欠陥はないかのような書き方だけど そうなの? http://mevius.5ch.net/test/read.cgi/tech/1193743693/919
920: デフォルトの名無しさん [sage] 2008/05/10(土) 12:39:16 >>917 確かに仕様を厳密に読む能力がないといけない。それは契約書などで契約を結ぶのと似ている。 契約を結ぶ両者が契約書の記述をきちんと読んで判定しないと契約はうまくいかない。 テストが必要である事は変わらないかもしれないが、テストだけでは100%の保証をする事はできない。 形式手法によって、テストのウェイトを減らし、信頼性を増やす事ができるかもしれない。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/920
921: デフォルトの名無しさん [sage] 2008/05/10(土) 12:39:21 本来は高レベルの 形式的意味論や型推論を 使って手続きと関数型を クロス変換できるといいんだよなぁ >>918作ってよ http://mevius.5ch.net/test/read.cgi/tech/1193743693/921
922: デフォルトの名無しさん [sage] 2008/05/10(土) 12:46:07 Haskellでもゆるいコードは書けるよ。 共用体のような型を多用するとコンパイルが簡単に通るようになる。 けど実行時にエラーが出る。 何故そんな書き方が許されるのかというと、そうしないと書けないこともあるから。 そういうコードは静的なチェックができない。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/922
923: デフォルトの名無しさん [sage] 2008/05/10(土) 12:49:49 マシン語を手続き型言語とするならば、関数型→手続き型の変換は存在する。 例えばGHC↓ http://www.haskell.org/ghc/ http://mevius.5ch.net/test/read.cgi/tech/1193743693/923
924: デフォルトの名無しさん [sage] 2008/05/10(土) 12:50:23 ttp://www.sagisou.sakura.ne.jp/~la/img/rn189_01.jpg ttp://www.sagisou.sakura.ne.jp/~la/img/rn189_02.jpg ttp://www.sagisou.sakura.ne.jp/~la/img/rn189_03.jpg ttp://www.sagisou.sakura.ne.jp/~la/img/rn189_04.jpg http://mevius.5ch.net/test/read.cgi/tech/1193743693/924
925: デフォルトの名無しさん [sage] 2008/05/10(土) 12:51:20 >>918 HaskellでGoogle検索したときとかに、人材募集の公告を出している会社だね。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/925
926: デフォルトの名無しさん [sage] 2008/05/10(土) 12:53:12 転職しようかな http://mevius.5ch.net/test/read.cgi/tech/1193743693/926
927: デフォルトの名無しさん [sage] 2008/05/10(土) 13:08:04 >>924 うんこ絵まだ〜? http://mevius.5ch.net/test/read.cgi/tech/1193743693/927
928: デフォルトの名無しさん [sage] 2008/05/10(土) 13:14:00 >>926 ,.--、、 ,:' ゙ヽ、 / ,,.-‐-- 、..ユ_ /レ´ `ヽ、 , ´_ ,:''´ ̄`ヽ. ゙ヽ. ,:',r´ ゙ヽ::i 「`''‐-、 ヘ lイ j:{ ト 、 `ヽi |{ (__)、_ __,.ノ′ ヽ、 l {,.ゝ-‐' __|_,,..二_ ヽ. l ,;ァ ,..,r‐、| ,r'´_,..-─--ヾ、 ヘ.ム' j | } | l. |リ k‐''''゙゙´フ ヽ ノ/ ス二ニ | j | ヽ! { `'''゙´ ,,,... ゝ=-、_∠c'ン-‐''´‐ | j^l| ヽ-ヽ. ゙゙"´ ,,,;;;' ,ノノク j' 丿/レ´) ヽ、_,.-1;;;;; _.ィ//,.-‐─= {'´ i'ノ / _,.!-‐',ィ,イ,r'´ http://mevius.5ch.net/test/read.cgi/tech/1193743693/928
929: デフォルトの名無しさん [sage] 2008/05/10(土) 13:25:57 >>921 ET言語なんかがその方向なんジャマイカ? http://alohakun.blog7.fc2.com/ http://mevius.5ch.net/test/read.cgi/tech/1193743693/929
930: デフォルトの名無しさん [sage] 2008/05/10(土) 13:39:13 >>929 それって学会発表聞いた限り CAD関係の数値データの変換程度 しかできないって記憶があるけど 今は分散トランザクションとか扱えるまで 成長してきたのかな? http://mevius.5ch.net/test/read.cgi/tech/1193743693/930
931: デフォルトの名無しさん [sage] 2008/05/10(土) 13:45:31 プログラムの数学的な証明はテストの一部だろ http://mevius.5ch.net/test/read.cgi/tech/1193743693/931
932: デフォルトの名無しさん [sage] 2008/05/10(土) 13:49:00 難しいことはそっちに置いておいて アルゴリズムを数式化する方法について 教えてほしいぉ http://mevius.5ch.net/test/read.cgi/tech/1193743693/932
933: デフォルトの名無しさん [sage] 2008/05/10(土) 13:52:40 >>918 俺、商売のチャンス見つけちゃってる? http://mevius.5ch.net/test/read.cgi/tech/1193743693/933
934: デフォルトの名無しさん [sage] 2008/05/10(土) 13:58:36 実績のない言語での開発を許してくれる金融系のクライアントがいれば http://mevius.5ch.net/test/read.cgi/tech/1193743693/934
935: デフォルトの名無しさん [sage] 2008/05/10(土) 14:06:14 >>933 競走相手は、学者だぞ。 MOT(技術経営:Management of Technology)は参考になるかも。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/935
936: 912 [sage] 2008/05/10(土) 21:22:55 >>913 なるほど。自分はHaskell学習中で、BirdのIntroduction〜を読んでるの ですが、最終章に証明アプリみたいなのが出てきますよね。 これを見て凄く感動しましたw。こういうのがHaskell開発の統合環境のような ものでサポートされれば、関数選択して簡潔な表記へ変換とか、色んなことが 可能なんじゃないか。ユニットテストも全く違った形で、凄い精度よくできるん じゃないかと思ったんですね。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/936
937: デフォルトの名無しさん [sage] 2008/05/10(土) 22:08:32 これいいぉ? Communicating and Mobile Systems: The Pi-Calculus http://mevius.5ch.net/test/read.cgi/tech/1193743693/937
938: デフォルトの名無しさん [sage] 2008/05/10(土) 22:29:44 >>937なんぞこれ http://mevius.5ch.net/test/read.cgi/tech/1193743693/938
939: デフォルトの名無しさん [sage] 2008/05/10(土) 22:52:18 >>938 サイボウズラボ http://pc11.2ch.net/test/read.cgi/prog/1209262884/l50 611 名前: た 投稿日: 2008/05/10(土) 13:26:19 ね、分散システムとかの基礎本、 いいの知ってたら教えてちょ。 613 名前: 仕様書無しさん 投稿日: 2008/05/10(土) 14:08:26 >>611 Communicating and Mobile Systems: The Pi-Calculus http://mevius.5ch.net/test/read.cgi/tech/1193743693/939
940: デフォルトの名無しさん [sage] 2008/05/11(日) 00:58:05 >>938 π-calculus 超入門 http://web.yl.is.s.u-tokyo.ac.jp/kobalab/kadai99/picalc.html http://mevius.5ch.net/test/read.cgi/tech/1193743693/940
941: デフォルトの名無しさん [sage] 2008/05/11(日) 00:59:22 おっΠ http://mevius.5ch.net/test/read.cgi/tech/1193743693/941
942: デフォルトの名無しさん [sage] 2008/05/11(日) 03:07:18 >>940 ごちそうさまでした http://mevius.5ch.net/test/read.cgi/tech/1193743693/942
943: デフォルトの名無しさん [sage] 2008/05/12(月) 01:55:14 hrefのiterateの誤植のおかげで時間ロスした…… http://mevius.5ch.net/test/read.cgi/tech/1193743693/943
944: デフォルトの名無しさん [sage] 2008/05/12(月) 19:49:49 test.hsをコンパイルしようとしたら次のようなエラーが出たのですが原因がわかりません compilation IS NOT required test.o(.test.o(.text+0x46):fake: undefined reference to `cgizm3001zi1zi5zi2_NetworkziCGI_runCGI_closure' http://mevius.5ch.net/test/read.cgi/tech/1193743693/944
945: デフォルトの名無しさん [sage] 2008/05/12(月) 19:50:52 すみません途中で送信してしまいました >>944のようなエラーが出てきた場合はどのような対処をすればいいですか? http://mevius.5ch.net/test/read.cgi/tech/1193743693/945
946: デフォルトの名無しさん [sage] 2008/05/12(月) 20:24:00 --makeオプション付けてる? http://mevius.5ch.net/test/read.cgi/tech/1193743693/946
947: デフォルトの名無しさん [sage] 2008/05/12(月) 20:45:09 Haskell が形式的手法に向いてて、テスト等のコストダウンにつながるみたいな話が出ていたが、 F#はその点どうなんだ? ・一応関数型言語 ・でもHaskellほど純粋じゃない ・M$開発なのもあって、使い始めてる企業もぽつぽつ ・.NET http://mevius.5ch.net/test/read.cgi/tech/1193743693/947
948: デフォルトの名無しさん [sage] 2008/05/12(月) 23:13:20 質問です。 例えば、ttp://ujihisa.nowa.jp/entry/83b42ba2e2 のプログラムはrunghcで動かす時はリストの一部が出力されますが、ghcでコンパイルして 動かすと何も出ないですよね? 無限リストなんかを処理が終わった部分から逐次出力する、というのはどうすればいいんでしょうか? runghcの場合は大丈夫なのですがコンパイルして実行すると駄目です。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/948
949: デフォルトの名無しさん [sage] 2008/05/13(火) 00:06:02 >>948 こんなふうに書き換えると最初の値だけは出力されるね。 GHCの実装の詳細までは知らないですが…… main = mapM_ (print . love) [0..10] love :: Int -> Bool love 0 = True love k = love (k-1) && love 1 http://mevius.5ch.net/test/read.cgi/tech/1193743693/949
950: デフォルトの名無しさん [sage] 2008/05/13(火) 06:08:25 >>948 標準出力のバッファリングを無効にすればいい import IO main = hSetBuffering stdout NoBuffering >> ... http://mevius.5ch.net/test/read.cgi/tech/1193743693/950
951: デフォルトの名無しさん [sage] 2008/05/13(火) 07:55:25 >>947 F#でも同じだろ。 静的型付け言語だし、再帰でプログラミングするし。 ただ、現状ではHaskellやOCamlの方が、証明支援ツールが充実している。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/951
952: デフォルトの名無しさん [sage] 2008/05/13(火) 09:52:53 いくつか関数型言語を使う企業を見たり、経験しているが証明はまずしない。 定理証明支援系で証明できることはどうせたかが知れており、 これは業種にもよるので断言できないが、実際に保証したいことはまず 証明できない。できたとしても時間かかりすぎ。仕様が変更されれば 証明に要した労力も無駄。費用対効果の面から魅力を感じられない。 自動、半自動的な検証は当然大いに利用したいが、モデル検査はちょっと おおげさ。やはり言語に付属している型検査、型推論が妥当な手段になる。 企業側が関数型言語を選ぶのにはいくつか理由があるが、結構重要視されて いるのが、関数型言語を書ける人間を集める方が、Javaで集めるより、 当たりが多いという事実。もちろんそういう意味では機械証明ができる人材は 歓迎される。まあ、面接や2chのスレを見てる限り、これももうすぐ成り立た なくなるだろうけど。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/952
953: デフォルトの名無しさん [sage] 2008/05/13(火) 16:05:23 >>952 > これは業種にもよるので断言できないが、 > 実際に保証したいことはまず証明できない。 まあ断言していいと思うよ。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/953
954: デフォルトの名無しさん [sage] 2008/05/13(火) 21:20:59 NASAの中の奴らも これで衛星軌道に乗せる プログラムの証明やろうとして 職失ったしなw 今は曰く有りだから関わらん方が いいよ。趣味でどうしてもとかいう 好奇心旺盛な変態はいいと思うが http://mevius.5ch.net/test/read.cgi/tech/1193743693/954
955: デフォルトの名無しさん [sage] 2008/05/13(火) 22:10:41 >>952 >いくつか関数型言語を使う企業を見たり、経験しているが 可能ならば、具体例きぼんぬ。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/955
956: デフォルトの名無しさん [sage] 2008/05/13(火) 22:16:39 >>952 それは、計算機で数学の証明ができない、ということと等価なんでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1193743693/956
957: デフォルトの名無しさん [sage] 2008/05/13(火) 22:17:51 >>952 実際にHaskellやOCamlを使っているところは、単純に静的型チェックによる安全性を重要視してるんじゃない? Javaなんかも静的型チェックがあるけど、HaskellやOCamlはもっと安全で、でも、Javaほど冗長じゃない っていうのが普通に便利だと思うけど。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/957
958: デフォルトの名無しさん [sage] 2008/05/13(火) 22:24:01 >>956 答えはNo. できるけれども、現状では、難しすぎて実用的でないということ。 定理証明支援器は使うためにラムダ式の厳密な扱いができないとダメだし、ツールの使いやすさも まだまだ発展途上。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/958
959: デフォルトの名無しさん [sage] 2008/05/13(火) 22:28:21 最近Haskell始めたんだけど、 a b c d って式があったらそれだけ見てもb c dは関数なのかそうでないのかわからないよね? 定義してる部分を見るしかないの? http://mevius.5ch.net/test/read.cgi/tech/1193743693/959
960: デフォルトの名無しさん [sage] 2008/05/13(火) 22:42:53 >>955 働いたり内部に首を突っ込んで詳しく聞いたのは外資金融系数社、大手、小規模含む。ocaml 2社、Haskell 2社。 全社をあげて取り組んでいたり、一部プロジェクトチームだけだったり。これ以上は勘弁。 他にも外資金融数社でF#などの採用を考えているという話。金融ではこれからの十年は関数型じゃないか?という噂。 金融じゃないが東大でもHaskellを使ってspin-outした若者達がいたよね。 >>956 あまり関係ありません。 証明を書けたとしても通常は時間が掛かりすぎて、問題自体が変化するなど、労力=給料に見合わない、ということです。 証明スクリプトを自在に書けるほどの人材なら、基本デザインに参加させることで安全性を向上させるほうがよいです。 >>957 まあ、そのとうり。 偏見かもですが、以上の会社/プロジェクトではオブジェクトは人間による静的解析を 難しくするのでどこでも人気ありませんでした。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/960
961: デフォルトの名無しさん [sage] 2008/05/13(火) 22:45:19 式を値として扱う方法 がいまいちわかってない 練習問題5個ちょうだい http://mevius.5ch.net/test/read.cgi/tech/1193743693/961
962: デフォルトの名無しさん [sage] 2008/05/13(火) 22:49:12 >>960 955ではないですが、もう少しお聞きしたいのですが、金融系で関数型というのは、 どういう部分で使ってるんでしょうか?リスク管理とかのシステムは割と金融工学 とかの人たちが多い印象があるんですが、そういう部分でしょうか。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/962
963: デフォルトの名無しさん [sage] 2008/05/13(火) 22:52:05 >>960 関数型言語を使う企業情報サンクス。 知らないだけで、けっこう使われているのね。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/963
964: デフォルトの名無しさん [sage] 2008/05/13(火) 22:52:17 >>959 基本的にはそう。aの型だけ見れば分かることもあるけど 別にこれはHaskell特有の事情じゃなくて、例えばCでも、 a(b, c, d) という式を見ただけではbやcやdが関数かどうかは分からない http://mevius.5ch.net/test/read.cgi/tech/1193743693/964
965: デフォルトの名無しさん [sage] 2008/05/13(火) 22:53:27 >>960 > 働いたり内部に首を突っ込んで詳しく聞いたのは外資金融系数社、大手、小規模含む。ocaml 2社、Haskell 2社 日本の会社ですか? http://mevius.5ch.net/test/read.cgi/tech/1193743693/965
966: デフォルトの名無しさん [sage] 2008/05/13(火) 22:53:30 >>961 式を値として使うってどういうこと? http://mevius.5ch.net/test/read.cgi/tech/1193743693/966
967: デフォルトの名無しさん [sage] 2008/05/13(火) 22:54:37 なんかネタ臭いな ひょっとしてビジネスロジックの計算部分だけとかそういうオチ? http://mevius.5ch.net/test/read.cgi/tech/1193743693/967
968: デフォルトの名無しさん [sage] 2008/05/13(火) 23:01:27 Functions as Values って奴です日本語の意味は知りません http://mevius.5ch.net/test/read.cgi/tech/1193743693/968
969: デフォルトの名無しさん [sage] 2008/05/14(水) 00:02:11 >>913 投資額2500億円、開発工数11万人月 三菱東京UFJ銀行は2007年8月までにサブシステムの開発と単体テストを終え, 9月から今日に至る8カ月間,接続テスト,総合テスト,最終確認テストと, ひたすらテストを重ねてきた。 ↓ UFJ システム統合 テスト不十分 http://www.nhk.or.jp/news/t10014535911000.html# http://mevius.5ch.net/test/read.cgi/tech/1193743693/969
970: デフォルトの名無しさん [sage] 2008/05/14(水) 00:14:17 >>969 素朴な感覚として、数千人が従事したシステム開発で間違いが あってはならない、というのは無理な相談だと思うが…。 関数型言語はそういう点でも期待されてるのかね。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/970
971: デフォルトの名無しさん [sage] 2008/05/14(水) 00:18:04 >>970 海外の堅いシステム系の人に 質問したことあるけど結局金の問題 偉い人はたかがパソコンずらーっと並べて 金勘定させるのになぜこんなに金かかるんだ 安くしろ他社を出し抜けと思っているだけなんだよ http://mevius.5ch.net/test/read.cgi/tech/1193743693/971
972: デフォルトの名無しさん [sage] 2008/05/14(水) 02:25:38 x8664版でりようしてるけど、初めて4G以上使ってしまった。 フィボでどこまでけいさんできるのか?して300000でシステムが不安定になったよ。^^; でも落ちなかったところが偉い。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/972
973: デフォルトの名無しさん [sage] 2008/05/14(水) 07:27:12 >>962 全社をあげて取り組んでいるところは基本インフラは全部関数型。 といってもトレーダーに関数型言語を習わせるわけにもいかないし、 シミュレーションコアはC/C++な所もある。 大手だと既存インフラがあるので一部を強化、置き換える形で導入。 Quantsは基本的に言語理論知らないので、Quantsが関数型使おう ということはまずない。よほど意識の進んだ頭のおかしいQuantsとか、 ITの人がプロジェクトとして始める。うまくいったり、理解を得られず 失敗したり。そういう意味ではリスキー。 Quantsの悪口を言うと言語理論どころか計算量も知らない奴とか、 C++早い、マンセーとか言いながら構造体をコピー渡ししたりとか 大手にもいるの。なので、気をつけて関数型で書けば、もとの プログラムより早くなっちゃたりする。実はそういう業界。 >>965 日本にある会社はごく一部。全部外資。日本企業は知らね。 >>967 Haskellを採用している所は遅いからそうかもわからんね。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/973
974: 962 [sage] 2008/05/14(水) 11:10:58 >>973 ありがとうございます。基本インフラに関数型ってのは驚きですね。 それを売りにしようとしている企業なんでしょうか。 てっきり金融商品の価格設定計算だったり、リスク管理部門の計算 システムかと思ってました。デリバのリスク管理とかHaskellなんかが 向いてそうだなぁと。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/974
975: デフォルトの名無しさん [sage] 2008/05/14(水) 11:14:08 インフラまで関数型か・・・ 具体的なコードがみたいな http://mevius.5ch.net/test/read.cgi/tech/1193743693/975
976: デフォルトの名無しさん [sage] 2008/05/14(水) 12:27:22 米の一部金融系ではErlangを実戦投入してたことがあったとか聞いたような http://mevius.5ch.net/test/read.cgi/tech/1193743693/976
977: デフォルトの名無しさん [sage] 2008/05/14(水) 13:11:50 >>976 アーランの会社だろ http://mevius.5ch.net/test/read.cgi/tech/1193743693/977
978: デフォルトの名無しさん [sage] 2008/05/14(水) 17:35:53 >>972 不安定になるなら落ちたほうがまだマシだろw http://mevius.5ch.net/test/read.cgi/tech/1193743693/978
979: デフォルトの名無しさん [sage] 2008/05/14(水) 17:45:01 単純な掲示板を作成するとしたらどんなライブラリを参照すればいいですか? http://mevius.5ch.net/test/read.cgi/tech/1193743693/979
980: デフォルトの名無しさん [] 2008/05/14(水) 19:15:44 >>975 どっかに就職してね http://mevius.5ch.net/test/read.cgi/tech/1193743693/980
981: デフォルトの名無しさん [sage] 2008/05/14(水) 19:17:01 >>980 どこに? http://mevius.5ch.net/test/read.cgi/tech/1193743693/981
982: デフォルトの名無しさん [] 2008/05/14(水) 19:18:51 ML スレでちょっと話題になってたけど、 千葉にオフィスがあるみたいだね。 http://ocaml.janestcapital.com/ http://rikunabi2009.yahoo.co.jp/bin/KDBG00200.cgi?KOKYAKU_ID=2715900001&MAGIC= http://mevius.5ch.net/test/read.cgi/tech/1193743693/982
983: デフォルトの名無しさん [sage] 2008/05/14(水) 19:23:05 インフラなんかまともなプロファイラやデバッガがないと務まらんだろうに。 Haskellでローレベルな解析するツールがどれだけ充実してるんだか。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/983
984: デフォルトの名無しさん [sage] 2008/05/14(水) 19:24:33 >>979 Network.CGI と Text.Html あたりじゃない? どっちも使ったことはないけど。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/984
985: デフォルトの名無しさん [sage] 2008/05/14(水) 19:57:55 関数を値として扱う方法が よくわかりません 例題を4題くだされ http://mevius.5ch.net/test/read.cgi/tech/1193743693/985
986: デフォルトの名無しさん [sage] 2008/05/14(水) 20:20:56 ぼちぼち次スレ頼む。しかし最近は流れが早いね。いいことだ。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/986
987: デフォルトの名無しさん [sage] 2008/05/14(水) 21:22:31 >>961 >>966 >>968 >>985 何がよくわからないのかよくわかりません。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/987
988: デフォルトの名無しさん [sage] 2008/05/14(水) 21:49:39 >>985 http://www.sato.kuis.kyoto-u.ac.jp/~igarashi/class/isle4/mltext/ocaml005.html http://mevius.5ch.net/test/read.cgi/tech/1193743693/988
989: デフォルトの名無しさん [sage] 2008/05/15(木) 09:55:18 テンプレの改訂とか要望ある? http://mevius.5ch.net/test/read.cgi/tech/1193743693/989
990: デフォルトの名無しさん [sage] 2008/05/15(木) 19:44:33 >>989 関連スレ ・関数型言語Part IV http://pc8.2ch.net/test/read.cgi/tech/1083649982/ ・【数学者】Haskellはクソ言語【オナニー】 http://pc8.2ch.net/test/read.cgi/tech/1128011645/ ・純粋関数型言語Concurent Clean http://pc8.2ch.net/test/read.cgi/tech/1075629340/ ・関数型言語ML(SML, OCaml, etc.), Part 5 http://pc11.2ch.net/test/read.cgi/tech/1186292994/ ・Lisp Scheme Part21 http://pc11.2ch.net/test/read.cgi/tech/1207300697/ 【入門】Common Lisp その4【質問よろず】 http://pc11.2ch.net/test/read.cgi/tech/1201402366/ ・Emacs Lisp 3 http://pc11.2ch.net/test/read.cgi/tech/1191875993/ http://mevius.5ch.net/test/read.cgi/tech/1193743693/990
991: デフォルトの名無しさん [sage] 2008/05/15(木) 19:46:48 あと >>18 のリンク先も欲しいな http://mevius.5ch.net/test/read.cgi/tech/1193743693/991
992: デフォルトの名無しさん [sage] 2008/05/15(木) 21:18:28 >>989 ・栄光のグラスゴーHaskellコンパイルシステム利用の手引き バージョン6.8.2 http://www.kotha.net/ghc_users_guide_ja/ も欲しいかも。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/992
993: デフォルトの名無しさん [sage] 2008/05/15(木) 21:33:19 これを先頭に入れときな http://www.haskell.org/bio.html http://mevius.5ch.net/test/read.cgi/tech/1193743693/993
994: 948 [sage] 2008/05/15(木) 23:59:16 >>949-950 できました。 ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1193743693/994
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.023s