all repos — min @ cac4ce181c8497945ce8d792e8474ea0eddb1393

A small but practical concatenative programming language.

Updated docs; other minor fixes, bumping version to 0.11.0.
h3rald h3rald@h3rald.com
Sun, 06 Aug 2017 11:54:00 +0200
commit

cac4ce181c8497945ce8d792e8474ea0eddb1393

parent

7c889de7c640c4c7a0c8acfb1e007970237dc382

M Min_DeveloperGuide.htmMin_DeveloperGuide.htm

@@ -4518,11 +4518,11 @@

<p>You can download one of the following pre-built min binaries:</p> <ul> -<li><a href="https://github.com/h3rald/min/releases/download/v0.10.1/min_v0.10.1_macosx_x64.zip">min v0.10.1 for macOS (x64)</a></li> -<li><a href="https://github.com/h3rald/min/releases/download/v0.10.1/min_v0.10.1_windows_x64.zip">min v0.10.1 for Windows (x64)</a></li> -<li><a href="https://github.com/h3rald/min/releases/download/v0.10.1/min_v0.10.1_linux_x64.zip">min v0.10.1 for Linux (x64)</a></li> -<li><a href="https://github.com/h3rald/min/releases/download/v0.10.1/min_v0.10.1_linux_x86.zip">min v0.10.1 for Linux (x86)</a></li> -<li><a href="https://github.com/h3rald/min/releases/download/v0.10.1/min_v0.10.1_linux_arm.zip">min v0.10.1 for Linux (arm)</a></li> +<li><a href="https://github.com/h3rald/min/releases/download/v0.11.0/min_v0.11.0_macosx_x64.zip">min v0.11.0 for macOS (x64)</a></li> +<li><a href="https://github.com/h3rald/min/releases/download/v0.11.0/min_v0.11.0_windows_x64.zip">min v0.11.0 for Windows (x64)</a></li> +<li><a href="https://github.com/h3rald/min/releases/download/v0.11.0/min_v0.11.0_linux_x64.zip">min v0.11.0 for Linux (x64)</a></li> +<li><a href="https://github.com/h3rald/min/releases/download/v0.11.0/min_v0.11.0_linux_x86.zip">min v0.11.0 for Linux (x86)</a></li> +<li><a href="https://github.com/h3rald/min/releases/download/v0.11.0/min_v0.11.0_linux_arm.zip">min v0.11.0 for Linux (arm)</a></li> </ul>

@@ -4637,9 +4637,9 @@

<p>The following is a simple dictionary containing three keys: <em>name</em>, <em>paradigm</em>, and <em>first-release-year</em>:</p> <pre><code>( - (name "min") - (paradigm "concatenative") - (first-release-year 2017) + ("name" "min") + ("paradigm" "concatenative") + ("first-release-year" 2017) ) </code></pre></div>

@@ -4738,10 +4738,6 @@ <dt>:</dt>

<dd>Alias for <a href="#op-define"><code>define</code></a>.</dd> <dt>^</dt> <dd>Alias for <a href="#op-call"><code>call</code></a>.</dd> -<dt>/</dt> -<dd>Alias for <a href="#op-dget"><code>dget</code></a>.</dd> -<dt>%</dt> -<dd>Alias for <a href="#op-dset"><code>dset</code></a>.</dd> <dt>@</dt> <dd>Alias for <a href="#op-bind"><code>bind</code></a>.</dd> <dt>></dt>

@@ -4752,6 +4748,12 @@ <dt>&#61;</dt>

<dd>Alias for <a href="#op-quote-bind"><code>quote-bind</code></a>.</dd> <dt>#</dt> <dd>Alias for <a href="#op-quote-define"><code>quote-define</code></a>.</dd> +<dt>/</dt> +<dd>Alias for <a href="#op-dget"><code>dget</code></a>.</dd> +<dt>%</dt> +<dd>Alias for <a href="#op-dset"><code>dset</code></a>.</dd> +<dt>?</dt> +<dd>Alias for <a href="#op-dhas?"><code>dhas?</code></a>.</dd> <dt>!</dt> <dd>Alias for <a href="#op-system"><code>system</code></a>.</dd> <dt>&amp;</dt>

