[過去ログ] 関数型プログラミング言語Haskell Part4 (1001レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
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でインデントなんて意識しないよ
シンプルそうに見えて割と変な記号多いのは嫌だな、いつか治るのかな?
712: 2006/05/03(水)22:58 AAS
他人のソースを読まない人?
713: 2006/05/03(水)23:02 AAS
lispを型付き言語に改造するラッパってありますか?
714: 2006/05/03(水)23:07 AAS
Common Lisp なら最初から型あるじゃん...
715
(2): 2006/05/03(水)23:34 AAS
Monadクラス(>>=, return)のシグネチャには合うけど、Monad則を満たさないサンプルってどんなものがありますか?
716
(1): 2006/05/03(水)23:44 AAS
>>715
いくらでもあると思うが。自明な例は、
data Id a = Id a
instance Monad Id where
 return = undefined
 (>>=) = undefined

もうちょっとまともな例は、ListT IO。
省1
717
(1): 2006/05/03(水)23:47 AAS
>>711
変な記号を駆使してやたらと簡潔なコードを書けるのがHaskellの良いところの一つだと思うので、なくなると困る。
718: 2006/05/04(木)00:05 AAS
>>716
おお、ありがとうございます。リンク先の方、じっくり読んでみます。
719: 2006/05/04(木)00:23 AAS
>>717
それってどこの Perl ?
720: 2006/05/04(木)00:47 AAS
ネタなのかマジなのか…
721
(1): 2006/05/04(木)20:59 AAS
「数値リスト内の全ての要素が同じ数字」ってどう書きますか?
722: 2006/05/04(木)23:31 AAS
isSameNumber :: (Num a) => [a] -> Bool
isSameNumber (x:xs) = all (==x) xs
723: 2006/05/05(金)00:54 AAS
リストが空の場合は?
724: 721 2006/05/05(金)01:57 AAS
そう言えばリストが空の場合「同じ」で良いのだろうか…
何はともあれ参考にします。
725: 2006/05/05(金)02:47 AAS
>>715に関連して
Monad則を絶対に満たしてるという証明はどうやってするの?
726
(1): 2006/05/05(金)11:22 AAS
普通に式変形するんじゃだめなのか?

例えば、
return = Just
Just x >>= f = f x
Nothing >>= f = Nothing
と定義されているとき、 x >>= return = xを証明する。

x >>= return
省8
727
(1): 2006/05/05(金)20:54 AAS
今月にまたHaskellの書籍が出ると聞いて待ち望んでおります。
詳しく。
728: 2006/05/06(土)00:38 AAS
>>726
> = case x of -- パターンマッチの性質から
> Just r -> x
> Nothing -> x

これが思いつかなかった。
729
(1): 2006/05/06(土)00:41 AAS
>>727
こういう内容らしい。
外部リンク[html]:i.loveruby.net
730
(2): 2006/05/06(土)00:52 AAS
ちょっと質問いいでしょうか。
Haskellで作ったバイナリは、ライセンスはどうなるでしょうか。
731: 2006/05/06(土)01:08 AAS
>>730

それは処理系のライセンスによるでしょ。
732: 2006/05/06(土)02:34 AAS
>>729
楽しみ。
1-
あと 269 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.021s