[過去ログ] 関数型プログラミング言語Haskell Part4 (1001レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
534: 2006/04/22(土)09:47 AAS
「ふつうのHaskellプログラミング」マダー(AAry
Racc本の青木峰郎さんに期待age
535: 2006/04/22(土)10:24 AAS
俺も入門Haskellが糞だったのでふつうのHaskellプログラミングに期待
536: 2006/04/22(土)11:14 AAS
勝手にナイトメアHaskellにも期待
537(5): 2006/04/22(土)16:41 AAS
haskellの悪夢か…
プログラム中で定数として色々な計算に使っていた値(重力定数とか)を、
「コマンドラインの引数で値を指定できるようにして」といわれた時とか。
main以下のほぼすべての関数に、その値を表す引数を追加する
(もしくはmonadを使ってその受け渡しをラップする)羽目に…
こういう時だけは破壊的なMLが羨ましくなる。
538(1): 2006/04/22(土)16:47 AAS
>>537
激しく同意。
パラメータつきモジュールみたいな言語要素が欲しい。
\(g :: Double) -> module Foo where ...
539: 2006/04/22(土)16:55 AAS
>>537→バグが増える
540: 2006/04/22(土)17:06 AAS
>>537
つ Implicit parameters
541: 2006/04/22(土)17:19 AAS
確かに他の言語ではあり得ないおぞましさがあるからな
542: 2006/04/22(土)17:54 AAS
実際 Haskell って「可変性」って観点からはどういう評価なん?
543(2): 2006/04/22(土)18:05 AAS
>>538
こういうのは?
data Foo = Foo {f1 :: ..., f2 :: ..., f3 :: ...}
ConstructFoo g = Foo f1 f2 f3
where
f1 = ...
f2 = ...
省1
544: 2006/04/22(土)18:24 AAS
>>543
それもちょっと考えたけど、いちいち型を定義するのが面倒だし、
対話環境から使いにくいような気がした。
でも見直してみたら
First-class Modules for Haskell
外部リンク[htm]:research.microsoft.com
もそんな感じで実装してあるな。
545: 2006/04/22(土)19:15 AAS
まあ最初から可変になることがわかっていたら色々手もあるだろうが、
後から可変にするのはやっかいだね。
546(1): 527 2006/04/22(土)21:49 AAS
>> 528, 529
マジですか。ちょっと勉強してみようかなとか思ってきた。
HaskellにLispのマクロみたいな機能ある?コレがないと暮らせないんだけども。
547: 2006/04/22(土)22:14 AAS
>>546
勉強したいというなら止めないが、>>528-529を真に受けるなよ。
>HaskellにLispのマクロみたいな機能ある?コレがないと暮らせないんだけども。
標準じゃないけど、template haskellってのがある。
548: 2006/04/23(日)07:16 AAS
>>543
538ではないが、もう少し詳しく教えてください
549: 2006/04/23(日)07:36 AAS
>>537 541, 545
Haskell への憧れが一気に冷めました
時代の最先端をいく言語だと思ってたんですが
550: 2006/04/23(日)08:44 AAS
Hugsって死滅しちゃうの???
551: 2006/04/23(日)09:23 AAS
ghciがあの遅さではhugsの代わりとしては使えない。
552: 2006/04/23(日)13:31 AAS
まあいろいろ考えると結局LISP最強なんだな
553: [&] 2006/04/23(日)18:56 AAS
>537 cleanなら getEnvironmentVariable で環境変数を使う手があります。
worldが関係ないので。
554(1): 2006/04/23(日)22:33 AAS
HaskellのIOが使いづらい理由の一つは、世界の状態に影響をあたえる動作と
そうでない動作を区別しないことじゃないだろうか、とふと思った。
getHomeDirectoryとかreadArrayなんかの読み出し動作は
相対的な実行順序を指定せずに使うことができるべきだよな。
555(1): 2006/04/23(日)23:25 AAS
>>554
読み出すだけの動作は、影響を与えないが、
「影響を受ける」から、やはり実行順序依存なのだが。
純関数的なものはモナドに入れずに、例えばdo構文の外で
let, where束縛すりゃいいし。
556: 2006/04/24(月)02:20 AAS
STとSTRefの使い方がやっと分かった。
こんな仕組み作るぐらいなら素直にimperative使えよ・・・。orz
557: 2006/04/24(月)08:11 AAS
>>555
いや、「世界に影響を与える」動作との相対的な実行順に依存するのは分かるんだが、
v[i] = v[i-1] + v[i+1];
みたいな操作でreadArray間の実行順を指定するのは馬鹿馬鹿しい。
厳密には違う話かも知れないけど、
home <- getHomeDirectory
h <- openFile (home++"/.foorc")
省4
558: 2006/04/24(月)08:14 AAS
おっと、openFileの第二引数を付け忘れた。まあ察してくれ。
559(1): 2006/04/24(月)14:29 AAS
Audrey Tangが性転換してたとは知らなかった
560: 2006/04/24(月)18:48 AAS
>>559
Runtime Typecasting ね
外部リンク[html]:pugs.blogs.com
561: 2006/04/24(月)22:03 AAS
入門Haskell結構売れてるみたいなのに、このスレが初心者質問で賑わわないのはなんでだろう。
562(1): 2006/04/24(月)22:19 AAS
読者が理解できてないから。
563: 2006/04/24(月)22:27 AAS
日経ソフトウェア読んだ人いる?
あのDQN雑誌にHaskellの記事が載ったそうだけど。
564: 2006/04/24(月)22:28 AAS
>>562は本物の馬鹿です。
565(1): 2006/04/25(火)00:22 AAS
生産性ねぇ.経験からいうと静的型付け?と変数への代入がないことが間接的に生産性をあげてるとは思う.
手続き型言語とかオブジェクト指向言語でプログラム書いてると,つねにプログラム全体を意識してないと
きちんとしたプログラムを書けないわけですよ.「この変数 hoge はこのループに入る前にこの関数でこういう処理を
されたから値は A か B か C のはず.だから今書きかけのこの行で foo という処理をしても問題ない.」てな感じ.
最近集中力が落ちてきてるうえに日常的にプログラムを書くわけではない僕にはこれが辛い.
ちなみに先日 elisp でプログラム書いてて,型をあわせるのに随分気を使ったです.
でも Haskell だと
省6
566: 2006/04/25(火)00:27 AAS
ま,Haskell で書いたプログラムの行数は合計しても三桁行程度の素人の意見だから
参考にならんかしらんけど.
567(1): 2006/04/25(火)00:50 AAS
プログラムの正当性とか考え始めると、C みたいな言語は使いにくいよね。
一応 C で書くときはHoare論理を意識してるけど、かなりめんどい。
568: 2006/04/25(火)01:01 AAS
>>567
お前はHoare論理と書きたかっただけとちゃうんかと・・
569: 2006/04/25(火)02:54 AAS
得意げな顔して何が、Hoare論理を、だ。
お前は本当にHoare論理を意識してるのかと問いたい。問い詰めたい。小1時間問い詰めたい。
お前、Hoare論理って書きたいだけちゃうんかと。
570: 2006/04/25(火)10:57 AAS
ほ、ほーっ、ホアアーッ!! ホアーッ!!
571: 2006/04/25(火)13:36 AAS
声優オタは詩ね
572: 2006/04/25(火)15:43 AAS
>>565
>頭は使うかもしれないけど神経は使わなくてよい.
>頭を使うと後で生かせるけども神経を使っても疲れるだけ.
なるほどね。でも現状CやJavaがこれだけ使われてる時代において、
神経を使うことを嫌うっていうのは、もうプログラマとしての適性を
亡くしてしまったともいえるな。
もしかしてプログラマの適性を亡くしてしまった人、もしくは最初からない人が
省1
573(1): 2006/04/25(火)16:04 AAS
とりあえず紳士的にHaskellお勉強中だけどこのスレ読んでてつまらん。
もっとコードベースのお話してよ。
574: 2006/04/25(火)16:25 AAS
>>573
同意。
しかし、ネタがない。
575: 2006/04/25(火)16:36 AAS
くだすれHaskellなんてどうでしょう?
576: 2006/04/25(火)16:46 AAS
ここだと何か問題でもあるのか?
577: 2006/04/25(火)16:50 AAS
回答者のレベルが低い。口先だけ
578: 2006/04/25(火)16:51 AAS
それは新しくすれ建てて解決する問題じゃないと思うが。
579: 2006/04/25(火)17:13 AAS
では ナイトメア言語Haskell Part1 で
580(2): 2006/04/25(火)18:04 AAS
数理論理学勉強してない人が、このタイプの言語使ってみたところで、言語の目的とかが見えないんじゃないかな・・と思う。
言語仕様を覚えるだけなら誰でもできるけど、本質的なことは本当に理解している人しか見えてこないよね。
581: 2006/04/25(火)18:05 AAS
はいはい雑談雑談
582: 2006/04/25(火)18:06 AAS
雑談以外に何をしろと?
583: 2006/04/25(火)18:07 AAS
ここでHaskellプログラミング演習の講義でもしてほしいのか?
584(1): 2006/04/25(火)18:19 AAS
俺にとって役に立つなら言語の目的なんぞどうでもいい。
585(1): 2006/04/25(火)18:34 AAS
>>584
それを知らなければ有効に活用できないから言ってんじゃん。
586: 2006/04/25(火)18:34 AAS
はいはい雑談雑談
587: 2006/04/25(火)18:47 AAS
雑談以外に何をしろと?
588: 2006/04/25(火)18:47 AAS
>>585
「有効」って言葉をどういう意味で使ってるか分からんが、
他の言語と比べて(そいつにとって)役に立つならHaskellを使う動機として十分であって、
必ずしもHaskellの能力を最大限活用する必要はないだろ。
589: 2006/04/25(火)18:47 AAS
>>580
ほら、こういう口だけ理屈屋しかいないから、具体的なコードの質問ができないんだよ。
590: 2006/04/25(火)18:48 AAS
ラムダ計算の質問なら答えてやるよ。
591(1): 2006/04/25(火)18:49 AAS
このスレでは言語仕様は理解しているものとして話を進めてOKだよね。
Haskellを触ろうと思っているような人なら素人じゃないだろうし。
592: 2006/04/25(火)18:50 AAS
具体的なコードの質問は>>580以外の住人が答えるから大丈夫です。たぶん。
593: 2006/04/25(火)18:52 AAS
だいたい、これからプログラミングを始めよう、がいるんだとしたら、「どうしてHaskellを選んだの?」って聞きたくなるよ・・
594: 2006/04/25(火)18:53 AAS
>>591
議論はそれでいいんじゃね?
言語仕様を把握していない初心者は発言するな、って意味だったら賛成できんが。
595(3): 2006/04/25(火)18:57 AAS
Haskellはまだまだ素人には使いにくい言語だし、環境も十分に整備されているとは考えられない。
世の中でもっとも力のあるパラダイムであるオブジェクト指向やらアスペクト指向やら、また様々な開発手法との連携という点では
はっきり言ってまだ何も確立されていない。
このような状況の言語を一般的なプログラマ・ど素人プログラマが理解できるわけがない。
596(1): 2006/04/25(火)19:05 AAS
>>595は結局「俺は素人にあらず」と言いたいだけなんでしょ
597: 2006/04/25(火)19:06 AAS
>>596
そんなことは一言も言っていない。論理的思考が苦手なのか?
ただ自分の体験談を語っているだけだ。
598(1): 2006/04/25(火)19:16 AAS
これからHaskellに乗り換えてみようかなと考えている人は、今使っている言語を提示してみるといいよ。
そしてその言語ではこういうことができるんだけどHaskellではどれくらい簡単にできるのか聞けばいいんじゃないかな。
まったくプログラミングしたことがない人は比較対象がないからHaskellがいいのか悪いのか判断するのが難しいと思う。取り敢えず他の言語を使ってから話に参加するといいんじゃない?
599: 2006/04/25(火)19:39 AAS
>>595
>Haskellはまだまだ素人には使いにくい言語だし
>(...)
>このような状況の言語を一般的なプログラマ・ど素人プログラマが理解できるわけがない。
前提と結論が同じ訳だが。
600(2): 2006/04/25(火)19:43 AAS
使いにくいと理解しにくいは別ですよ?
601: 2006/04/25(火)19:43 AAS
HaskellでSQLサーバと通信するコードはどんな感じになるのか見てみたい。
602: 2006/04/25(火)19:44 AAS
>>600
確かに。しかし、
>Haskellはまだまだ素人には使いにくい言語だし
これには全く同意できんな。
少なくとも議論の前提にすることじゃない。
603(1): 2006/04/25(火)19:55 AAS
>>598
これからHaskellに乗り換えてみようかと考えています。
今使っている言語はCiCです。
CiCではimpredicativeな型を使って、sort済みlist型のような洗練型を
定義できるのですが、Haskellではどれくらい簡単にできますか?
604: 2006/04/25(火)19:58 AAS
>>600
>>595の「理解」というのは、利用する価値があるという理解のことね。
605: 2006/04/25(火)21:51 AAS
haskellは凄いことができるのは保証できるが、
まだ、実用として使えるレベルにないのと
便利さ的にも発展段階な感じがする。
606: 2006/04/25(火)22:04 AAS
まず、どうやって周りの開発環境と並存していくか、というのが一つの問題だよね。
607(1): 2006/04/25(火)22:21 AAS
入門者です。
再帰処理を学ぶには最適な言語な気がしますが、
実用がまるで思い浮かびません。
皆さんは何に使ってるのですか?
ぼくは普通のテキスト処理ならperl、guiならjavaを普段使ってます。
趣味でpythonも好きですが、
Haskellだと言語自体を学んだら
省3
608(1): 2006/04/25(火)22:38 AAS
>>607
言語を覚えたいだけなら別に何も文句は言わないけど、何のための言語かというのはちゃんと理解しておいたほうがいいよ。
あと、Haskellはマイナー言語の一つなので、確かに知っていることは悪くないことなんだけど、誰もそれを評価してくれないよ。
面接で「Haskellを覚えています」と言ったところで、せいぜい「ふーん・・・」と返されるだけだからね。
再起処理がしたいならあなたが覚えている言語で十分できるから、別にHaskellでなくてもいいんじゃないかな?
609(1): 2006/04/25(火)22:45 AAS
>>608
>603にも回答お願いします。
610: 2006/04/25(火)22:51 AAS
>>609
わかりません
611: 2006/04/25(火)22:57 AAS
CiCってなに
612: 2006/04/25(火)23:09 AAS
Combat Information Center
613(1): 2006/04/26(水)16:41 AAS
>変数への代入がない
変数がなくて、なんで動くの?
使う人がたとえば5番を選んだとき、それは、どこに入力されるの?
614: 2006/04/26(水)17:03 AAS
計算モデルとして代入がないというだけであって、計算機の中で代入が行われないという意味ではないよ。
上下前次1-新書関写板覧索設栞歴
あと 387 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.020s