all repos — mn @ abe66277d23024a078eaae1119a5806e900bc6d2

A truly minimal concatenative programming language.

Renamed lambda-bind to lambdabind.
h3rald h3rald@h3rald.com
Wed, 21 Apr 2021 18:34:34 +0000
commit

abe66277d23024a078eaae1119a5806e900bc6d2

parent

426c8a287d4b8b07a40324051b4361379b3cd60f

4 files changed, 5 insertions(+), 5 deletions(-)

jump to
M docs/get-started.mddocs/get-started.md

@@ -14,7 +14,7 @@ {#release -> [mn v$1 for $3 ($4)](https://github.com/h3rald/mn/releases/download/v$1/mn_v$1_$2_$4.zip) #}

## Building from source -Alternatively, you can build m from source as follows: +Alternatively, you can build {{m}} from source as follows: 1. Download and install [Nim](https://nim-lang.org). 3. Clone the {{m}} [repository](https://github.com/h3rald/mn).
M docs/reference.mddocs/reference.md

@@ -228,7 +228,7 @@ Defines a new symbol {{sl}}, containing the specified quotation {{q}}. Unlike with `let`, in this case {{q}} will not be quoted, so its values will be pushed on the stack when the symbol {{sl}} is pushed on the stack.

Essentially, this symbol allows you to define an symbol without any validation of constraints and bind it to a symbol.#} -{#op||lambda-bind||{{q}} {{sl}}||{{none}}|| +{#op||lambdabind||{{q}} {{sl}}||{{none}}|| Binds the specified quotation (unquoted) to an existing symbol {{sl}}.#} {#op||length||{{sl}}||{{i}}||
M mn.ymlmn.yml

@@ -1,4 +1,4 @@

author: Fabio Cevasco description: A truly minimal concatenative programming language. name: mn -version: 0.1.0 +version: 0.2.0
M mnpkg/lang.nimmnpkg/lang.nim

@@ -116,7 +116,7 @@ let res = i.scope.setSymbol(symbol, MnOperator(kind: mnValOp, val: q1, quotation: isQuot))

if not res: raiseUndefined("Attempting to bind undefined symbol: " & symbol) - def.symbol("lambda-bind") do (i: In): + def.symbol("lambdabind") do (i: In): let vals = i.expect("'sym", "quot") let sym = vals[0] var q1 = vals[1]

@@ -582,4 +582,4 @@ raiseInvalid("Quotation #$# does not evaluate to a boolean value")

if r.boolVal: i.push r return - i.push false.newVal+ i.push false.newVal