Sourceval odoc_escape : string -> string * int

odoc_escape s escapes odoc special characters, and returns the escaped string and the number of double quotes in the string s.

Sourceval balance_double_quotes : string -> string

balance_double_quotes s ensures there are an even number of double quote characters.

Regular expression for a Markdown "link description", as in "[link description](link target)".

* Link descriptions can span multiple lines. * For sane parsing, link descriptions may not contain square brackets, nor may they contain backslashes

Sourceval markdown_to_odoc : string -> string

markdown_to_odoc md translates the Markdown string md into odoc specioal comment syntax.

Does:

  • Escaping
  • Balancing double-quotes
  • Converting Markdown links to odoc links
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.