[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 11:45 / Filesize : 259 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [04/02/10 22:16]
Haskellの公式HP
www.haskell.org/
日本語サイト
www.sampou.org/cgi-bin/haskell.cgi
www.teu.ac.jp/kougi/koshida/Prog6/index.html

過去ログ、関連スレは>>2-5

477 名前:474 mailto:sage [皇紀2665/04/01(金) 10:58:40 ]
結局 Amazon で注文しました。

www.hatena.ne.jp/1087912125
ここに載っててありそうなところには電話かけましたが
店頭に在庫はないみたいでした。Amazon がない時代は
みんなどうしていたんだろう…。大学生協で取り寄せかな。

478 名前:デフォルトの名無しさん mailto:sage [皇紀2665/04/01(金) 18:28:57 ]
>>474
神田行けばいくらでもあるだろ。
デカイ本屋で在庫あるか訊いてみろ。

479 名前:474 mailto:sage [皇紀2665/04/01(金) 19:57:19 ]
>>478
私には >>477 以外に出てくる本屋以外にデカイ本屋は知りません。
おすすめのコンピュータの洋書をあつかっている店の名前が分かる
なら教えてください。

480 名前:デフォルトの名無しさん mailto:sage [int 2ch =05/04/01(金) 20:48:22 ]
>>479
www.book-kanda.or.jp/town/map/map.htm
www.book-kanda.or.jp/town/newbook/index.htm


481 名前:474 mailto:sage [int 2ch =05/04/01(金) 21:56:48 ]
明日、神田を周ってこようと思います。
ありがとうございました。


482 名前:デフォルトの名無しさん mailto:sage [int 2ch =05/04/02(土) 12:12:07 ]
>>474
君見て自分も思い出したように買ったよ
まあ回っても見つからないと思うよ

483 名前:474 mailto:sage [2005/04/03(日) 11:46:47 ]
昨日行ってきました。
水道橋駅を降りて、神保町駅まで歩きその周辺の本屋を巡りました。
コンピュータの洋書を扱っているのが、三省堂の本店しか見つける
ことができませんでした。在庫はあらず。

いくらでもあるとのことなのですが、探しかたが悪いのか、
>>482 さんの言う通りなのか不明です。

Amazon から Haskell: The Craft of Functional Programming
は届いたので読みすすめてます。結構面白いです。

484 名前:デフォルトの名無しさん mailto:sage [2005/04/04(月) 04:15:17 ]
>>483
> コンピュータの洋書を扱っているのが、三省堂の本店しか見つける
> ことができませんでした。

え、マジ? それは探し方が悪いのでは。


485 名前:474 mailto:sage [2005/04/06(水) 17:39:21 ]
そうですよね。もっと探検してみます。



486 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 12:56:04 ]
オレも他にはゆうりんどう(字わからん)くらいしか思いつかない。いいとこあるなら教えてcray。

487 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 14:51:05 ]
洋書なんて読むなよこの非国民が

488 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 15:41:08 ]
英語も読めないの?国辱。

489 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 20:21:03 ]
洋書 = 英語書かよ、この拝米主義者め

490 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 20:31:05 ]
英語=拝米の方がよっぽど(ry

491 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 20:48:29 ]
Haskell: The Craft of Functional Programming は英語だろ?
国辱どもが。

492 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 20:57:10 ]
当たり前のことを言うな一知半解野郎

493 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 21:30:11 ]
これがゆとり教育の弊害か。確かに国辱。

494 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 22:14:10 ]
>>487-493
レベルの低い話は止めろ

495 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 22:34:40 ]
科学とかに関しては日本なんてどうでもいい罠。




496 名前:デフォルトの名無しさん mailto:sage [2005/04/09(土) 09:19:13 ]
Haskellの勉強してると類(kind)という言葉が出てくる。
手持ちの関数型言語の参考書では見かけないので、類を扱うのは比較的
珍しいことなのかと思うのだけれど、どう?
なんでHaskellには類が必要なの?

497 名前:デフォルトの名無しさん mailto:sage [2005/04/09(土) 13:07:49 ]
Haskellだと、普通の多相型([]とかMaybeとか)に加えて
「型構築子から型構築子への写像」(StateTとか)のようなものを定義できるから、
単に「無引数の型構築子」だとか「1引数の型構築子」とかいうだけじゃ不十分だからだと思う。

まあ、似たような機能のあるC++では「類」なんて聞いたこともないんだけど。
関数型言語についてはよく知らんので誰かフォローよろしく。

498 名前:デフォルトの名無しさん [2005/04/09(土) 13:52:32 ]
WinXPで動くHaskellのコンパイラってある?

499 名前:デフォルトの名無しさん mailto:sage [2005/04/09(土) 13:59:36 ]
>>498
え?GHCがwindowsで動くでしょ???

500 名前:デフォルトの名無しさん mailto:sage [2005/04/09(土) 14:23:03 ]
           ∩ノ
          / つ
         / /  / ̄ ̄ ̄ ̄
      ∧ ∧/   < 500ゲットぉぉぉぉ!
     ⊂(゚Д゚ ) 彡   \
        ⊂彡       ̄ ̄ ̄ ̄
   ____●●●___ バイーン
 / 〇 〇 \|/  /|
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄|

501 名前:デフォルトの名無しさん [2005/04/09(土) 17:40:30 ]
498ではないが、
WINXP sp2 で GHC のインストーラはエラーで落ちました。
hugs98 は簡単にインストールできました。

502 名前:デフォルトの名無しさん [2005/04/10(日) 11:03:22 ]
言語仕様を見るとHaskellの方がはるかに機能的に見えるのだけど、実用面を見るとHaskellはボロボロ。
結局、開発するならOCamlに軍配があがるんだよね。

503 名前:デフォルトの名無しさん mailto:sage [2005/04/10(日) 11:31:38 ]
だから品質には期待するなとあれほど(ry

504 名前:デフォルトの名無しさん mailto:sage [2005/04/10(日) 13:23:42 ]
だからghcにバグはないとあれほど(ry

505 名前:デフォルトの名無しさん mailto:sage [2005/04/11(月) 11:57:34 ]
>>497
Haskellよく知らんけど、合ってるんじゃん?
C++のテンプレートは展開してからチェックするので、いらないんでしょ。たぶん。



506 名前:デフォルトの名無しさん mailto:sage [2005/04/11(月) 12:08:44 ]
>>463
>たぶんlazyな言語に対して割り込みのformal semanticsを与えた人はいないと思う。
>もの凄く難しい

Haskellよく知らんので何か勘違いしてるかもしれんが、

research.microsoft.com/Users/simonpj/Papers/papers.html

のA semantics for imprecise exceptionsの5.1節とか
Imprecise Exceptions, Co-Inductivelyは違うの?


507 名前:デフォルトの名無しさん mailto:sage [2005/04/11(月) 20:32:57 ]
Haskellで正規表現は標準でサポートされているのですか?

508 名前:デフォルトの名無しさん mailto:sage [2005/04/11(月) 20:44:09 ]
>>507
www.google.co.jp/search?hl=ja&q=Haskell+regex&lr=

509 名前:デフォルトの名無しさん mailto:sage [2005/04/15(金) 17:30:13 ]
>>501
3月21日位にインストーラーが変わっている様なのですが、それでインストールしても
駄目ですか?
当方はXP SP2でインストールできています。


510 名前:デフォルトの名無しさん [2005/04/15(金) 19:37:33 ]
つーかインストーラーぐらいちゃんと作れませんか?

511 名前:501 mailto:sage [2005/04/16(土) 12:07:17 ]
>>509
最新版でインストールもできましたし、ちゃんと動きました。
ありがとうございます。


512 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 22:00:14 ]
imprecise exception 云々よりどっちかというと Asynchronous exceptions in Haskell の方が該当する希ガス。

513 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 22:05:22 ]
この言語扱うのに数学の知識必須みたいだな。初めて使ったが…

514 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 22:19:40 ]
そうなの?どの辺でそう感じた?

515 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 22:33:46 ]
>>514
いや、大したことじゃないんだけど、集合論とか。



516 名前:デフォルトの名無しさん [2005/04/18(月) 01:09:42 ]
文系お断り言語

517 名前:デフォルトの名無しさん mailto:sage [2005/04/18(月) 11:59:50 ]
Text.Regex は入力を不必要に最後まで読んでくれたりして微妙に嬉しくないんだよなあ。

518 名前:デフォルトの名無しさん [2005/04/18(月) 23:56:27 ]
で、この言語なんて読むんだ?
はすくぇる?

