all repos — min @ 0234a066af9863e124014a71a6d4026d0f60e402

A small but practical concatenative programming language.

Removed auto-quoting, all tests pass.
h3rald h3rald@h3rald.com
Thu, 21 May 2026 10:49:14 +0200
commit

0234a066af9863e124014a71a6d4026d0f60e402

parent

31740b1a9265a1f9dee5f2b402a6571ccbe2b869

2 files changed, 3 insertions(+), 16 deletions(-)

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

@@ -47,9 +47,7 @@ raiseInvalid("Value is not a dictionary")

let val = q.dVal[s.getString] if val.kind == minProcOp: raiseInvalid("Key '$1' is set to an operator and it cannot be retrieved." % [s.getString]) - if val.lambda: - return val.val - return @[val.val].newVal + return val.val proc dget*(i: In, q: MinValue, s: string): MinValue = if not q.isDictionary:

@@ -57,9 +55,7 @@ raiseInvalid("Value is not a dictionary")

let val = q.dVal[s] if val.kind == minProcOp: raiseInvalid("Key $1 is set to an operator and it cannot be retrieved." % [s]) - if val.lambda: - return val.val - return @[val.val].newVal + return val.val proc dhas*(q: MinValue, s: MinValue): bool = if not q.isDictionary:

@@ -87,8 +83,6 @@ proc dset*(i: In, p: var MinValue, s: MinValue, m: MinValue, lambda = false): MinValue {.discardable.} =

if not p.isDictionary: raiseInvalid("Value is not a dictionary") var q = m - #if not lambda: #CLEANUP no longer autoquoting - # q = @[m].newVal p.scope.symbols[s.getString] = MinOperator(kind: minValOp, val: q, sealed: false, lambda: lambda) return p

@@ -96,8 +90,6 @@ proc dset*(i: In, p: var MinValue, s: string, m: MinValue, lambda = false): MinValue {.discardable.} =

if not p.isDictionary: raiseInvalid("Value is not a dictionary") var q = m - #if not lambda: #CLEANUP no longer autoquoting - # q = @[m].newVal p.scope.symbols[s] = MinOperator(kind: minValOp, val: q, sealed: false, lambda: lambda) return p
M minpkg/lib/min_global.nimminpkg/lib/min_global.nim

@@ -347,8 +347,6 @@ i.withScope():

# Inject variables for mapped inputs for k in 0..inVars.len-1: var iv = inVals[k] - #if iv.isQuotation: #CLEANUP no longer autoquoting - # iv = @[iv].newVal i.scope.symbols[inVars[k]] = MinOperator(kind: minValOp, sealed: false, val: iv) # Inject variables for mapped outputs for k in 0..outVars.len-1:

@@ -374,8 +372,6 @@ discard

# Validate output for k in 0..outVars.len-1: var x = i.scope.symbols[outVars[k]].val - #if rawOutVars[k][0] == ':': #CLEANUP no longer auto-quoting - # x = x.qVal[0] if t == "constructor": x.objType = n if DEV:

@@ -786,8 +782,7 @@ def.symbol("raise") do (i: In):

let vals = i.expect("dict") let err = vals[0] if err.dhas("error".newVal) and err.dhas("message".newVal): - raiseRuntime("($1) $2" % [i.dget(err, "error".newVal).getString, i.dget( - err, "message").getString], err) + raiseRuntime("($1) $2" % [i.dget(err, "error".newVal).getString, i.dget(err, "message").getString], err) else: raiseInvalid("Invalid error dictionary")