all repos — min @ eaaa3c87890980e3f7a8883c49db1bf041f144ac

A small but practical concatenative programming language.

Updted compilation to handle dictionaries properly.
h3rald h3rald@h3rald.com
Mon, 25 May 2026 14:12:49 +0200
commit

eaaa3c87890980e3f7a8883c49db1bf041f144ac

parent

96c6c32be80edc5f32b69c0ca981b400e43037c2

1 files changed, 4 insertions(+), 2 deletions(-)

jump to
M minpkg/core/parser.nimminpkg/core/parser.nim

@@ -849,6 +849,7 @@ discard getToken(p)

of tkBraceLe: result = newSeq[string](0) var val: MinValue + var valSet = false discard getToken(p) var c = 0 CVARCOUNT.inc

@@ -859,7 +860,7 @@ let v = p.parseMinValue(i)

if v.isUnknown: continue c = c+1 - if val.isUnknown: + if not valSet: val = v elif v.kind == minSymbol: let key = v.symVal

@@ -867,7 +868,8 @@ if key[0] == ':' or key[0] == '^':

let isLambda = key[0] == '^' let symkey = key[1 .. key.len-1] result.add "i.dset($#, \"$#\", $#.newVal, lambda: $#)" % [dictvar, symkey, $val, $isLambda] - val = MinValue(kind: minUnknown) + # Reset valSet so that is possible to process another value + valSet = false else: raiseInvalid("Invalid dictionary key: " & key) else: