From haskell-jp=return@quickml.com Wed Dec 29 02:00:12 2004 Received: from kankan.nagaokaut.ac.jp (kankan.nagaokaut.ac.jp [133.44.2.24]) by blade.nagaokaut.ac.jp (8.12.3/8.12.3/Debian-6.6) with ESMTP id iBSH0C5v004592; Wed, 29 Dec 2004 02:00:12 +0900 Received: from funfun.nagaokaut.ac.jp (funfun.nagaokaut.ac.jp [133.44.2.201]) by kankan.nagaokaut.ac.jp (Postfix) with ESMTP id 30E8E58D3; Wed, 29 Dec 2004 02:00:17 +0900 (JST) Received: from localhost (localhost.nagaokaut.ac.jp [127.0.0.1]) by funfun.nagaokaut.ac.jp (Postfix) with ESMTP id BF063F0489F; Wed, 29 Dec 2004 02:00:17 +0900 (JST) Received: from voscc.nagaokaut.ac.jp (voscc.nagaokaut.ac.jp [133.44.1.100]) by funfun.nagaokaut.ac.jp (Postfix) with ESMTP id 0DDA2F0488C; Wed, 29 Dec 2004 02:00:16 +0900 (JST) Received: from master.quickml.com (219-106-226-205.cust.bit-drive.ne.jp [219.106.226.205]) by voscc.nagaokaut.ac.jp (Postfix) with ESMTP id 29B63630070; Wed, 29 Dec 2004 02:00:11 +0900 (JST) Received: from master.quickml.com (localhost [127.0.0.1]) by master.quickml.com (Postfix) with ESMTP id 0BE141F30C2; Wed, 29 Dec 2004 01:59:51 +0900 (JST) Received: from master.quickml.com (localhost [127.0.0.1]) by localhost (QuickML) with ESMTP; Wed, 29 Dec 2004 01:59:50 +0900 Received: from takoyaki1.osk.3web.ne.jp (takoyaki1.osk.3web.ne.jp [202.210.150.11]) by master.quickml.com (Postfix) with ESMTP id C89531F30C2 for ; Wed, 29 Dec 2004 01:59:50 +0900 (JST) Received: from x22 (h219-110-201-043.catv02.itscom.jp [219.110.201.43]) by takoyaki1.osk.3web.ne.jp (Postfix) with SMTP id 8F57FD537E; Wed, 29 Dec 2004 02:00:03 +0900 (JST) Message-Id: <20041229020002.kamail.dXNpdHVrYWk=@osk.3web.ne.jp> Date: Wed, 29 Dec 2004 02:00:00 +0900 From: IMAI Takeo To: haskell-jp@quickml.com X-Mailer: KaMail-0.0.2.5[03/01/25] on xyzzy-0.2.2.233 (windows-2000) Cc: IMAI Takeo X-Yzzy-Version: 0.2.2.233 In-Reply-To: <20041227.122716.41627217.nobsun@sampou.org> References: <20041225211616.kamail.dXNpdHVrYWk=@osk.3web.ne.jp> <20041227.122716.41627217.nobsun@sampou.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-2022-JP Subject: [haskell-jp:522] Re: =?iso-2022-jp?B?GyRCMHo/dCRAJDFFTyQ5Jks8MBsoQg==?= Reply-To: haskell-jp@quickml.com X-Mail-Count: 522 Precedence: bulk X-ML-Address: haskell-jp@quickml.com X-ML-Name: haskell-jp X-ML-Info: http://QuickML.com/ X-QuickML: true X-Virus-Scanned: by AMaViS snapshot-20020531 たけをです。花谷さん、山下さん、ありがとうございました。 なるほど、自分は2引数関数の合成だと思って混乱していたのですが、 (カリー化された)1引数関数の合成だと思って、順を追って考えれば 非常に明快な話なんですね。 それじゃあ、(.)の定義なんてものすごく簡単じゃないか、と思って Prelude.hsを覗いてみたら、本当に簡素な定義なんですね。いやはや。 # わざわざ書き出す必要もないかもしれませんが、一応…↓ (.) :: (b -> c) -> (a -> b) -> (a -> c) (f . g) x = f (g x) カリー化の威力ですね。 あと、 2004年12月27日(月)[12:27:16] に ”[haskell-jp:521] Re: 引数だけ渡すλ式 ” で Nobuo Yamashita さんは書いたのであった。 > えっと、用語なんですが、Haskellではリスト(List)と配列(Array)とは区別して > おかないと話が混乱しますよ。ここでは、たけさんが「配列」とおっしゃっている > のは「リスト」あるいは「リストのリスト」ですね。 (中略) > elem というPrelude 関数があるのでそれを使いましょう。 この辺も了解です。 > hugs が、ちょっと「おばかさん」ということかしらん。ghci でやると、 > > Prelude> :t > \ s e -> s e /= [] :: forall t a. > (Eq [a]) => > (t -> [a]) -> t -> Bool hugs (の:tコマンド) だと Eq a => ... となるのに、それとも違いますね。 「リストがEqのインスタンス」⇔「要素がEqのインスタンス」という ことなんでしょうか。でないと、双方で意味が変わっちゃいますよね。 --- IMAI Takeo -- ML: haskell-jp@quickml.com 使い方: http://QuickML.com/