タグ付けされた質問 「newtype」


1
Haskell-自動モナドインスタンス
Monadクラスの一部になる独自のデータ型を作成しようとしていますが、 newtype Container a = Container a deriving Monad 私にこのエラーを与えます: * Can't make a derived instance of `Monad Container' (even with cunning GeneralizedNewtypeDeriving): cannot eta-reduce the representation type enough * In the newtype declaration for `Container' | 30 | newtype Container a = Container a deriving Monad 他のクラス(たとえば、表示)では正常に機能しますが、モナドでは機能しません。コンテナをモナドクラスにインスタンス化するようにghciを説得するにはどうすればよいですか? ありがとう

2
newtypeのMArrayインスタンスの再利用
私はこのようなダースをたくさん持っています: newtype MyBool = MyBool Bool newtype MyInt = MyInt Int 既存のインスタンスを再利用したい: instance MArray IOUArray Int IO where ... instance MArray (STUArray s) Int (ST s) where ... これらのインスタンスを実装し、すべての定型コードを取得することは、私が最後に望んでいることです。 私が達成しようとしていることに非常に近いものを見つけました: {-# LANGUAGE GeneralizedNewtypeDeriving, StandaloneDeriving #-} deriving instance MArray IOUArray MyInt IO deriving instance MArray (STUArray s) MyInt (ST s) しかし、それは失敗します: …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.