haskell-ja > Archives > 2011/06/01

2011/06/01 02:14:34 UTCcutsea110
#
typeclassopediaを再読始めたんだけど
#
((->) e)のFunctorのインスタンスは以下でOK?
#
instance Functor ((->) e) where
  fmap f g = f . g
#
*Devel> fmap (*3) (+3) 3 => 18
2011/06/01 02:17:40 UTCkazu
#
OK です。
2011/06/01 02:22:30 UTCcutsea110
#
サンクス。ここでorphan instanceなわーにんぐが出るんですが、回避策あります?
2011/06/01 02:23:08 UTCkazu
#
orphan instance の警告は無視するのみです。
2011/06/01 02:23:29 UTCcutsea110
#
なるほど
2011/06/01 02:24:05 UTCkazu
#
これは、instance が class かあるいは data を定義したファイルの中になければ出る警告です。
#
後から、instance を追加する場合は、そんなの無理。
#
RWH で、open world に生きているぞ、といっているのに矛盾する警告です。
#
たしか、この警告を出さなくする GHC オプションが
2011/06/01 02:25:11 UTCcutsea110
#
2011/06/01 02:25:23 UTCkazu
#
あるので、僕はそれを指定します。
2011/06/01 02:25:51 UTCshelarcy@twitter
#
参考: http://d.hatena.ne.jp/maoe/20100902/1283358286
2011/06/01 02:27:18 UTCcutsea110
#
((->) e)をPointedのインスタンスにする場合のpure = constでOK?
#
class Functor f => Pointed f where
  pure :: a -> f a

instance Pointed ((->) e) where
  pure = const
2011/06/01 02:29:19 UTCshelarcy@twitter
#
-fno-warn-orphans ですね。 http://www.kotha.net/ghcguide_ja/7.0.3/options-sanity.html > 警告を出さなくする GHC オプション
#
あっ、リンク先間違えました。こっちです。 http://www.kotha.net/ghcguide_ja/7.0.3/separate-compilation.html#orphan-modules
2011/06/01 02:57:47 UTCcutsea110
#
*Devel> (fmap (+2) . pure) 3 undefined
5
*Devel> (pure . (+2)) 3 undefined
5
#
undefinedがe型の値に当たる
2011/06/01 10:05:06 UTCcutsea110
#
StringからTextへの移行ってなんかすげぇ面倒くさいんだけどこんなもの?