(* load-cml
 *
 * COPYRIGHT (c) 1990 by John H. Reppy.  See COPYRIGHT file for details.
 *)

local
  open System.Control.CG
  val dfltRounds = !rounds
  val dfltReduce = !reducemore
  val dfltUnroll = !unroll

  val coreFiles = [
	  "src/cml-version.sml",
	  "src/cml-base-sig.sml",
	  "src/cml-base.sml",
	  "src/cml-sig.sml",
	  "src/cml.sml",
	  "src/run-cml-sig.sml",
	  "src/run-cml.sml",
	  "src/cio-sig.sml",
	  "src/cio.sml",
	  "src/trace-cml-sig.sml",
	  "src/trace-cml.sml",
	  "src/build.sml"
	]

  val libFiles = [
	  "library/buffer.sml",
	  "library/future.sml",
	  "library/plumbing.sml",
	  "library/cobegin.sml",
	  "library/callcc.sml",
	  "library/build-lib.sml"
	]

  fun useFiles files = (
	rounds := 10; reducemore := 0; unroll := true;
	app use files;
	rounds := dfltRounds; reducemore := dfltReduce; unroll := dfltUnroll)
in

fun loadCML () = useFiles coreFiles
fun loadLibrary () = (useFiles libFiles)
fun loadAll () = (loadCML(); loadLibrary())
end (* local *)