@@ -5149,27 +5151,27 @@ <dd>A dictionary value.</dd>

<dt><span class="kwd">tinfo</span></dt> <dd>A timeinfo dictionary: <pre><code>( - (year 2017) - (month 7) - (day 8) - (weekday 6) - (yearday 188) - (hour 15) - (minute 16) - (second 25) - (dst true) - (timezone -3600) + (&ldquo;year&rdquo; 2017) + (&ldquo;month&rdquo; 7) + (&ldquo;day&rdquo; 8) + (&ldquo;weekday&rdquo; 6) + (&ldquo;yearday&rdquo; 188) + (&ldquo;hour&rdquo; 15) + (&ldquo;minute&rdquo; 16) + (&ldquo;second&rdquo; 25) + (&ldquo;dst&rdquo; true) + (&ldquo;timezone&rdquo; -3600) ) </code></pre></dd> <dt><span class="kwd">err</span></dt> <dd>An error dictionary: <pre><code>( - (error &ldquo;MyError&rdquo;) - (message &ldquo;An error occurred&rdquo;) - (symbol &ldquo;symbol1&rdquo;) - (filename &ldquo;dir1/file1.min&rdquo;) - (line 3) - (column 13) + (&ldquo;error&rdquo; &ldquo;MyError&rdquo;) + (&ldquo;message&rdquo; &ldquo;An error occurred&rdquo;) + (&ldquo;symbol&rdquo; &ldquo;symbol1&rdquo;) + (&ldquo;filename&rdquo; &ldquo;dir1/file1.min&rdquo;) + (&ldquo;line&rdquo; 3) + (&ldquo;column&rdquo; 13) ) </code></pre></dd> <dt><span class="kwd">true</span></dt>

@@ -5738,13 +5740,13 @@

<p>The following program:</p> <pre><code>( - ((a 1) (b 2) (c 3)) ( + (("a" 1) ("b" 2) ("c" 3)) ( (dup /a succ succ %a) (dup /b succ %b) ) tap </code></pre> -<p>Returns <code>((a 3) (b 3) (c 3))</code>.</p></div></div> +<p>Returns <code>(("a" 3) ("b" 3) ("c" 3))</code>.</p></div></div> <p><a id="op-tap!"></a> <span class="reference-title">tap!</span></p>

@@ -6106,7 +6108,7 @@ <div class="sidebar"><p>Example</p>

<p>The following program returns <span class="kwd">true</span>:</p> -<pre><code>((a1 true) (a2 "aaa") (a3 false)) 'a2 dhas? +<pre><code>(("a1" true) ("a2" "aaa") ("a3" false)) 'a2 dhas? </code></pre></div></div> <p><a id="op-dset"></a>

@@ -6547,16 +6549,16 @@

<p>produces:</p> <pre><code> ( - (name (min)) - (device 16777220) - (file 50112479) - (type "file") - (size 617068) - (permissions 755) - (nlinks 1) - (ctime 1496583112.0) - (atime 1496584370.0) - (mtime 1496583112.0) + ("name" (min)) + ("device" 16777220) + ("file" 50112479) + ("type" "file") + ("size" 617068) + ("permissions" 755) + ("nlinks" 1) + ("ctime" 1496583112.0) + ("atime" 1496584370.0) + ("mtime" 1496583112.0) ) </code></pre></div></div>

@@ -7392,7 +7394,7 @@

<p>Encrypts or decrypts <span class="kwd">&apos;sym<sub>1</sub></span> using the Advanced Encryption Standard (AES), using <span class="kwd">&apos;sym<sub>2</sub></span> as password.</p></div> </div> <div id="footer"> - <p><span class="copy"></span> Fabio Cevasco &ndash; August 5, 2017</p> + <p><span class="copy"></span> Fabio Cevasco &ndash; August 6, 2017</p> <p><span>Powered by</span> <a href="https://h3rald.com/hastyscribe"><span class="hastyscribe"></span></a></p> </div> </div>
M min.nimblemin.nimble

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

[Package] name = "min" -version = "0.10.1" +version = "0.11.0" author = "Fabio Cevasco" description = "A tiny concatenative programming language and shell." license = "MIT"
M min.vimmin.vim

@@ -11,7 +11,7 @@

setl iskeyword=@,36-39,+,-,/,*,.,:,~,!,48-57,60-65,94-95,192-255 setl iskeyword+=^ -syntax keyword minDefaultSymbol ! != $ & ' * + # - % ^ -> . .. / : < <= == => =~ > >= @ ROOT aes all? and any? append args ask atime bind bool boolean? call call! capitalize case cd chmod choose clear-stack cleave column-print concat confirm cons cp cpu crypto ctime datetime ddel debug decode define defined? delete dget dhas? dictionary? dip dir? dirname div dprint dprint! dset dup encode env? error eval even? exists? exit expect fappend fatal find file? filename filter first flatten float float? foreach fperms fread from-json format-error fs fsize fstats ftype fwrite get gets get-env get-stack hardlink harvest hidden? id if import in? indent indexof info insert int integer? interpolate interval io join keep keys length linrec load load-symbol logic loglevel loglevel? lowercase ls ls-r map map-reduce match md5 mkdir mod module module-symbols module-sigils mtime mv newline nip not notice now num number? odd? opts os over partition password pick pop popd pred prepend print print! prompt publish puts puts! put-env q quotation? quote quote-bind quote-define random raise reduce regex reject remove remove-symbol repeat replace rest reverse rm rmdir run save-symbol scope scope? seal search seq set set-stack sha1 sha224 sha256 sha384 sha512 shorten sigils sip size sleep slice sort source split spread stack startup stored-symbols str string string? strip succ sum swap swons symbols symlink symlink? sys system take tap tap! tformat time timeinfo times timestamp titleize to-json to-timestamp try dequote uppercase unzip values version warn when which while with xor zip +syntax keyword minDefaultSymbol ! != $ & ' * + # - % ^ -> . .. / : < <= == => =~ > >= @ ROOT aes all? and any? append apply args ask atime bind bool boolean? call call! capitalize case cd chmod choose clear-stack cleave column-print concat confirm cons cp cpu crypto ctime datetime ddel debug decode define defined? delete dget dhas? dictionary? dip dir? dirname div dprint dprint! dset dup encode env? error eval even? exists? exit expect fappend fatal find file? filename filter first flatten float float? foreach fperms fread from-json format-error fs fsize fstats ftype fwrite get gets get-env get-stack hardlink harvest hidden? id if import in? indent indexof info insert int integer? interpolate interval io join keep keys length linrec load load-symbol logic loglevel loglevel? lowercase ls ls-r map map-reduce match md5 mkdir mod module module-symbols module-sigils mtime mv newline nip not notice now num number? odd? opts os over partition password pick pop popd pred prepend print print! prompt publish puts puts! put-env q quotation? quote quote-bind quote-define random raise reduce regex reject remove remove-symbol repeat replace rest reverse rm rmdir run save-symbol scope scope? seal search seq set set-stack sha1 sha224 sha256 sha384 sha512 shorten sigils sip size sleep slice sort source split spread stack startup stored-symbols str string string? strip succ sum swap swons symbols symlink symlink? sys system take tap tap! tformat time timeinfo times timestamp titleize to-json to-timestamp try dequote uppercase unzip values version warn when which while with xor zip syntax match minDefaultSigil ;\<[:@'~!?$%&$=<>#^*#+/]; contained
M site/contents/_includes/_learn-data-types.mdsite/contents/_includes/_learn-data-types.md

@@ -19,9 +19,9 @@ >

> The following is a simple dictionary containing three keys: *name*, *paradigm*, and *first-release-year*: > > ( -> (name "min") -> (paradigm "concatenative") -> (first-release-year 2017) +> ("name" "min") +> ("paradigm" "concatenative") +> ("first-release-year" 2017) > ) The {#link-module||logic#} provides predicate operators to check if an element belong to a particular data type or pseudo-type (`boolean?`, `number?`, `integer?`, `float?`, `string?`, `quotation?`, `dictionary?`).
M site/contents/_includes/_learn-operators.mdsite/contents/_includes/_learn-operators.md

@@ -33,10 +33,6 @@ \:

: Alias for {#link-operator||lang||define#}. ^ : Alias for {#link-operator||lang||call#}. -/ -: Alias for {#link-operator||lang||dget#}. -% -: Alias for {#link-operator||lang||dset#}. @ : Alias for {#link-operator||lang||bind#}. >

@@ -47,6 +43,12 @@ &#61;

: Alias for {#link-operator||lang||quote-bind#}. \# : Alias for {#link-operator||lang||quote-define#}. +/ +: Alias for {#link-operator||seq||dget#}. +% +: Alias for {#link-operator||seq||dset#}. +? +: Alias for {#link-operator||seq||dhas?#}. ! : Alias for {#link-operator||sys||system#}. &
M site/contents/_includes/_reference-fs.mdsite/contents/_includes/_reference-fs.md

@@ -24,16 +24,16 @@ > >

> > produces: > > > > ( -> > (name (min)) -> > (device 16777220) -> > (file 50112479) -> > (type "file") -> > (size 617068) -> > (permissions 755) -> > (nlinks 1) -> > (ctime 1496583112.0) -> > (atime 1496584370.0) -> > (mtime 1496583112.0) +> > ("name" (min)) +> > ("device" 16777220) +> > ("file" 50112479) +> > ("type" "file") +> > ("size" 617068) +> > ("permissions" 755) +> > ("nlinks" 1) +> > ("ctime" 1496583112.0) +> > ("atime" 1496584370.0) +> > ("mtime" 1496583112.0) > > )#} {#op||ftype||{{sl}}||{{s}}||
M site/contents/_includes/_reference-lang.mdsite/contents/_includes/_reference-lang.md

@@ -265,12 +265,12 @@ > >

> > The following program: > > > > ( -> > ((a 1) (b 2) (c 3)) ( +> > (("a" 1) ("b" 2) ("c" 3)) ( > > (dup /a succ succ %a) > > (dup /b succ %b) > > ) tap > > -> > Returns `((a 3) (b 3) (c 3))`.#} +> > Returns `(("a" 3) ("b" 3) ("c" 3))`.#} {#op||tap!||{{any}} {{q}}||{{any}}|| > Performs the following operations:
M site/contents/_includes/_reference-seq.mdsite/contents/_includes/_reference-seq.md

@@ -35,7 +35,7 @@ > > Example

> > > > The following program returns {{t}}: > > -> > ((a1 true) (a2 "aaa") (a3 false)) 'a2 dhas? +> > (("a1" true) ("a2" "aaa") ("a3" false)) 'a2 dhas? #} {#op||dset||{{d1}} {{any}} {{sl}}||{{d2}}||
M site/contents/_includes/_reference.mdsite/contents/_includes/_reference.md

@@ -54,27 +54,27 @@ : A dictionary value.

{{tinfo}} : A timeinfo dictionary: <pre><code>( - (year 2017) - (month 7) - (day 8) - (weekday 6) - (yearday 188) - (hour 15) - (minute 16) - (second 25) - (dst true) - (timezone -3600) + ("year" 2017) + ("month" 7) + ("day" 8) + ("weekday" 6) + ("yearday" 188) + ("hour" 15) + ("minute" 16) + ("second" 25) + ("dst" true) + ("timezone" -3600) ) </code></pre> {{e}} : An error dictionary: <pre><code>( - (error "MyError") - (message "An error occurred") - (symbol "symbol1") - (filename "dir1/file1.min") - (line 3) - (column 13) + ("error" "MyError") + ("message" "An error occurred") + ("symbol" "symbol1") + ("filename" "dir1/file1.min") + ("line" 3) + ("column" 13) ) </code></pre> {{t}}
M site/settings.jsonsite/settings.json

@@ -5,6 +5,6 @@ "templates": "templates",

"temp": "temp", "output": "output", "title": "min language", - "version": "0.10.1", + "version": "0.11.0", "rules": "rules.min" }