YoshikuniJujo on Nostr: setterの型は set :: s -> a -> s のように考えてたけど、 setFst :: (a, c) ...
setterの型は
set :: s -> a -> s
のように考えてたけど、
setFst :: (a, c) -> b -> (b, c)
みたいなsetterも考えられるので、
set :: foo a -> b -> foo b
みたいな感じになるのかもしれない。
class Setable s t where
type X t
set :: s -> X t -> t
みたいな感じかもしれない。
set :: s -> a -> s
のように考えてたけど、
setFst :: (a, c) -> b -> (b, c)
みたいなsetterも考えられるので、
set :: foo a -> b -> foo b
みたいな感じになるのかもしれない。
class Setable s t where
type X t
set :: s -> X t -> t
みたいな感じかもしれない。