このGHCiセッションの2行目に注意してください。 Latitudeタイプの場合、コンストラクタを呼び出さずに、値として「裸の」数値を使用できるのはどうですか?自分のタイプのものと似たようなことをしたいと思います。newtypesに「裸の」番号を割り当てる
λ> :m + Data.Geo.GPX.Type.Latitude
λ> let t = 45 :: Latitude
λ> t
45.0
私はLatitudeタイプのソースコードを調べましたが、最初に問題を見つけました。最終的に私は答えを見つけたので、ここでそれを文書化すると思った。下の私の答えを見てください。
正確には、 'Seconds'はそれを動作させ、' Num'クラスであるという事実です。それが「Num」クラスのメンバーになったかどうかは関係ありません。 – augustss
インスタンスが派生するのではなく明示的に提供されていれば、これも機能します。あなたが必要とするのは 'instance Num'だけです。 –
augustssとDanielありがとうございました。私は答えを更新しました。 – mhwombat