File ‹zippy_state_mixin_base.ML›
signature ZIPPY_STATE_MIXIN_BASE =
sig
structure MS : \<^eval>‹sfx_ParaT_nargs "IMONAD_STATE_BASE"›
include \<^eval>‹sfx_ParaT_nargs "MORPH_BASE"›
where type (@{ParaT_args} 'a) M.t = (unit, @{ParaT_arg 0}, @{ParaT_arg 0}, 'a) MS.t
end
functor Zippy_State_Mixin_Base(
MS : \<^eval>‹sfx_ParaT_nargs "IMONAD_STATE_BASE"›
) : ZIPPY_STATE_MIXIN_BASE
=
struct
structure MS = MS
structure MB = \<^eval>‹sfx_ParaT_nargs "Morph_Base"›(open MS
type (@{ParaT_args} 'a) t = (unit, @{ParaT_arg 0}, @{ParaT_arg 0}, 'a) MS.t)
open MB
end