Various documentation fixes.
h3rald h3rald@h3rald.com
Thu, 21 May 2026 14:42:56 +0200
8 files changed,
29 insertions(+),
11 deletions(-)
M
Min_DeveloperGuide.md
→
Min_DeveloperGuide.md
@@ -36,6 +36,7 @@ text-shadow: none;
font-weight: normal; font-family: "Source Code Pro", "Monaco", "DejaVu Sans Mono", "Courier New", monospace; font-size: 85%; + text-wrap: auto; color: #eee; } </style>
M
next-release.md
→
next-release.md
@@ -1,11 +1,12 @@
-### New Functionality +### New Features -* No longer auto-quoting values. +* No longer auto-quoting values. Now keeping track of whether quotations are meant to be data or operators internally. * Introduced the concept of _lambda keys_ (`^`-prefixed) for dictionaries, for storing executable quotations. * Added `dict.lambda` symbol store operators in dictionaries. ### Fixes and Improvements +* Various minor documentation fixes. * `sys.ls-r` now returns directories and symlinks as well. * Fixed compilation of dictionary literals (Closes #194). * Displaying hint message in case of unhandled exceptions (Closes #196).
M
site/contents/get-started.md
→
site/contents/get-started.md
@@ -122,6 +122,7 @@ >
> [$](class:prompt) cat myfile.min | min > %tip% +> Tip > > You can enable _development mode_ (runtime checks and validations) by specifying `-d` (`--dev`) when running a min program. If development mode is not enabled, min programs run faster.
M
site/contents/learn-mmm.md
→
site/contents/learn-mmm.md
@@ -10,13 +10,13 @@ The min commands that make up this module management functionality is often referred to as _mmm_, for _min module management_.
## How mmm works -mmm borrows most of its design from Nim's [Nimble](https://github.com/nim-lang/nimble), but it is mcuh simpler. Here are the basics: +mmm borrows most of its design from Nim's [Nimble](https://github.com/nim-lang/nimble), but it is much simpler. Here are the basics: - mmm is not a standalone program, it is built-in into the min executable - mmm has a central registry (a [single JSON file](https://min-lang.org/mmm.json) really, and distributed storage (managed modules are hosted in remote github repositorues). - managed modules can be installed both locally to a specific folder (another managed module) or globally, in the `$HOME/mmm` folder. - each managed module relies on an `mmm.json` for its metadata, including dependencies on other managed modules. -- the version (git branch or tag) of a managed module must be always specified when installing or specifying a dependency. There is no concept of semantic versioning support, and that's deliberate: it makes things simpler and leas error prone. +- the version (git branch or tag) of a managed module must be always specified when installing or specifying a dependency. There is no concept of semantic versioning support, and that's deliberate: it makes things simpler and less error prone. ### The registry@@ -28,7 +28,7 @@ The registry contains the metadata of all public managed modules and it is queried when running every mmm command (see below).
### Module lookup -When requiring a module in your min file using the {{#link-global-operator||require}} symbol, min will attempt to lookup the module (for example **module1**) checking the following files (in order): +When requiring a module in your min file using the {#link-global-operator||require#} symbol, min will attempt to lookup the module (for example **module1**) checking the following files (in order): - module1.min - mmm/module1/*/index.min
M
site/contents/learn-operators.md
→
site/contents/learn-operators.md
@@ -19,7 +19,7 @@
* Start with a letter or an underscore (\_). * Contain zero or more letters, numbers and/or any of the following characters: `/ ! ? + * _ -` -If a symbol contains a dot (`.`) then it is namespaced by its containing module or dictionary. For example, `fs.dirname` identifies the {{#link-operator||fs||dirname}} operator defined in the {{#link-module||fs}} module. +If a symbol contains a dot (`.`) then it is namespaced by its containing module or dictionary. For example, `fs.dirname` identifies the {#link-operator||fs||dirname#} operator defined in the {#link-module||fs#} module. It is possible to define operator symbols using the {#link-global-operator||operator#} symbol. The following min program defines a new symbol called square that duplicates the first element on the stack and multiplies the two elements:
M
site/contents/reference-dict.md
→
site/contents/reference-dict.md
@@ -30,6 +30,21 @@
{#op||keys||{{d}}||({{s}}{{0p}})|| Returns a quotation containing all the keys of dictionary {{d}}. #} +{#op||lambda||{{d}} {{q}} {{sl}}||{{d}}|| +> Sets the value of the {{sl}} of {{d1}} to {{q}}, which will be treated as an operator, and returns the modified dictionary {{d}}. +> +> > %sidebar% +> > Example +> > +> > The following program: +> > +> > {} (dup *) 'square dict.lambda +> > +> > Returns the following dictionary: +> > +> > {(dup *) ^square} + #} + {#op||pick||{{d1}} {{q}}||{{d2}}|| > Returns a new dictionary {{d2}} containing the elements of {{d1}} whose keys are included in {{q}}. >@@ -49,7 +64,7 @@ > > Example
> > > > A The following program returns `((1 "a") (2 "b"))`: > > {1 :a 2 :b} dict.pairs -#} + #} {#op||set||{{d}} {{any}} {{sl}}||{{d}}|| Sets the value of the {{sl}} of {{d1}} to {{any}}, and returns the modified dictionary {{d}}. #}
M
site/contents/reference-global.md
→
site/contents/reference-global.md
@@ -402,6 +402,9 @@
{#op||get-env||{{sl}}||{{s}}|| Returns environment variable {{sl}}. #} +{#op||get-raw||{{q}} {{i}}||{{rawval}}|| +Returns the _n^th_ element of {{q}} (zero-based) wrapped in a {{rawval}}.#} + {#op||harvest||{{q1}}||{{q2}}|| > Creates a new quotation {{q2}} containing all elements of {{q1}} except for empty quotations. >@@ -744,9 +747,6 @@ Creates a symbol with the value of {{s}} and wraps it in a quotation. #}
{#op||raise||{{e}}||{{none}}|| Raises the error specified via the dictionary {{e}}.#} - -{#op||raw-get||{{q}} {{i}}||{{rawval}}|| -Returns the _n^th_ element of {{q}} (zero-based) wrapped in a {{rawval}}.#} {#op||random||{{i1}}||{{i2}}|| > Returns a random number {{i2}} between 0 and {{i1}}-1.
M
site/rules.min
→
site/rules.min
@@ -125,7 +125,7 @@ data input-fread from-json :contents
; Save modules contents.modules @modules ; Update timestamp - contents ts "updated" dict.set @contents + ts :contents.updated data contents to-json "contents" dict.set output-fwrite ; Add timestamp file