関数型プログラミング言語Haskell Part8
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
2007/10/30(火) 20:28:13http://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の仕様により、行頭の半角スペースは表示されません。
コードをインデントしたいときは、代わりに または全角スペースを使うことができます。
0944デフォルトの名無しさん
2008/05/12(月) 19:49:49compilation IS NOT required
test.o(.test.o(.text+0x46):fake: undefined reference to
`cgizm3001zi1zi5zi2_NetworkziCGI_runCGI_closure'
0945デフォルトの名無しさん
2008/05/12(月) 19:50:52>>944のようなエラーが出てきた場合はどのような対処をすればいいですか?
0946デフォルトの名無しさん
2008/05/12(月) 20:24:000947デフォルトの名無しさん
2008/05/12(月) 20:45:09F#はその点どうなんだ?
・一応関数型言語
・でもHaskellほど純粋じゃない
・M$開発なのもあって、使い始めてる企業もぽつぽつ
・.NET
0948デフォルトの名無しさん
2008/05/12(月) 23:13:20例えば、ttp://ujihisa.nowa.jp/entry/83b42ba2e2
のプログラムはrunghcで動かす時はリストの一部が出力されますが、ghcでコンパイルして
動かすと何も出ないですよね?
無限リストなんかを処理が終わった部分から逐次出力する、というのはどうすればいいんでしょうか?
runghcの場合は大丈夫なのですがコンパイルして実行すると駄目です。
0949デフォルトの名無しさん
2008/05/13(火) 00:06:02こんなふうに書き換えると最初の値だけは出力されるね。
GHCの実装の詳細までは知らないですが……
main = mapM_ (print . love) [0..10]
love :: Int -> Bool
love 0 = True
love k = love (k-1) && love 1
0950デフォルトの名無しさん
2008/05/13(火) 06:08:25標準出力のバッファリングを無効にすればいい
import IO
main = hSetBuffering stdout NoBuffering >> ...
0951デフォルトの名無しさん
2008/05/13(火) 07:55:25F#でも同じだろ。
静的型付け言語だし、再帰でプログラミングするし。
ただ、現状ではHaskellやOCamlの方が、証明支援ツールが充実している。
0952デフォルトの名無しさん
2008/05/13(火) 09:52:53定理証明支援系で証明できることはどうせたかが知れており、
これは業種にもよるので断言できないが、実際に保証したいことはまず
証明できない。できたとしても時間かかりすぎ。仕様が変更されれば
証明に要した労力も無駄。費用対効果の面から魅力を感じられない。
自動、半自動的な検証は当然大いに利用したいが、モデル検査はちょっと
おおげさ。やはり言語に付属している型検査、型推論が妥当な手段になる。
企業側が関数型言語を選ぶのにはいくつか理由があるが、結構重要視されて
いるのが、関数型言語を書ける人間を集める方が、Javaで集めるより、
当たりが多いという事実。もちろんそういう意味では機械証明ができる人材は
歓迎される。まあ、面接や2chのスレを見てる限り、これももうすぐ成り立た
なくなるだろうけど。
0953デフォルトの名無しさん
2008/05/13(火) 16:05:23> これは業種にもよるので断言できないが、
> 実際に保証したいことはまず証明できない。
まあ断言していいと思うよ。
0954デフォルトの名無しさん
2008/05/13(火) 21:20:59これで衛星軌道に乗せる
プログラムの証明やろうとして
職失ったしなw
今は曰く有りだから関わらん方が
いいよ。趣味でどうしてもとかいう
好奇心旺盛な変態はいいと思うが
0955デフォルトの名無しさん
2008/05/13(火) 22:10:41>いくつか関数型言語を使う企業を見たり、経験しているが
可能ならば、具体例きぼんぬ。
0956デフォルトの名無しさん
2008/05/13(火) 22:16:39それは、計算機で数学の証明ができない、ということと等価なんでしょうか?
0957デフォルトの名無しさん
2008/05/13(火) 22:17:51実際にHaskellやOCamlを使っているところは、単純に静的型チェックによる安全性を重要視してるんじゃない?
Javaなんかも静的型チェックがあるけど、HaskellやOCamlはもっと安全で、でも、Javaほど冗長じゃない
っていうのが普通に便利だと思うけど。
0958デフォルトの名無しさん
2008/05/13(火) 22:24:01答えはNo.
できるけれども、現状では、難しすぎて実用的でないということ。
定理証明支援器は使うためにラムダ式の厳密な扱いができないとダメだし、ツールの使いやすさも
まだまだ発展途上。
0959デフォルトの名無しさん
2008/05/13(火) 22:28:21定義してる部分を見るしかないの?
0960デフォルトの名無しさん
2008/05/13(火) 22:42:53働いたり内部に首を突っ込んで詳しく聞いたのは外資金融系数社、大手、小規模含む。ocaml 2社、Haskell 2社。
全社をあげて取り組んでいたり、一部プロジェクトチームだけだったり。これ以上は勘弁。
他にも外資金融数社でF#などの採用を考えているという話。金融ではこれからの十年は関数型じゃないか?という噂。
金融じゃないが東大でもHaskellを使ってspin-outした若者達がいたよね。
>>956
あまり関係ありません。
証明を書けたとしても通常は時間が掛かりすぎて、問題自体が変化するなど、労力=給料に見合わない、ということです。
証明スクリプトを自在に書けるほどの人材なら、基本デザインに参加させることで安全性を向上させるほうがよいです。
>>957
まあ、そのとうり。
偏見かもですが、以上の会社/プロジェクトではオブジェクトは人間による静的解析を
難しくするのでどこでも人気ありませんでした。
0961デフォルトの名無しさん
2008/05/13(火) 22:45:19がいまいちわかってない
練習問題5個ちょうだい
0962デフォルトの名無しさん
2008/05/13(火) 22:49:12955ではないですが、もう少しお聞きしたいのですが、金融系で関数型というのは、
どういう部分で使ってるんでしょうか?リスク管理とかのシステムは割と金融工学
とかの人たちが多い印象があるんですが、そういう部分でしょうか。
0963デフォルトの名無しさん
2008/05/13(火) 22:52:05関数型言語を使う企業情報サンクス。
知らないだけで、けっこう使われているのね。
0964デフォルトの名無しさん
2008/05/13(火) 22:52:17基本的にはそう。aの型だけ見れば分かることもあるけど
別にこれはHaskell特有の事情じゃなくて、例えばCでも、
a(b, c, d)
という式を見ただけではbやcやdが関数かどうかは分からない
0965デフォルトの名無しさん
2008/05/13(火) 22:53:27> 働いたり内部に首を突っ込んで詳しく聞いたのは外資金融系数社、大手、小規模含む。ocaml 2社、Haskell 2社
日本の会社ですか?
0966デフォルトの名無しさん
2008/05/13(火) 22:53:30式を値として使うってどういうこと?
0967デフォルトの名無しさん
2008/05/13(火) 22:54:37ひょっとしてビジネスロジックの計算部分だけとかそういうオチ?
0968デフォルトの名無しさん
2008/05/13(火) 23:01:27って奴です日本語の意味は知りません
0969デフォルトの名無しさん
2008/05/14(水) 00:02:11投資額2500億円、開発工数11万人月
三菱東京UFJ銀行は2007年8月までにサブシステムの開発と単体テストを終え,
9月から今日に至る8カ月間,接続テスト,総合テスト,最終確認テストと,
ひたすらテストを重ねてきた。
↓
UFJ システム統合 テスト不十分
http://www.nhk.or.jp/news/t10014535911000.html#
0970デフォルトの名無しさん
2008/05/14(水) 00:14:17素朴な感覚として、数千人が従事したシステム開発で間違いが
あってはならない、というのは無理な相談だと思うが…。
関数型言語はそういう点でも期待されてるのかね。
0971デフォルトの名無しさん
2008/05/14(水) 00:18:04海外の堅いシステム系の人に
質問したことあるけど結局金の問題
偉い人はたかがパソコンずらーっと並べて
金勘定させるのになぜこんなに金かかるんだ
安くしろ他社を出し抜けと思っているだけなんだよ
0972デフォルトの名無しさん
2008/05/14(水) 02:25:38フィボでどこまでけいさんできるのか?して300000でシステムが不安定になったよ。^^;
でも落ちなかったところが偉い。
0973デフォルトの名無しさん
2008/05/14(水) 07:27:12全社をあげて取り組んでいるところは基本インフラは全部関数型。
といってもトレーダーに関数型言語を習わせるわけにもいかないし、
シミュレーションコアはC/C++な所もある。
大手だと既存インフラがあるので一部を強化、置き換える形で導入。
Quantsは基本的に言語理論知らないので、Quantsが関数型使おう
ということはまずない。よほど意識の進んだ頭のおかしいQuantsとか、
ITの人がプロジェクトとして始める。うまくいったり、理解を得られず
失敗したり。そういう意味ではリスキー。
Quantsの悪口を言うと言語理論どころか計算量も知らない奴とか、
C++早い、マンセーとか言いながら構造体をコピー渡ししたりとか
大手にもいるの。なので、気をつけて関数型で書けば、もとの
プログラムより早くなっちゃたりする。実はそういう業界。
>>965
日本にある会社はごく一部。全部外資。日本企業は知らね。
>>967
Haskellを採用している所は遅いからそうかもわからんね。
0974962
2008/05/14(水) 11:10:58ありがとうございます。基本インフラに関数型ってのは驚きですね。
それを売りにしようとしている企業なんでしょうか。
てっきり金融商品の価格設定計算だったり、リスク管理部門の計算
システムかと思ってました。デリバのリスク管理とかHaskellなんかが
向いてそうだなぁと。
0975デフォルトの名無しさん
2008/05/14(水) 11:14:08具体的なコードがみたいな
0976デフォルトの名無しさん
2008/05/14(水) 12:27:220977デフォルトの名無しさん
2008/05/14(水) 13:11:50アーランの会社だろ
0978デフォルトの名無しさん
2008/05/14(水) 17:35:53不安定になるなら落ちたほうがまだマシだろw
0979デフォルトの名無しさん
2008/05/14(水) 17:45:010980デフォルトの名無しさん
2008/05/14(水) 19:15:44どっかに就職してね
0981デフォルトの名無しさん
2008/05/14(水) 19:17:01どこに?
0982デフォルトの名無しさん
2008/05/14(水) 19:18:51千葉にオフィスがあるみたいだね。
http://ocaml.janestcapital.com/
http://rikunabi2009.yahoo.co.jp/bin/KDBG00200.cgi?KOKYAKU_ID=2715900001&MAGIC=
0983デフォルトの名無しさん
2008/05/14(水) 19:23:05Haskellでローレベルな解析するツールがどれだけ充実してるんだか。
0984デフォルトの名無しさん
2008/05/14(水) 19:24:33Network.CGI と Text.Html あたりじゃない?
どっちも使ったことはないけど。
0985デフォルトの名無しさん
2008/05/14(水) 19:57:55よくわかりません
例題を4題くだされ
0986デフォルトの名無しさん
2008/05/14(水) 20:20:560987デフォルトの名無しさん
2008/05/14(水) 21:22:31>>966
>>968
>>985
何がよくわからないのかよくわかりません。
0988デフォルトの名無しさん
2008/05/14(水) 21:49:39http://www.sato.kuis.kyoto-u.ac.jp/~igarashi/class/isle4/mltext/ocaml005.html
0989デフォルトの名無しさん
2008/05/15(木) 09:55:180990デフォルトの名無しさん
2008/05/15(木) 19:44:33関連スレ
・関数型言語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/
0991デフォルトの名無しさん
2008/05/15(木) 19:46:48>>18 のリンク先も欲しいな
0992デフォルトの名無しさん
2008/05/15(木) 21:18:28・栄光のグラスゴーHaskellコンパイルシステム利用の手引き バージョン6.8.2
http://www.kotha.net/ghc_users_guide_ja/
も欲しいかも。
0993デフォルトの名無しさん
2008/05/15(木) 21:33:19http://www.haskell.org/bio.html
レス数が950を超えています。1000を超えると書き込みができなくなります。