5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :デフォルトの名無しさん:2006/11/07(火) 21:24:26
haskell.org
http://www.haskell.org/

日本語サイト
http://www.sampou.org/cgi-bin/haskell.cgi
http://shidot.dyndns.org/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/

関連スレは>>2
関連書籍は>>3

・2chの仕様により、行頭の半角スペースは表示されません。
 コードをインデントしたいときは、代わりに または全角スペースを使うことができます。

336 :デフォルトの名無しさん:2006/12/20(水) 01:55:04
テンプレにあると思うが。

337 :334:2006/12/20(水) 02:01:53
>335
ごめん。言語解説書ではなくて、背景の理論のほう。
とりあえず俺の勉強したなけなしの記号論理学が
どこをどう通ったらHaskellになるのか見てみたい。

338 :デフォルトの名無しさん:2006/12/20(水) 02:06:18
>>337
まず、歴史的にはMLの方が先だから、MLから入ってみたら?

339 :デフォルトの名無しさん:2006/12/20(水) 05:01:09
>>337
PierceのTAPLでも嫁
それが理解できなければどうせその先も理解できない

340 :デフォルトの名無しさん:2006/12/20(水) 06:22:58
HASKELLってほんとに綺麗だよね。
いつかみんながHASKELLを使う世の中がきたらいいな。

341 :デフォルトの名無しさん:2006/12/20(水) 07:31:12
ひとつお聞きしたいのですが、
Haskellerで元Lisperの方ってどれくらいいるんでしょうか?

元Lisperの方でHaskellに移ってきた方は、Haskellのどのあたりに惹かれました?

342 :デフォルトの名無しさん:2006/12/20(水) 08:04:58
LISPはスーパーな人が沢山いて、敵う気がしなかった。
Haskellはまだ大半が素人みたいなので鞍替えした。

343 :デフォルトの名無しさん:2006/12/20(水) 11:15:15
>>341
Haskellを知っている人ならほぼ確実にLispも知ってるよ。

344 :デフォルトの名無しさん:2006/12/20(水) 11:25:49
俺 Lisp は知ってるけど Lisper じゃないな

345 :デフォルトの名無しさん:2006/12/20(水) 11:30:54
言語の違いでプログラマが変わるわけでもあるまい

346 :デフォルトの名無しさん:2006/12/20(水) 11:54:30
用途によっていくつかの言語使い分けるから、何々erではないな

347 :デフォルトの名無しさん:2006/12/20(水) 14:37:22
>>337
Haskel は全く知らんけど、その記号論理学とはあまり関係無いんじゃないか?

Lisper 以外の大半人たちは高階の理論を記述する際に階によって用語を使い分ける。
ので集合とか射とか群とか圏とかいろんな言葉が出てくるわけだけど、
やってることはλと(暗黙の)括弧が多いか少ないか程度の違いのような気がするので、
そう大上段に構えるほどの物じゃないような・・・

348 :デフォルトの名無しさん:2006/12/20(水) 14:40:39
あまたあるプログラミング言語の一つ

349 :デフォルトの名無しさん:2006/12/21(木) 00:41:18
>>341
9割が両刀
1割は悪い人にだまされて最初の言語がHaskellというケース

350 :デフォルトの名無しさん:2006/12/21(木) 01:14:50
Lispを最初にやってたほうがいいんかな?
Haskellだけでも十分おもしろいけど。

351 :デフォルトの名無しさん:2006/12/21(木) 01:17:52
>>349
C++からLispを経由せずにHaskellをやりだした者ですが、
私をだました悪い人はどこですか?

352 :デフォルトの名無しさん:2006/12/21(木) 01:41:26
Javaだけなんとかギリギリできるけど
Haskellも勉強してるよ

オブジェクト指向しか知らない世代なわけだけど
そこに固まらないうちに関数型も慣れときたいなぁと思って

353 :デフォルトの名無しさん:2006/12/21(木) 01:58:04
先輩が Lisper で、静的型と動的型の違いを勉強するために Haskell も合わせて
勉強するように言われました。

354 :デフォルトの名無しさん:2006/12/21(木) 01:59:43
>>350
関数型言語習い始めだと、副作用なしというプログラミングスタイルは辛いと思う。
まずは副作用ありの関数型言語で慣れておくと良いと思う。

355 :デフォルトの名無しさん:2006/12/21(木) 02:50:42
>関数型言語習い始めだと、副作用なしというプログラミングスタイルは辛いと思う。
議論することじゃないが、俺はそうは思わない、という意見だけ表明しておく。

356 :ド素人:2006/12/21(木) 02:53:37

盛り上がってるとこ悪いんだけどくだらない質問
精製されたexeファイルをGHC入れてない人に実行させるにはどうすりゃいいの?

main = print $ map square [2, 5, 3, 1, 10]
square n = n * n

たとえば↑みたいなプログラムをexeにしたって実行できないよね?
どういうのならできるんだ???


357 :デフォルトの名無しさん:2006/12/21(木) 02:54:35
Lisp出来る人から見てHaskellの優れてるとこってどこ?
逆にLispのほうが優れてると思うところは?

358 :デフォルトの名無しさん:2006/12/21(木) 06:27:28
>>356
問題なく実行できる。

exeファイルをダブルクリックしたけど一瞬だけコマンドプロンプトが開いてすぐに閉じたから実行できなかったと思ったんじゃないの?
それだったらgetCharでも付けて入力待ちさせりゃいい。
main = do { print $ map square [2, 5, 3, 1, 10]; getChar }
square n = n * n

359 :デフォルトの名無しさん:2006/12/22(金) 00:46:51
低レベルな質問2
main = do cs getContents
       putStr cs

