I am trying to get my head around PPX_deriving.
I (seem) to understand that when I adorn a type foo
with a deriving attribute (e.g. show
and eq
)
I will get
foo_show: foo -> string
and
foo_eq: foo -> foo -> bool
But what I really would like to have is something like this
module type Foo = sig
type t
end [@@deriving show, eq]
which then expands into
module type Foo = sig
type t
val show: t -> string
val eq: t -> t -> bool
end
Is this possible?