519 名前:デフォルトの名無しさん mailto:sage [2005/04/18(月) 23:57:21 ]
ハスケルカリー

520 名前:デフォルトの名無しさん mailto:sageチラシの裏にでも書いています [2005/04/20(水) 23:24:41 ]
GHCのコンパイルがなかなか終わらない。

ひょっとして、マシンパワーがかなり必要なの?
普段使っているのはおんぼろラップトップなんだよね。

521 名前:デフォルトの名無しさん mailto:sage [2005/04/20(水) 23:45:27 ]
>>520
こちとら、PowerBookG4(867MHz,RAM640MB)で
2ステージ+testsuite が6〜8時間。

522 名前:520 mailto:sage [2005/04/21(木) 08:32:54 ]
朝起きたら無事終わってた
GHCは普通のコンパイラとは内部構造がかなり違うようですな。

523 名前:デフォルトの名無しさん [2005/04/22(金) 20:52:35 ]
某スレでハスケルでGUIは辛いと言われてしまいました。
誰か反論の文句をおねがいします。

524 名前:デフォルトの名無しさん mailto:sage [2005/04/22(金) 20:54:26 ]
だからあれほどHaskellは実用アプリケーション作成向きでは無いと(小一時間

525 名前:デフォルトの名無しさん mailto:sage [2005/04/22(金) 21:08:24 ]
だからあれほどghcは完璧だと(ry



526 名前:デフォルトの名無しさん mailto:sage [2005/04/23(土) 05:07:16 ]
情処の記事を読んで触ってみた。


527 名前:デフォルトの名無しさん mailto:sage [2005/04/23(土) 13:52:46 ]
今月からFPの連載だね。

528 名前:デフォルトの名無しさん mailto:sage [2005/04/23(土) 23:02:55 ]
FP ってなんですか?

529 名前:デフォルトの名無しさん mailto:sage [2005/04/24(日) 00:06:54 ]
一時期流行った自分視点のゲームだろ

530 名前:デフォルトの名無しさん mailto:sageネタをネタと(ry [2005/04/24(日) 13:13:48 ]
そりゃFPSだ。

動的計画法のことだろ?

531 名前:デフォルトの名無しさん mailto:sage [2005/04/24(日) 18:54:43 ]
Functional Programmingのことかと思った。

532 名前:デフォルトの名無しさん mailto:sage [2005/04/24(日) 21:37:20 ]
> 動的計画法のことだろ?
それはDP(dynamic programming)

533 名前:デフォルトの名無しさん mailto:sage [2005/04/24(日) 23:26:26 ]
わかりにくいネタでごめん

534 名前:デフォルトの名無しさん mailto:sage [2005/04/25(月) 20:31:20 ]
まじでどこで連載してるのか教えてくれ

535 名前:デフォルトの名無しさん mailto:sage [2005/04/25(月) 20:56:53 ]
情報処理学会誌ですね。
久しぶりにビニールを開けてみました。
相変わらず読むところが少ない…。



536 名前:デフォルトの名無しさん mailto:sage [2005/04/27(水) 11:28:18 ]
辛ければヨーグルトを使う

537 名前:デフォルトの名無しさん [2005/04/29(金) 15:38:56 ]
GHCがpanicっていってコンパイル止まったよ。
間違ったソースの中には対応しきれないものがあるようだ。

538 名前:デフォルトの名無しさん mailto:sage [2005/04/29(金) 16:42:43 ]
>>537
嘘はいけない。ghcにバグはない。

539 名前:デフォルトの名無しさん mailto:sage [2005/04/29(金) 16:49:25 ]
ghc のバグじゃなくてコンパイルするソース側の

540 名前:デフォルトの名無しさん [2005/04/29(金) 16:57:37 ]
>嘘はいけない。ghcにバグはない。

なんか凄い事聞いた気がする。
ほんと?

541 名前:デフォルトの名無しさん mailto:sage [2005/04/29(金) 18:00:14 ]
ほんとにそうならghcのwebにバグレポートのリンクがあったりしないべ。


542 名前:デフォルトの名無しさん mailto:sage [2005/04/29(金) 18:49:30 ]
Financial Planner

543 名前:537 [2005/04/29(金) 21:25:14 ]
ほんとだよ。GHC cannot process input file. please report this to us とか出たもの。
もちろんソースは正しくないやつなんだが、それでもコンパイラが適切なエラーメッセージを
出せずに止まったことは事実。

544 名前:デフォルトの名無しさん mailto:sage [2005/04/29(金) 22:13:13 ]
ああ、拡張機能や新機能を使うと稀に起こるよ、panic。
ちゃんと報告してあげて下さい。

545 名前:デフォルトの名無しさん mailto:sage [2005/04/30(土) 18:45:06 ]
例のHaskell連載って公開してるんだね
www.ipsj.or.jp/07editj/promenade/



546 名前:デフォルトの名無しさん [2005/04/30(土) 19:44:34 ]
ハスケル!ハスケル!

547 名前:デフォルトの名無しさん mailto:sage [2005/04/30(土) 21:27:04 ]
    _  ∩
  ( ゚∀゚)彡
  (  ⊂彡
   |   | 
   し ⌒J

548 名前:デフォルトの名無しさん [2005/05/01(日) 20:14:08 ]
LISP Macro みたいなことできますか?
-- dotimes :: n -> (n -> IO()) -> IO()
dotimes n f = __dotimes 0
where __dotimes i | i >= n = return ()
| otherwise = do (f i)
__dotimes (i + 1)
-- dotimes 10 ( \x -> putStr (show x))
こんなもの?

549 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 23:02:28 ]
遅延評価だし、アクションが第一級の対象だから、
全ての関数がマクロであるようなものじゃないか?

550 名前:549 mailto:sage [2005/05/01(日) 23:05:09 ]
なんかピントの外れたことを言ったな。
誰かフォローよろしく。

551 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 23:19:07 ]
dotimes' n f = sequence_ [ f n' | n' <- [0..n-1] ]
main = dotimes' 10 (putStr.show)


552 名前:無理です。 mailto:sage [2005/05/01(日) 23:20:58 ]
例えばhaskellのif

if p then c else a
は、

case p of
 True -> c
 False -> a

の構文糖衣とみなせる。逆でもよい。
マクロの代わりになるかどうかは、自分のifをcaseで定義できるかどうかを
考えてみればわかる。

myif

mycase

さあどうぞ。


553 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 23:29:12 ]
myif :: Bool -> a -> a -> a
myif p c a = case p of True -> c; False -> a

でいいんじゃないのか?

554 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 23:37:45 ]
>>553
thenとかelseはどこいった?

