-
@ YoshikuniJujo
2025-03-05 02:38:48newtype Foo = Foo (Ptr Foo) みたいな書き方あるけど、本当はあんまり良くないんだと思う。 data FooTag newtype Foo = Foo (Ptr FooTag) みたいにしたほうがいいように思う。 1つ目の書きかたの問題は、たとえば newtype Foo = Foo (Ptr Foo) deriving Storable みたいにするとはっきりする。 たぶんFoo (Ptr Foo)の場合のPtr Fooには何か外で定義されたFooの内容へのポインターになっていてほしいわけだけど、Ptr Fooには「外で定義されたFooの内容へのポインターのポインター」になってしまう。