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 copy : ?mode:int -> ?bufsize:int -> ?parents:unit -> src:Tr1Fpath_Std.Fpath.t -> dest:Tr1Fpath_Std.Fpath.t -> unit -> (unit, [ `Msg of string ]) Stdlib414Shadow.result

copy ?mode ?bufsize ?parents ~src ~dest () copies the source file src to the destination file dest.

Use the option mode = 0o700 (etc.) to change the file permissions of the destination file dest. Defaults to mode = 0o644 which is readable by everyone yet writeable by the user.

The option bufsize is the size of the memory buffer used during copying. It defaults to 1MB.

Use the flag ~parents:() to create any missing parent directories of the destination file dest.

On Windows long paths are not supported.