@ has joined the channel
-- barbies class FunctorB (b :: (k -> Type) -> Type) where bmap :: (forall a . f a -> g a) -> b f -> b g -- 自作 class FunctorB b where bmap :: (Functor f, Functor g) => (forall a. f a -> g a) -> b f -> b g
data Foo = Foo [(Bar, Buzz)]
data Foo f = Foo (f [f (f Bar, f Buzz)])
data Foo f = Foo (f [(bar, Buzz)])
Designing production applications in statically typed functional languages such as Haskellhttps://www.manning.com/books/functional-design-and-architecture?utm_source=facebook&utm_medium=organic&utm_campaign=book_granin_functional_7_22_21
data
の定義(完全に互換性があるものではない模様)を与えると、相当するJavaのクラスやvisitorパターンで処理するクラスを生成するコマンド