haskell-ja > Archives > 2009/11/02

2009/11/02 06:10:44 UTCkazu
#
RWH の勉強会で、const は K コンビネータだと言われて、「はっ!」としたのですが、ひょっとして S コンビネータにも名前がついてますか?
2009/11/02 06:39:44 UTCmasahiro_sakai@twitter
#
pure :: a->b->a, (<*>) :: (a->b->c)->(a->b)->(a->c)
2009/11/02 09:38:41 UTCnobsun
#
((->) a) がApplicativeクラスのインスタンスなので,この場合メソッド<*>の型は
<*> :: ((->) a (b -> c) -> ((->) a b) -> ((->) a c)
すなわち
<*> :: (a -> (b -> c)) -> (a -> b) -> (a -> c)
というわけで,これが S コンビネータ
2009/11/02 09:47:26 UTCnobsun
#
あと、Monad のインスタンスである(Reader r)に対応する(>>=)が CS
#
かも。
#
Cコンビネータはflip
2009/11/02 10:59:16 UTC[1..100]>>=pen
#
Sコンビネータを starling というのはものまね鳥から?
2009/11/02 11:53:24 UTCnobsun
#
コンビネータに鳥の名前をあてたのはスマリヤン。To Mock a Mockingbird
#
http://www.angelfire.com/tx4/cus/combinator/birds.html