all repos — min @ 89335ed20518c718ccb02783f245cc02373fb7db

A small but practical concatenative programming language.

Fixes.
h3rald h3rald@h3rald.com
Sat, 06 Feb 2021 08:53:46 +0000
commit

89335ed20518c718ccb02783f245cc02373fb7db

parent

245f15053dd50e2ca4b4fae902a1a7da22d89fa2

3 files changed, 11 insertions(+), 5 deletions(-)

jump to
M next-release.mdnext-release.md

@@ -25,13 +25,14 @@

Essentially, this allows you to push a lambda on the stack from an operator. Note that: + * Lambdas must be captured using the `^` sigil in signatures and bound using `lambda-bind` in the operator body. * Lambdas cannot be captured in input values (they have already been pushed on the stack). * Requiring a lambda as an output value effectively bypasses stack pollution checks. While this can be useful at times, use with caution! #### Type Expressions -When specifying types in operator signatures or through the {#link-operator||lang||expect#} operator, you can specify a logical expression containing types and type classes joined with one kf the following operators: +When specifying types in operator signatures or through the `expect` operator, you can specify a logical expression containing types and type classes joined with one of the following operators: * `|` (or) * `&` (and)

@@ -78,7 +79,7 @@ ```

### Type aliases -You can definenow *type aliases* using the {#link-operator||lang||typealias#} operator. Mmmm +You can now define *type aliases* using the `typealias` operator. For example, you can create an alias of part of the type expression used in the previous example, like this:

@@ -95,5 +96,5 @@ ```

Note that: * Type aliases be used to create an alias for any type expression. -* Aliased type expressions can contain standard {{m}} types, dictionary types, type classes, and even other type aliases. -* The {#link-operator||lang||typealias#} operator actually creates lexically-scoped, `typealias:`-prefixed symbols that can be sealed, unsealed, and deleted exactly like other symbols. +* Aliased type expressions can contain standard min types, dictionary types, type classes, and even other type aliases. +* The `typealias` operator actually creates lexically-scoped, `typealias:`-prefixed symbols that can be sealed, unsealed, and deleted exactly like other symbols.
M site/contents/learn-operators.mdsite/contents/learn-operators.md

@@ -193,13 +193,14 @@

Essentially, this allows you to push a lambda on the stack from an operator. Note that: + * Lambdas must be captured using the `^` sigil in signatures and bound using {#link-operator||lang||lambda-bind#} in the operator body. * Lambdas cannot be captured in input values (they have already been pushed on the stack). * Requiring a lambda as an output value effectively bypasses stack pollution checks. While this can be useful at times, use with caution! ### Type expressions -When specifying types in operator signatures or through the {#link-operator||lang||expect#} operator, you can specify a logical expression containing types and type classes joined with one kf the following operators: +When specifying types in operator signatures or through the {#link-operator||lang||expect#} operator, you can specify a logical expression containing types and type classes joined with one of the following operators: * `|` (or) * `&` (and)

@@ -262,6 +263,7 @@ ) ::

``` Note that: + * Type aliases be used to create an alias for any type expression. * Aliased type expressions can contain standard {{m}} types, dictionary types, type classes, and even other type aliases. * The {#link-operator||lang||typealias#} operator actually creates lexically-scoped, `typealias:`-prefixed symbols that can be sealed, unsealed, and deleted exactly like other symbols.
M site/contents/reference-lang.mdsite/contents/reference-lang.md

@@ -499,6 +499,9 @@ > > (format-error puts)

> > (0) > > ) try #} +{#op||typealias||{{sl1}} {{sl2}}||{{none}}|| +Creates a type alias {{sl1}} for type expression {{sl2}}.#} + {#op||unless||{{q1}} {{q2}}||{{a0p}}|| If {{1}} evaluates to {{f}} then evaluates {{2}}.#}