include DkCoder_Std.SCRIPT
Sourceval __init : DkCoder_Std.Context.t -> unit

__init context is the entry point for running a script module. The DkCoder compiler will inject this function at the top and bottom of the script module. The top __init does nothing, while the bottom __init calls the prior __init.

That means:

  1. calling the __init function guarantees that the script module is initialized; that is, all of the script module's side-effects (ex. let () = Format.printf "Hello world@.") are executed before the __init returns to the caller.
  2. you can override the __init function by simply defining the __init idempotently. That will shadow the top __init and when the bottom __init is executed your __init will be called instead of the do-nothing top __init.

Future versions of DkCoder will call __init in dependency order for all `You script modules. Your __init function may be called several times.

Sourceval __repl : DkCoder_Std.Context.t -> unit

__repl context is the entry point for debugging a script module in a REPL. The DkCoder compiler will inject this function at the top and bottom of the script module. The top __repl does nothing, while the bottom __repl calls the prior __repl.

That means:

  1. you can override the __repl function by simply defining the __repl idempotently. That will shadow the top __repl and when the bottom __repl is executed your __repl will be called instead of the do-nothing top __repl.
Sourceval __module_info : unit -> DkCoder_Std.ModuleInfo.t

The run-time module information for the script module.

Sourceval rm : ?recurse:unit -> ?force:unit -> ?kill:unit -> Tr1Fpath_Std.Fpath.t list -> (unit, [ `Msg of string ]) Stdlib414Shadow.result

rm ?recurse ?force paths removes the files or directories named in paths.

Use the flag ~recurse:() to recursively remove files and directories.

Use the flag ~force:() to force removal of read-only files and directories on Windows, and to skip files and directories in paths that do not exist.

Use the flag ~kill:() to kill all executables that are running inside the paths and kill all processes that have opened any files inside the paths. This is best-effort and today only works on Windows. On Windows there is (not yet) any killing of processes that opened files.

On Windows long paths are supported.