System.RepositoryThe systems repository.
Maintains the mapping between system names and system definitions.
The primus-systems plugin is populating this repository with the systems found in the predefined search paths. See bap --primus-systems-help for more information.
It is also possible to add new systems manually. The system that is guaranteed to be in the repository is the bap:legacy-main system that denotes the system that is composed of the components added via the Machine.add_component function.
val add : system -> unitadd system registers the system in the repository.
The function fails if a system with the same name is already registered.
val get : ?package:string -> string -> systemget ?package string is the system designated by the specified name.
The function fails if there is no such system is in the repository.
update ?package name ~f calls f on the system desingated by the name.
The function fails if there is no such system is in the repository.
val find : Bap_knowledge.Knowledge.Name.t -> system optionfind name looks up a system with the given name.
Returns None if there is no system with the given name in the repository.
val list : unit -> info listlist () provides information about all systems in the repository.