555 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 23:43:22 ]
シンタックスを定義できなてもマクロと言えると思うが。



556 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 23:49:16 ]
↑それで消費者が納得すると思ってんのか?

557 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 23:52:37 ]
>>555
関数マクロと言うべきか。


>>548の回答としては、

Q.LISP Macro みたいなことできますか?
A.できません。


558 名前:デフォルトの名無しさん mailto:sage [2005/05/02(月) 00:05:54 ]
haskellでは
a `lambda` (a + 1)
の様な表現ができないのが本質的っぽいね。

559 名前:デフォルトの名無しさん mailto:sage [2005/05/02(月) 00:11:04 ]
つまり、遅延であろうがなかろうが、LISPのようなマクロを書けるかどうかは
引数評価を自分でコントロールできるかどうかにある。
少なくともLISPのマクロ内に出てくるシンボルみたく、引数の一部を
評価せずにキーワードそのものとして扱うみたいな仕組みがないと。

560 名前:デフォルトの名無しさん mailto:sage [2005/05/02(月) 00:25:50 ]
「遅延評価」の意味で「評価」と言うと意味が違うと思う。
引数の評価をコントロールするだけならhaskellでもできる。
「解釈」と言えばいいのかな?

561 名前:デフォルトの名無しさん mailto:sage [2005/05/02(月) 00:39:06 ]
LISPのマクロはdefineを含むコードを生成できるけど、Haskellではそのような真似はできないはず。


562 名前:デフォルトの名無しさん mailto:sage [2005/05/02(月) 13:13:17 ]
HaXmlで下のinputからoutputのような出力を得たいんですがどのようにすれば
良いでしょうか?

---input---
<function name='deleteBy' type='(a -> a -> Bool) -> a -> [a] -> [a]'>
<description>
similar to <f>delete</f>, but it allows the programmers to supply
their own equality test
</description>