exeファイルにしてコマンドプロンプトで下のように実行しようとしてもできない
ghc out.hs -o out
out 引数(文字列)

なんで?
ふつうのHaskellプログラミングには
実行するには Ctrl - Z + Enter って書いてるけど、これどういう意味?

360 :デフォルトの名無しさん:2006/12/22(金) 01:04:25
>>359
そのぷろぐらむだと引数は関係ない。
outを実行すると入力待ちになるから、適当な文字列を何行かタイプする。
入力を終了したくなったら、まず、カーソルが行頭にある状態で
Ctrlとzを同時押しして(^Zという表示が現れるはず)、
つぎにEnterキーを押せば良い。

361 :デフォルトの名無しさん:2006/12/22(金) 08:44:55
>>357 どっちもイイね。
Haskell の優れてるところ: 型システムによる安心感、純粋関数型なところ
Lisp の優れてるところ: マルチパラダイムなところ、あんま理屈とか考えずに言語を気軽にカスタマイズできるところ

362 :デフォルトの名無しさん:2006/12/25(月) 11:44:14
>>357
使い方次第

363 :デフォルトの名無しさん:2006/12/25(月) 18:05:58
>>362
日本語でおk

364 :デフォルトの名無しさん:2006/12/25(月) 20:14:12
>>361
Haskellの優れているところ:遅延評価、モナド

365 :デフォルトの名無しさん:2006/12/25(月) 22:18:13
Haskellの劣っているところ:遅延評価、モナド

366 :デフォルトの名無しさん:2006/12/25(月) 23:05:14
遅延評価は言語の進化過程で最新の部類だぞ・・

367 :デフォルトの名無しさん:2006/12/25(月) 23:19:58
モナド(というかdo記法)大好き。
優れているかは別として、Haskellでいちばん好きな機能かも。

368 :デフォルトの名無しさん:2006/12/25(月) 23:59:33
なにが遅延評価だ
ここはもうビチョビチョじゃねーか

369 :デフォルトの名無しさん:2006/12/26(火) 00:21:36
>>367
doは>>=を使うよりも見栄え良く書けるが、
代入型言語の特徴を残す記法なので、
不満に思う人も多いと思う。

370 :デフォルトの名無しさん:2006/12/26(火) 00:54:35
>>369
似たような意見をwebで時々見掛けるが、よく理解できない。
命令的プログラミングをしたいとき、それに適した構文を
使えるのだから、単純に良いことのように思える。
それとも、命令的プログラミングをサポートしない言語の方が
良いという考えなんだろうか。

371 :デフォルトの名無しさん:2006/12/26(火) 01:29:44
>>370
「関数」で統一された世界を作れば、何か良いことがあるに違いない
(古風な言い方である自動プログラミング、とか、構造の視覚化がしやすくなる、とか、etc..)
と思う人が多いからじゃないかな?


372 :デフォルトの名無しさん:2006/12/26(火) 01:31:33
>>352
http://hp.vector.co.jp/authors/VA000092/jokes/strup.html

373 :デフォルトの名無しさん:2006/12/26(火) 02:48:41
自分はどするよりコンビネータでモナモナする方がいいな。


374 :デフォルトの名無しさん:2006/12/26(火) 14:22:41
どするって流行らせたいの?w

375 :デフォルトの名無しさん:2006/12/26(火) 22:44:22
>>=は横に長くなっちゃうのがいまいちだけど、見た目がかっこいいからついつい使ってしまう

376 :デフォルトの名無しさん:2006/12/27(水) 00:03:09
do {
a <- hoge;
hoge2 a;
hoge3 a
}



hoge >>=
\a ->
hoge2 a >>
hoge3 a

どっちがみやすいですか?

377 :352:2006/12/27(水) 01:44:38
>>372
この記事おもしろいねw

真実だとしても、結局のところ今はPCの性能の上昇とか
言語自体の進化によってオブジェクト指向は機能的で合理的な言語になってるよね?

たしかに、
「あるプロジェクトのコードを再利用した話なんて聞いたことない」とか、
「正しく継承させるためには設計だけでCの3倍もの時間かかる」とか、
超笑えるねw

当たり前に思ってきた(教えられてきた)コトって、
そのまま信じちゃうからこういう記事読むとオラ、ワクワクしてきたぞ


378 :デフォルトの名無しさん:2006/12/27(水) 02:04:04
Haskellだと10倍の時間をかけて10分の1の行数ですみます。

379 :デフォルトの名無しさん:2006/12/27(水) 02:05:25
数十万行のsoftware開発してきた身からすると
あの内容はあながち冗談に思えなくて泣けてきた。
彼がinterviewであんなこと言うはずは無いだろうけどさ

380 :デフォルトの名無しさん:2006/12/27(水) 02:32:15
>>378
チャッチャと書けるようになったらダイブ頭よくなってるかな?

381 :デフォルトの名無しさん:2006/12/27(水) 03:01:21
何を創ったかによるだろ

382 :デフォルトの名無しさん:2006/12/27(水) 03:12:31
だよなー
もっとHaskeりたいんだけど、やさしく教えてくれるかわいいコいないかな

383 :デフォルトの名無しさん:2006/12/27(水) 03:14:55
ギャルにHaskellは引かれるだけ
禁句だ。

384 :デフォルトの名無しさん:2006/12/27(水) 22:11:40
アホか
Haskellを教えてくれるギャルを探すんだよ

385 :デフォルトの名無しさん:2006/12/27(水) 22:47:06
                 ∩
                 | |
                 | |
        ∧_∧   | |  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       ( ´Д`)//  < ⊥が返ると思います!
      /       /    \        
     / /|    /        ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  __| | .|    |
  \   ̄ ̄ ̄ ̄ ̄ ̄ ̄\
  ||\             \
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
     .||              || 

112 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)