[過去ログ] 関数型プログラミング言語Haskell Part4 (1001レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
631: 2006/04/27(木)21:52 AAS
日経ソフトウェアのHaskellの記事で初めてHaskellの解説を
(立ち)読みしましたが、かなり分かりやすかったです。
高階関数とか遅延評価とか無限列を扱えるとか凄かったです。
632: 2006/04/27(木)21:57 AAS
>>629
do構文を見たら>>=、returnに置き換えてみるべし
633: 2006/04/28(金)00:26 AAS
Stateモナドの場合は更にrunStateを適用してlet inに置き換えて考えると動作が解る。
runState (m0 >>= f1 >>= f2 >>= ... >>= fi) s0
let (v1, s1) = runState m0 s0
(v2, s2) = runState (f1 v1) s1
(v3, s3) = runState (f2 v2) s2
...
in runState (fi vi) si
省2
634: 2006/04/28(金)03:31 AAS
遅延評価って問題先送り機構でしょ?
日本の政治家が好みそう
635(1): 2006/04/28(金)03:33 AAS
外部リンク[html]:haskell.org
GHC6.4.2でたぞ〜
以上。今だhaskell一行もプログラミングしていない 入門Haskellを飾っているおいらがお伝えしました。
636: 2006/04/28(金)07:33 AAS
>>635
>>519
637: 2006/04/28(金)10:50 AAS
AA省
638(2): 2006/04/28(金)19:33 AAS
【ラッキーコアラ】にだまされてコピペしたやつは、みんな不幸になるらしいよ。
639: 2006/04/28(金)20:18 AAS
【ラッキーコアラ】にだまされてコピペした奴が、
>>638 みたいに言われて、
「あー、俺は、不幸になるんだ。」
と、思い込んだおかげで、
些細な事にも感謝するようになって、
幸せになったらしいよ。
640: 2006/04/28(金)20:40 AAS
>>638
俺はお前なんかにだまされないよ
641(1): 2006/04/28(金)20:57 AAS
これが由緒正しきhaskellerの会話か!
642: 2006/04/28(金)21:02 AAS
↑何言ってんの、こいつ
643: 2006/04/28(金)21:04 AAS
AA省
644: 2006/04/28(金)21:31 AAS
【ラッキーコアラ】にだまされてコピペしたら、母親が死にました。最悪です。
みなさんだまされないでください。
645: 2006/04/28(金)21:34 AAS
HSPスレのがまだ高度な話題を扱ってるな
646: [age] 2006/04/28(金)22:10 AAS
おまえら本当にHaskellが好きならもっとドキュメント書け!
もっとライブラリ書け!
もっとアプリ書け!
…と自分を煽ってみるてすと
647(1): 2006/04/28(金)22:18 AAS
結城タソはもうやってないのだろうか・・・
648: 2006/04/29(土)01:15 AAS
>>647 結城タソってhyuki.comのひとのこと?
だったら青木さんの原稿チェックMLに参加してたみたいだから、まだ興味は持ってると思う。
649: 2006/04/29(土)01:41 AAS
今のHaskellは、GPL等に抵触せずにポータブルな(すなわち、
非標準的な外部ライブラリを別途インストールしなくても動く)
バイナリを作れるのか?
そうでなければ、オープンソース外の世界には到底広まらんだろう。
650: 2006/04/29(土)01:50 AAS
2chでスタンダードなんとかライブラリ作って、
日々あの実装はいただけないとか、この方が高速だとかジェダイ会議して
ライブラリ広めれば?
651: 2006/04/29(土)04:14 AAS
それだ! おまいならできる!
652(1): 2006/04/29(土)04:56 AAS
オードリーとか言う人がhaskel学んで一年くらいでperlを動かせるようにしたそうだよ。
おまえらも、これから学んで一年後くらいにruby動かせるようにしたら?
653: 2006/04/29(土)05:54 AAS
動機が不純だといいものはできない
654(2): 2006/04/29(土)07:50 AAS
haskell で haskell 書くのって簡単?
655: 2006/04/29(土)08:24 AAS
HaskellからCへの変換はHaskellで書かれている。
656(3): [age] 2006/04/29(土)09:24 AAS
>>654
John Meachamは5年くらいかけてほぼ一人でHaskellコンパイラ(jhc)を書いた。
今のjhcのソースは35000行ほど。
657: 2006/04/29(土)10:04 AAS
>>656
1日平均20行ほど。
658(1): 2006/04/29(土)10:10 AAS
>>654
難しい
659: 2006/04/29(土)10:13 AAS
プログラム・プロムナード/Haskellプログラミング
外部リンク:www.ipsj.or.jp
660: 2006/04/29(土)12:02 AAS
>>656
年間7000行しか書かなかったのか
661: 2006/04/29(土)16:42 AAS
>>652
つ RType
外部リンク[cgi]:mono.kmc.gr.jp
662: 2006/04/30(日)00:26 AAS
RTypeってどのくらいのレベルの人が参加できるの?
663: 2006/04/30(日)07:04 AAS
>>656>>658
Haskell って最先端とか言っておきながら
自分自身を記述するのも大変なのか…?
664: 2006/04/30(日)11:28 AAS
ていうかそもそも GHC が Haskell で書かれている件についてはみんな無視ですか。
665: [age] 2006/04/30(日)11:41 AAS
そもそもHaskellコンパイラを書くのが難しいような。
666(1): 2006/04/30(日)12:20 AAS
自己記述するってなんか論理的に利点でもあるの?
667(1): 2006/04/30(日)12:51 AAS
Perl6が本家より先にHaskellで作られたのって凄いよね。
Haskellってそんなに処理系を記述するのに向いてるの?
668: 2006/04/30(日)12:57 AAS
>>666
遊びに決まってんじゃん ばーか
669(1): 2006/04/30(日)12:58 AAS
>>667
インタプリタを書いた場合のメモリ使用量・実行速度の問題を別にすれば、
処理系を書くのにものすごく適した言語だと思う。
670(1): 2006/04/30(日)13:07 AAS
あれ、そういえばghciって中間コードのインタプリタだっけ?
結構速いような。
671(1): 2006/04/30(日)13:19 AAS
>>670
いいえ
672(1): 2006/04/30(日)13:39 AAS
>>671
どっちの文の否定ですか?
673: 2006/04/30(日)14:13 AAS
>>672
そっちのです
674: 2006/04/30(日)14:30 AAS
>>669
> インタプリタを書いた場合のメモリ使用量・実行速度の問題を別にすれば、
> 処理系を書くのにものすごく適した言語だと思う。
>>179 みたいなチュートリアルがあるくらいだしね。
675(1): 2006/04/30(日)20:16 AAS
ちょっと、キョン!当然あたしたちのCD予約したわよね?
――えっ、まだしてないの?あんた、SOS団の一員としての自覚あるの?
――何、「曲のほうは?」って?それなら心配いらないわ!
なんったって、団長のあたしが保証するんだから間違いないわ!
一度聴いたら、ぜ〜〜ったい踊りたくなるんだから!
涼宮ハルヒの憂鬱ED「ハレ晴レユカイ」5月10日発売!
絶対買いなさい!!
676(2): 2006/04/30(日)22:07 AAS
SOS団にはPlotkinとかKahnとかMilnerがいるのでしょうか?
私もぜひ入りたいです。
677: 2006/04/30(日)23:39 AAS
HGLを試してみたが、Windows+GHCでは固まってまともに動かん。
Hugsでは動いた。
以上、チラシの裏
678: 2006/04/30(日)23:40 AAS
>>676
KahnはNS団にいます。
679: 2006/05/01(月)07:49 AAS
六歳の誕生日から、何故か毎日20行ずつコンパイラを書き始めた僕の数奇な生涯。
『Haskell Boy』
映画化決定
680(2): 2006/05/01(月)08:42 AAS
以下のソースだとエラーになるのは何故ですか?
main = putStrLn hoge
hoge = 2
681(1): 2006/05/01(月)08:51 AAS
>>680
putStrLnは引数としてStringを取る。
一方hogeは数値なので、型が合わない。
682(1): 2006/05/01(月)09:28 AAS
>>680
main = putStrLn $ show hoge で。
あるいは単純に
main = print hoge
683: 2006/05/01(月)10:39 AAS
>>681-682
おおーできた!
ありがとうございました。
684(2): 2006/05/01(月)10:57 AAS
二分探索を書こうとしたのだが、どうも上手くできない。
--リストの中央インデックスを求める
middle :: [a] -> Int
middle [] = -1
middle x = (ceiling half) - 1
where half = fromIntegral (length x) / fromIntegral 2
--リストの中央値を返す
省10
685(2): 2006/05/01(月)11:13 AAS
>>684
bsearchの最後の等式で、再帰的に呼ばれたbsearchが-1を返したときにまずいことになる。
これを防ぐには、結果が-1かどうかを明示的にテストすればいい。
bsearch k [] = -1
bsearch k x
| median x > k = bsearch k (take (middle x) x)
| median x == k = middle x
省7
686: 2006/05/01(月)11:15 AAS
よくわからんのだけど、Haskelの場合、数学の証明とかのように定義を延々と書いていってつじつまが合うと、そのとおりに動作すると考えればよろしいのでしょうか?
687: 685 2006/05/01(月)11:18 AAS
>ceiling (fromIntegral (length x) / fromIntegral 2) は div (length x) 2と書ける。
嘘でした。
div (length x + 1) 2
が正解。
688: 2006/05/01(月)11:20 AAS
>>685
おお。素早い回答ありがとう。
689(3): 2006/05/01(月)12:46 AAS
Haskellでパーサでも書こうかと思ってるんですけど
どのくらい簡単に書けるものなんですかね?
四則演算程度の簡単なパーサのサンプルとかありませんか?
690: 2006/05/01(月)13:38 AAS
>>689
つ外部リンク[html]:www.cs.uu.nl
691: 2006/05/01(月)16:07 AAS
>>689
つ 外部リンク[html]:www.lab2.kuis.kyoto-u.ac.jp
692: 2006/05/01(月)21:43 AAS
>>689
このあたりとか
外部リンク:d.hatena.ne.jp
外部リンク:d.hatena.ne.jp
693: 2006/05/01(月)21:45 AAS
男には一生に一度、Haskellしないといけないときがある。
694(1): 2006/05/01(月)23:11 AAS
六歳の誕生日から、何故か毎日20行ずつコンパイラを書き始めた僕の数奇な生涯。
『Haskell Boy』
映画化決定
695: 2006/05/02(火)09:53 AAS
>>694
享年14歳
696: 2006/05/02(火)10:17 AAS
ネイティブアプリ作成できるよね?勿論
697: 2006/05/02(火)10:44 AAS
うん
698: 2006/05/02(火)11:52 AAS
こ
699: 2006/05/02(火)11:53 AAS
うする
700: 2006/05/02(火)18:50 AAS
つもりなのか?
701: 2006/05/02(火)18:51 AAS
Curry 喰うか?
702(1): 2006/05/02(火)20:01 AAS
Windowsで日本語が表示できるGUIライブラリってないですか?
でないとまともなアプリなんて作れません。
703: 2006/05/02(火)21:24 AAS
>>702
WxHaskell。
でも、たぶん、Shift_JISをバイトごとに分けてCharに入れないとちゃんと動かない。
704(2): 2006/05/02(火)23:58 AAS
ほんの数時間前にHaskellかじり始めました。んでちょっと質問です。
quicksort [] = []
で空リストは空リストでマッチさせるのに対して
quicksort (x:xs) = ...
と空ではないリストについての表記が`('と`)'で囲まれてるのが
ペアみたいでいまいち納得いかないんですが、これは何でですか?
書いててふと思ったけど結合強度の関係でx:xsをグルーピングしてるだけとかいう落ち?
705: 2006/05/03(水)00:15 AAS
>>704
そのとおり。
「宣言の左辺の時だけ結合度変えてよ」なんて無茶言ったらだめよ。
706: 704 2006/05/03(水)01:00 AAS
やはりそうでしたか。
普段はLISP使ってるので()[]{}を使い分けたりインデントを意識する習慣が
まったくないのですが、このあたりのつまらない約束事を乗り越えたら
新しい境地が広がっているといいなぁ。Haskell. OCamlとどっち勉強しようか
微妙に迷ったけど。
707: 2006/05/03(水)01:42 AAS
Lisp でインデントを意識しないって、マヂで言ってる?
708: 2006/05/03(水)01:46 AAS
Lispのインデントはただ単に見やすくするだけの意味しかないでしょ。
709: 2006/05/03(水)01:56 AAS
Python でもやっとけ
710: 2006/05/03(水)09:32 AAS
Haskell人気だな。
違う意味で使えそう。
2chスレ:tech
711(1): 2006/05/03(水)21:20 AAS
普通emacsまかせだからLispでインデントなんて意識しないよ
シンプルそうに見えて割と変な記号多いのは嫌だな、いつか治るのかな?
上下前次1-新書関写板覧索設栞歴
あと 290 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.015s