HaskellのGeneralizedNewtypeDerivingメカニズムは素晴らしいです。それを見ていない人のために、GeneralizedNewtypeDerivingインスタンスの1つまたは2つのメソッドをカスタマイズする方法はありますか?
newtype SkewOptT α = SkewOptT (StateT Bool α)
deriving (Applicative, Functor, Monad, MonadTrans)
のようなものを書くことは、自動的に
instance [overlap ok] Monad => Monad (SkewOptT)
、のようなインスタンスを生成しますが、私の型クラスの1のために、私はいくつかのメソッドをカスタマイズしたいです。これらのメソッドに対してGeneralizedNewtypeDerivingの機能を無効にするか、無効にする方法はありますか? typeclassは、for
(ループ)、parfor
(並列ループ)、fcndef
(新しい関数を追加する)などのいくつかの基本的なDSL命令をエンコードします。そして、それを複数のタイプメスに分割する完全な方法はありません。自動的に1つを派生させ、もう1つは手作業で書く。
[その文字](http://www.fileformat.info/info/unicode/char/d52a/index.htm)とは何ですか? – ehird
@ehirdはFraktur 'm'のように見え、私にとってはアルファです。 –
ああ、ありがとう。何か(飛行機関連、私が疑う)は、私がそれを探したときに間違っていたに違いない。 – ehird