123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121(* open this to extend all Foo with BatFoo and BatFoo.Exceptionless if available *)include(Batteries:moduletypeofBatterieswithmoduleArray:=Batteries.ArrayandmoduleHashtbl:=Batteries.HashtblandmoduleList:=Batteries.ListandmoduleMap:=Batteries.MapandmoduleQueue:=Batteries.QueueandmoduleStack:=Batteries.StackandmoduleString:=Batteries.StringandmoduleEnum:=Batteries.EnumandmoduleLazyList:=Batteries.LazyListandmoduleSeq:=Batteries.SeqandmoduleSplay:=Batteries.Splay)moduleArray=structinclude(BatArray:moduletypeofBatArraywithmoduleLabels:=BatArray.LabelsandmoduleCap:=BatArray.Cap)includeBatArray.ExceptionlessmoduleLabels=structincludeBatArray.LabelsincludeBatArray.Labels.LExceptionlessendmoduleCap=structinclude BatArray.CapincludeBatArray.Cap.ExceptionlessendendmoduleHashtbl=structincludeBatHashtblincludeBatHashtbl.Exceptionless(* TODO *)endmoduleList=structinclude(BatList:moduletypeofBatListwithmoduleLabels:=BatList.Labels)includeBatList.ExceptionlessmoduleLabels=structincludeBatList.LabelsincludeBatList.Labels.LExceptionlessendendmoduleMap=structinclude (BatMap:moduletypeofBatMapwithmodulePMap:=BatMap.PMap)includeExceptionlessmodulePMap=structincludeBatMap.PMapincludeBatMap.PMap.Exceptionlessend(* TODO *)endmoduleQueue=structincludeBatQueueincludeBatQueue.Exceptionlessend(* module Set = BatSet (* TODO *) *)moduleStack=structincludeBatStackincludeBatStack.ExceptionlessendmoduleString=structinclude(BatString:moduletypeofBatString(* with module Cap := BatString.Cap *))includeBatString.Exceptionless(* module Cap = struct *)(* include BatString.Cap *)(* include BatString.Cap.Exceptionless *)(* end *)end(* Extlib modules not replacing stdlib *)moduleEnum=structinclude(BatEnum:moduletypeofBatteries.EnumwithmoduleLabels:=Batteries.Enum.Labels)includeBatEnum.ExceptionlessmoduleLabels=structincludeBatEnum.LabelsincludeBatEnum.Labels.LExceptionlessendendmoduleLazyList=structinclude(BatLazyList:moduletypeofBatteries.LazyListwithmoduleLabels:=Batteries.LazyList.Labels)includeBatLazyList.ExceptionlessmoduleLabels=structincludeBatLazyList.LabelsincludeBatLazyList.Labels.Exceptionlessendend(* Batteries specific modules *)module Seq=structincludeBatSeqincludeBatSeq.ExceptionlessendmoduleSplay=structinclude(BatSplay :moduletypeofBatSplaywithmoduleMap:=BatSplay.Map)moduleMap(Ord:BatInterfaces.OrderedType)=structincludeBatSplay.Map(Ord)includeExceptionlessendend