all repos — min @ 258ea269a69b45d699e000d73fe70e198d044e43

A small but practical concatenative programming language.

Removed --deepCopy:on
h3rald h3rald@h3rald.com
Wed, 03 Jun 2026 14:40:58 +0200
commit

258ea269a69b45d699e000d73fe70e198d044e43

parent

1cf4e28b2be182d293e037203be8e8f81b5a7a58

M .github/workflows/add-artifacts-to-current-release.yml.github/workflows/add-artifacts-to-current-release.yml

@@ -71,18 +71,18 @@ uses: iffy/install-nim@v4.5.0

# Build for Linux - name: Build (Linux) - run: nimble build -v -y -d:release --gcc.exe:musl-gcc --mm:orc --deepCopy:on --gcc.linkerexe:musl-gcc -d:ssl --opt:size min + run: nimble build -v -y -d:release --gcc.exe:musl-gcc --mm:orc:on --gcc.linkerexe:musl-gcc -d:ssl --opt:size min if: matrix.os == 'ubuntu-latest' # Build for macOS - name: Build (macOS) - run: nimble build -v -y -d:release -d:ssl --opt:size --mm:orc --deepCopy:on min + run: nimble build -v -y -d:release -d:ssl --opt:size --mm:orc:on min if: matrix.os == 'macos-13' # Build for Windows - name: Build (Windows) shell: msys2 {0} - run: nimble build -v -y -d:release --mm:orc --deepCopy:on --opt:size -d:ssl --gcc.exe:x86_64-w64-mingw32-gcc --gcc.linkerexe:x86_64-w64-mingw32-gcc min + run: nimble build -v -y -d:release --mm:orc:on --opt:size -d:ssl --gcc.exe:x86_64-w64-mingw32-gcc --gcc.linkerexe:x86_64-w64-mingw32-gcc min if: matrix.os == 'windows-2019' # UPX compress (Linux)
M min.nimmin.nim

@@ -86,7 +86,7 @@ result = result.concat(minFile(f, "compile", main = false))

result.add "### $# (main)" % i.filename result = result.concat(i.compileFile(main)) writeFile(nimFile, result.join("\n")) - let cmd = "nim c --threadAnalysis:off --mm:orc --deepCopy:on $#$#" % [NIMOPTIONS&" ", nimFile] + let cmd = "nim c --threadAnalysis:off --mm:orc:on $#$#" % [NIMOPTIONS&" ", nimFile] logging.notice("Calling Nim compiler:") logging.notice(cmd) discard execShellCmd(cmd)
M minpkg/core/interpreter.nimminpkg/core/interpreter.nim

@@ -453,7 +453,7 @@ contents = ";;\n" & fileLines[1..fileLines.len-1].join("\n")

else: contents = fileLines.join("\n") var i2 = i.copy(s) - let snapshot = deepCopy(i.stack) + let snapshot = i.stack i2.withScope: i2.open(newStringStream(contents), s) discard i2.parser.getToken()
M minpkg/lib/min_crypto.nimminpkg/lib/min_crypto.nim

@@ -6,8 +6,12 @@ ../core/parser,

../core/value, ../core/interpreter, ../core/utils + when defined(static): import os + +when defined(ssl): + import times when defined(ssl) and defined(static): import
M minpkg/lib/min_global.nimminpkg/lib/min_global.nim

@@ -328,7 +328,7 @@ inVars.add v[1..v.len-1]

c.inc() if not o: raiseInvalid("No output specified in signature") - origGenerics = deepCopy(generics) + origGenerics = generics # Process body var bv = q.qVal[3] if not bv.isQuotation:

@@ -355,7 +355,7 @@ if DEV:

var endSnapshot: seq[MinValue] var snapShot: seq[MinValue] try: - snapshot = deepCopy(i.stack) + snapshot = i.stack for v in bv.qVal: # execute directly in the existing scope (withScope) i.push v endSnapshot = i.stack
M site/contents/get-started.mdsite/contents/get-started.md

@@ -133,7 +133,7 @@ If you want to pass any options to the Nim compiler (like `-d:release` for example) you can do so by using the `-n` (or `--passN`) option:

> %min-terminal% > -> [$](class:prompt) min compile myfile.min -n:&quot;-d:release --threadAnalysis:off --mm:orc --deepCopy:on&quot; +> [$](class:prompt) min compile myfile.min -n:&quot;-d:release --threadAnalysis:off --mm:orc:on&quot; Additionally, you can also use `-m:<path>` (or `--module-path`) to specify one path containing [.min](class:ext) files which will be compiled as well (but not executed) along with the specified file. Whenever a {#link-global-operator||load#} or a {#link-global-operator||require#} symbol is used to load/require an external [.min](class:ext) file, it will attempt to retrieve its contents from the pre-loaded files first before searching the filesystem.