(* 
 File: Options.sig

 User-controllable options for the PEPA Workbench.
*)

signature Options =
sig
  (* The recognised solvers *)
  datatype solver = Maple | Matlab | Mathematica | BCG

  (* The user-selected solver (default: Maple) *)
  val solver : solver ref
  val setSolver : solver -> unit

  (* The `no hashing' flag (default: false) *)
  val nohashing : bool ref
  val setNohashing : unit -> unit

  (* The `no aggregation' flag (default: false) *)
  val noagg : bool ref
  val setNoAggregation : unit -> unit

  (* Preferred filename extension for the selected solver *)
  val ext : unit -> string
end;
