Sourceval declare :
descriptor:descriptor ->
name:string ->
pp:(Format.formatter -> 'a -> unit) ->
init:(unit -> 'a) ->
clause_compilation_is_over:('a -> 'a) ->
?goal_compilation_begins:('a -> 'a) ->
compilation_is_over:('a -> 'a option) ->
execution_is_over:('a -> 'a option) ->
unit ->
'a component Sourceval end_clause_compilation : t -> t Sourceval begin_goal_compilation : t -> t