123456789101112131415161718192021222324252627282930313233343536373839404142434445(* Serialization for agent types *)(* Implement State.t and Env.t serialization methods *)moduleState=Obj_map.Make(Petanque.Agent.State)moduleEnv=Obj_map.Make(Petanque.Agent.Env)(* The typical protocol dance *)moduleStdlib=structmoduleResult=structincludeStdlib.Resulttype('a,'e)t=[%import:('a,'e)Stdlib.Result.t][@@derivingyojson]endend(* What a mess result stuff is, we need this in case result is installed, as
then the types below will be referenced as plain result ... *)moduleResult=Stdlib.ResultmoduleError=structtypet=[%import:Petanque.Agent.Error.t][@@derivingyojson]endmoduleRun_result=structtype'at=[%import:'aPetanque.Agent.Run_result.t][@@derivingyojson]endmoduleR=structtype'at=[%import:'aPetanque.Agent.R.t][@@derivingyojson]endmoduleGoals=structtypet=stringLsp.JCoq.Goals.reified_ppoption[@@derivingyojson]endmoduleLang=structmoduleRange=structtypet=Lsp.JLang.Range.t[@@derivingyojson]endendmodulePremise=structtypet=[%import:Petanque.Agent.Premise.t][@@derivingyojson]end