[過去ログ] 関数型プログラミング言語Haskell Part4 (1001レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
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
計算モデルとして代入がないというだけであって、計算機の中で代入が行われないという意味ではないよ。
615: 2006/04/26(水)17:14 AAS
>>613
代入はなくても初期化はある、という落ちだと思っとけばおk
616: 2006/04/26(水)17:23 AAS
再代入が存在しないというのが正しいのかな
617(1): 2006/04/26(水)17:24 AAS
ところで、CiCってなんだったの?
618(1): 2006/04/26(水)18:20 AAS
>>617
つ外部リンク:www.google.co.jp
619: 2006/04/26(水)18:29 AAS
Common instance andCommunicationS
一言で言うと、
全ての可能な関数の挙動があらかじめ抽出されていて、
その組み合わせでプログラミングを行う
オブジェクト志向と関数型言語の合いの子
だったらいいな
620: 2006/04/26(水)18:34 AAS
>>618
出てこないんだけど。
621: 2006/04/26(水)18:59 AAS
Calculus of Inductive Contructionsでいいのか?
定理証明器とかそっちの話か。
622: 2006/04/26(水)18:59 AAS
>Contructions
Constructionsね、失礼。
623: 2006/04/26(水)19:07 AAS
一度代入されたら固定されて定数になるのか。
なんとなくわかった。
624: 2006/04/26(水)19:25 AAS
lambda cube上だとHaskell(System Fのsubset)が手前側左上、
CiC(CCのsuberset)が奥側右上だな。
625: 2006/04/26(水)19:36 AAS
よくわからんが、つよそうだということは分かった。
626: 2006/04/26(水)22:52 AAS
haskellerは細かい所を異常に気にするし、
そうあるべきだから、
代入がないと断言するのが正しいと思う。
627: 2006/04/27(木)11:30 AAS
GHC 6.4.2 のWindowsバイナリがようやっと出たので
喜び勇んでインストールしたんだが、lib/ が無くて、
HS*.o やら libHS*.a やら gcc.exe やら perl.exe やらが
ベースディレクトリ直下にずらずらと並んでおる。
どういう構成変更があったんだ。
628: 2006/04/27(木)14:37 AAS
Unix版と同じになったんじゃない?
linuxでビルドすると .../ghc-6.4.2 以下に hslibs-imports/ icons/ imports/ include/ ができるよ。
629(2): 2006/04/27(木)21:08 AAS
入門 Haskell を呼んでいるんですけど State モナドが判らなくて・・・
get ってどこから中身を持ってきているんですか?
しかしこの本簡単なところばかり詳細に説明して難しいところは説明も例も無いって・・・
630: 2006/04/27(木)21:22 AAS
>>629
Stateモナドの動作は、外部から「状態」を受け取って、それに応じて変更された「状態」を返す。
getは、外部から受け取った「状態」を、そのまま結果にする動作。
get :: State s s
get = State (\s -> (s, s))
つまり、現在の状態がsの時、get後の状態もsで、getの結果もs。
>しかしこの本簡単なところばかり詳細に説明して難しいところは説明も例も無いって・・・
省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
上下前次1-新書関写板覧索設栞歴
あと 309 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.022s