---output---
["deleteBy", "similar to delete, but it allows the programmers to supply
their own equality test"]


<description>の中の<f>の処理がうまく行かず下のような結果になってしまい
ます。<description>の中のテキスト部分だけを抜き出したいです。別リスト
にしないで1つの文字列として。

["deleteBy", "similar to ", "delete", ", but it allows the programmers to supply
their own equality test"]


563 名前:562 mailto:sage [2005/05/02(月) 13:22:01 ]
コードとサンプルデータを載せます。

import System.IO
import System.Environment
import Text.XML.HaXml
import Text.XML.HaXml.Pretty (content)

main :: IO ()
main =
do ~[arg] <- getArgs
h <- openFile arg ReadMode
str <- hGetContents h
case xmlParse "list.xml" str of
(Document _ _ (Elem _ _ contents))
-> mapM_ print $ map getCont contents

getCont = map content . contFilter

contFilter :: CFilter
contFilter = f `o` (tag "function")

f = cat [ ("name"?) , multi txt `o` (keep /> tag "description") ]


564 名前:562 mailto:sage [2005/05/02(月) 13:22:59 ]
<module name="List">

<function name='deleteBy' type='(a -> a -> Bool) -> a -> [a] -> [a]'>
<description>
similar to <f>delete</f>, but it allows the programmers to supply their own equality test
</description>
<example>
<in>deleteBy (\x y -> y `mod` x == 0) 4 [6,8,10,12]</in>
<out>[6,10,12]</out>
</example>
</function>

</module>


565 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 14:30:17 ]
今月の文章は先月の和田先生のよりわかりにくいなあ。
例題をどう解くかの説明が全くなくて、説明もHaskellの説明にはなってるけど
例題のプログラムの説明としてはかなり端折られてるのが原因かな。






566 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 22:34:11 ]
バイナリファイルを弄りたいんですけど
Haskellでビット演算の関数とか演算子とか
あれば教えてください。

567 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 23:38:07 ]
:browse Bits

568 名前:デフォルトの名無しさん mailto:sage [2005/05/18(水) 22:14:20 ]
>>567
ありがとうっす

569 名前:デフォルトの名無しさん [2005/05/20(金) 23:02:42 ]
モナドって全然わかない

570 名前:デフォルトの名無しさん mailto:sage [2005/05/20(金) 23:16:00 ]
↑日本語もわかない人

571 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 01:33:08 ]
最近自分は悟った。

モノイドとか圏論とかの背景思想を無視して
使う立場だけからいうと
モナドは数珠繋ぎ強制ギプスみたいなものだと。

(IO Char)とか(IO Int)とかの型は
CharやIntの値がくるまれたカプセルみたいなもんだ。
ちなみにIO ()の()はCでいうvoid型
return xx とやると普通の値もIOモナドで包むことができる。

572 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 01:33:49 ]
ただしIOモナドは一度くるんだら中身を取り出す方法がない。
IO型の関数を普通の関数と組み合わせても型違いで
コンパイルエラーになる。
(IO ()ももちろん型違いでエラー)

そこでモナドの中身の値を
橋渡しするアダプタ(>>=)を使う。

結局>>=や>>で(IO xxx)型の関数同士やreturn xxで
数珠繋ぎにするしかないように強制される。

573 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 01:42:17 ]
そいつは面倒だあ

574 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 01:43:08 ]
IOモナドってGPLみたいだなとか思った。

575 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 01:48:49 ]
数珠つなぎのしくみや値を包みこむ性質を利用して
他にもいろいろなモナドがあるし自分でも作れる(かもしれない)

Stateモナドは数珠繋ぎを利用して
IOモナドみたいな状態遷移を自分で作れる。

Maybeモナドは値を包むほうが主眼のモナド
実際の値の代わりにNothingというダミーを
突っ込んでおくことができる。
データベースのNULL値みたいに使える。



576 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 01:57:53 ]
モナドと聞くと王監督の顔が思い浮かぶのは何故?

577 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 02:24:06 ]
>>571
>CharやIntの値がくるまれたカプセルみたいなもんだ。
俺にはこの表現がなじまない。
カプセルってのは中身が取り出せてこそのものだよな。
だから、「CharやIntにに関係する何か」くらいの認識しかできない。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<259KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef