all repos — min @ 6bca76ed3889350a4b02151510217f8b81dd1c54

A small but practical concatenative programming language.

Updated release + rules.
h3rald h3rald@h3rald.com
Thu, 21 May 2026 11:22:22 +0200
commit

6bca76ed3889350a4b02151510217f8b81dd1c54

parent

0234a066af9863e124014a71a6d4026d0f60e402

5 files changed, 44 insertions(+), 36 deletions(-)

jump to
M min.nimblemin.nimble

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

# Package -version = "0.46.1" +version = "0.47.0" author = "Fabio Cevasco" description = "A small but practical concatenative programming language and shell." license = "MIT"
M min.ymlmin.yml

@@ -2,4 +2,4 @@ author: Fabio Cevasco

description: A small but practical concatenative programming language and shell. id: 182418196 name: min -version: 0.46.1+version: 0.47.0
M next-release.mdnext-release.md

@@ -1,3 +1,9 @@

+### New Functionality + +* No longer auto-quoting values. +* Introduced the concept of _lambda keys_ (`^`-prefixed) for dictionaries, for storing executable quotations. +* Added `dict.lambda` symbol store operators in dictionaries. + ### Fixes and Improvements * `sys.ls-r` now returns directories and symlinks as well.
M site/rules.minsite/rules.min

@@ -123,7 +123,7 @@ (

time.stamp :ts data input-fread from-json :contents ; Save modules - contents "modules" dict.get @modules + contents.modules @modules ; Update timestamp contents ts "updated" dict.set @contents data contents to-json "contents" dict.set

@@ -145,7 +145,7 @@ symbol download-latest-min-exes

(==>) ( "Downloading latest min executables..." io.notice! - settings "version" dict.get :version + settings.version :version ("windows" "macosx" "linux") ( :opsys

@@ -173,7 +173,7 @@

contents ( (dict) expect -> :meta ( - ((meta "id" dict.get "^_" match?) ()) ;Ignore files starting with underscore. + ((meta.id "^_" match?) ()) ;Ignore files starting with underscore. ((true) (meta process-content set-destination output-fwrite)) ) case ) foreach

@@ -182,8 +182,8 @@ "Processing assets..." io.notice!

assets ( (dict) expect -> :meta ( - ((meta "ext" dict.get ".css" ==) (meta process-css-asset)) - ((meta "path" dict.get "mmm.json" ==) (meta process-mmm-json)) + ((meta.ext ".css" ==) (meta process-css-asset)) + ((meta.path "mmm.json" ==) (meta process-mmm-json)) ((true) (meta output-cp)) ) case ) foreach

@@ -192,9 +192,9 @@ "Generating mmm index..." io.notice!

; Process deps of each module -> name@version modules ( :module - module "deps" dict.get dict.keys ( + module.deps dict.keys ( :name - module "deps" dict.get name dict.get :version + module.deps name dict.get :version "$#@$#" (name version) =% ) map ", " join :dependencies (dependencies "" ==)

@@ -202,43 +202,45 @@ ("n/a" @dependencies)

when module dependencies "dependencies" dict.set ) map @modules - -{} - "mmm/index" "id" dict.set - "mmm.html" "path" dict.set - ".html" "ext" dict.set - "mmm" "title" dict.set - "min language" "site" dict.set - "page" "content-type" dict.set - modules "modules" dict.set +{ + "mmm/index" :id + "mmm.html" :path + ".html" :ext + "mmm" :title + "min language" :site + "page" :content-type +} +modules "modules" dict.set stack.dup "mmm" stack.swap mustache "contents" dict.set output-fwrite "Generating news page..." io.notice! ; Get news posts - (:a :b a "date" dict.get b "date" dict.get >) + (:a :b a.date b.date >) sort @posts -{} - "news/index" "id" dict.set - "news.html" "path" dict.set - ".html" "ext" dict.set - "News" "title" dict.set - "min language" "site" dict.set - "page" "content-type" dict.set - posts "posts" dict.set +{ + "news/index" :id + "news.html" :path + ".html" :ext + "News" :title + "min language" :site + "page" :content-type +} +posts "posts" dict.set stack.dup "news" stack.swap mustache "contents" dict.set output-fwrite -{} - "rss" "id" dict.set - "rss.xml" "path" dict.set - ".xml" "ext" dict.set - "min programming language" "title" dict.set - "min language" "site" dict.set - "rss" "content-type" dict.set - posts "posts" dict.set +{ + "rss" :id + "rss.xml" :path + ".xml" :ext + "min programming language" :title + "min language" :site + "rss" :content-type +} +posts "posts" dict.set stack.dup "rss" stack.swap mustache "contents" dict.set output-fwrite
M site/settings.jsonsite/settings.json

@@ -6,5 +6,5 @@ "rules": "rules.min",

"temp": "temp", "templates": "templates", "title": "min language", - "version": "0.46.1" + "version": "0.47.0" }