odoc_escape s
escapes odoc special characters, and returns the escaped string and the number of double quotes in the string s
.
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
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
__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:
- 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. - 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.
__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:
- 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
.
The run-time module information for the script module.