all repos — mn @ 536e6ff3b1713245abf941e270e3ac68b8999bd6

A truly minimal concatenative programming language.

Preparing to release
h3rald h3rald@h3rald.com
Tue, 16 Jun 2026 21:47:38 +0200
commit

536e6ff3b1713245abf941e270e3ac68b8999bd6

parent

4c0615ec4b704471d2fc1f14fed037e9d173d4ec

M .conver/draft.txt.conver/draft.txt

@@ -0,0 +1,1 @@

+4800
M .conver/legacy.txt.conver/legacy.txt

@@ -0,0 +1,1 @@

+0.4.0
M .conver/semver.txt.conver/semver.txt

@@ -0,0 +1,1 @@

+0.4.1
D .github/workflows/add-artifacts-to-current-release.yml

@@ -1,98 +0,0 @@

-name: Add artifacts to current release - -# Controls when the action will run. -on: - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -jobs: - release: - name: "Build and upload artifacts" - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: - - ubuntu-latest - - macos-latest - - windows-latest - - env: - CHOOSENIM_CHOOSE_VERSION: stable - CHOOSENIM_NO_ANALYTICS: 1 - - steps: - # Cancel other actions of the same type that might be already running - - name: "Cancel similar actions in progress" - uses: styfle/cancel-workflow-action@0.6.0 - with: - access_token: ${{ github.token }} - - # Detects OS and provide Nim-friendly OS identifiers - - name: Detect current OS - id: os - run: echo "::set-output name=id::${{matrix.os == 'ubuntu-latest' && 'linux' || matrix.os == 'macos-latest' && 'macosx' || matrix.os == 'windows-latest' && 'windows'}}" - - # Checks out the repository - - uses: actions/checkout@v2 - - # Installs libraries - - name: install musl-gcc - run: sudo apt-get install -y musl-tools - if: matrix.os == 'ubuntu-latest' - - # Sets path (Linux, macOS) - - name: Update $PATH - run: echo "$HOME/.nimble/bin" >> $GITHUB_PATH - if: matrix.os == 'macos-latest' || matrix.os == 'ubuntu-latest' - - # Sets path (Windows) - - name: Update %PATH% - run: echo "${HOME}/.nimble/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append - if: matrix.os == 'windows-latest' - - # Install the Nim compiler - - name: Install Nim - run: | - curl https://nim-lang.org/choosenim/init.sh -sSf > init.sh - sh init.sh -y - - # Build for Linux - - name: Build (Linux) - run: nim c -d:release --gcc.exe:musl-gcc --gcc.linkerexe:musl-gcc --gc:orc --deepcopy:on --opt:size mn - if: matrix.os == 'ubuntu-latest' - - # Build for macOS/Windows - - name: Build (macOS, Windows) - run: nim c -d:release --gc:orc --deepcopy:on --opt:size mn - if: matrix.os == 'macos-latest' || matrix.os == 'windows-latest' - - # Retrieve ID and Name of the current (draft) release - - name: "Get current release" - id: current-release - uses: InsonusK/get-latest-release@v1.0.1 - with: - myToken: ${{ github.token }} - exclude_types: "release" - view_top: 1 - - # Package the resulting Linux/macOS binary - - name: Create artifact (Linux, macOS) - run: zip mn_${{steps.current-release.outputs.tag_name}}_${{steps.os.outputs.id}}_x64.zip mn - if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' - - # Package the resulting Windows binary - - name: Create artifact (Windows) - run: Compress-Archive -Path mn.exe -DestinationPath mn_${{steps.current-release.outputs.tag_name}}_windows_x64.zip - if: matrix.os == 'windows-latest' - - # Upload artifacts to current draft release - - name: "Upload to current release" - uses: xresloader/upload-to-github-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - file: "mn_v*.zip" - overwrite: true - tag_name: ${{steps.current-release.outputs.tag_name}} - release_id: ${{steps.current-release.outputs.id }} - verbose: true
D .github/workflows/ci.yml

@@ -1,43 +0,0 @@

-name: CI - -# Controls when the action will run. -on: - # Triggers the workflow on push or pull request events but only for the master branch - push: - branches: [master] - tags-ignore: ["**"] - pull_request: - branches: [master] - tags-ignore: ["**"] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "ci" - ci: - # The type of runner that the job will run on - runs-on: ubuntu-latest - env: - CHOOSENIM_CHOOSE_VERSION: stable - CHOOSENIM_NO_ANALYTICS: 1 - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 - - - name: install musl-gcc - run: sudo apt-get install -y musl-tools - - - name: Update $PATH - run: echo "$HOME/.nimble/bin" >> $GITHUB_PATH - - - name: Install Nim - run: | - curl https://nim-lang.org/choosenim/init.sh -sSf > init.sh - sh init.sh -y - - name: Build - run: | - nimble build -v --gc:orc --opt:size --deepcopy:on -d:release --gcc.exe:musl-gcc --gcc.linkerexe:musl-gcc
M CHANGELOG.mdCHANGELOG.md

@@ -1,26 +1,24 @@

-# v0.4.0 - 2023-12-02 +## Changelog + +##% v480-0 (2026-06-16) + +- Re-released using ConVer. + +### v0.4.0 (2023-12-02) - Added dip symbol - Added mod symbol - Enhanced split symbol to handle empty string as a separator -Changes - -# v0.3.0 - 2022-11-12 +### v0.3.0 (2022-11-12) Fixed cons symbol (now creating a new quotation). -Changes - -# v0.2.0 - 2021-04-22 +### v0.2.0 (2021-04-22) - Fixed print symbol on Linux (wasn’t flushing output when compiled with musl). - Renamed lambda-bind to lambdabind for consistency. -Changes - -# v0.1.0 - 2021-04-02 - -Initial release. +### v0.1.0 (2021-04-02) -Changes +- Initial release.
M LICENSELICENSE

@@ -1,6 +1,6 @@

MIT License -Copyright (c) 2021 Fabio Cevasco +Copyright (c) Fabio Cevasco Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal
M README.mdREADME.md

@@ -2,10 +2,6 @@

<p align="center"><img align="center" width="350" src="https://min-lang.org/images/logo.mn.svg"/></p> <p align="center"> <b>A truly minimal<br>concatenative programming language</b> - <br><br> - <img src="https://img.shields.io/badge/nim-powered-yellow.svg?link=https://nim-lang-org"> - <img src="https://img.shields.io/github/release/h3rald/mn.svg"> - <img src="https://img.shields.io/github/license/h3rald/mn.svg"> </p> ---
M docs/get-started.mddocs/get-started.md

@@ -4,17 +4,7 @@ title: "Get Started"

----- {@ _defs_.md || 0 @} -You can download one of the following pre-built {{m}} binaries: - -- {#release||{{$version}}||macosx||macOS||x64#} -- {#release||{{$version}}||windows||Windows||x64#} -- {#release||{{$version}}||linux||Linux||x64#} - -{#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: +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 mn.nimmn.nim

@@ -109,7 +109,7 @@ var i = newMinInterpreter(filename = "<repl>")

i.mnSimpleRepl() - let usage* = """ mn v$version - A truly minimal concatenative programming language + let usage* = """ mn $version - A truly minimal concatenative programming language (c) 2021 Fabio Cevasco Usage:

@@ -123,7 +123,7 @@ -h, --help Print this help

-d, --debug Enable debug messages -v, —-version Print the program version""" % [ "exe", exeName, - "version", pkgVersion, + "version", pkgVersionLabel, ] var file, s: string = ""
M mn.nimblemn.nimble

@@ -3,9 +3,9 @@ mnpkg/meta

# Package -version = pkgVersion -author = pkgAuthor -description = pkgDescription +version = "0.4.10 +author = "Fabio Cevasco" +description = "A truly minimal concatenative programming language." license = "MIT" bin = @[pkgName] installFiles = @["mn.yml", "mn.nim"]
M mn.ymlmn.yml

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

author: Fabio Cevasco description: A truly minimal concatenative programming language. name: mn -version: 0.4.0 +version: 4800
M mnpkg/meta.nimmnpkg/meta.nim

@@ -5,8 +5,11 @@ const ymlconfig = "../mn.yml".slurp

var pkgName* {.threadvar.}: string var pkgVersion* {.threadvar.}: string +var pkgVersionLabel* {.threadvar.}: string var pkgAuthor* {.threadvar.}: string var pkgDescription* {.threadvar.}: string + +pkgVersionLabel = "v4800-0" for line in ymlconfig.split("\n"): let pair = line.split(":")