I just came across ** [Min](https://min-lang.org) ** 
[[GH]](https://github.com/h3rald/min), a 
[concatenative](https://en.wikipedia.org/wiki/Concatenative_programming_language#Implementations)
 scripting language written in Nim by [Fabio](https://github.com/h3rald).

* * *

EMPHASIS ON MAIN LINK: [MIN-LANG.ORG](https://min-lang.org)

* * *

It was [announced on 
Reddit](https://www.reddit.com/r/nim/comments/6qkzd9/min_programming_language_implemented_in_nim/)
 but not here, whereas I would like to encourage everyone to give priority to 
this forum instead... So, to get the conversation here going, here's about five 
minutes worth of my random thoughts about Min:

  * Much of [this concat theory 
stuff](http://evincarofautumn.blogspot.it/2012/02/why-concatenative-programming-matters.html)
 is over my head right now, but right off the bat I was able to have some 
simple [RPL](https://en.wikipedia.org/wiki/Reverse_Polish_notation) fun in the 
Min [REPL shell](https://en.wikipedia.org/wiki/Read–eval–print_loop).
  * Looking at the [Min lib 
code](https://github.com/h3rald/min/tree/master/lib) shows how easy it is to 
wrap Nim code and export it to Min. But examples of how Min can be used (so far 
just [within the 
hastysite](https://github.com/h3rald/hastysite/tree/master/scripts) SSG) are 
very simplistic.
  * It would be interesting to have a discussion on what role Min can have 
within the Nim development ecosystem. As an imperative philistine, I currently 
don't understand its value beyond getting a conceptual understanding of a 
different seldom-used programming paradigm. I do understand the value of having 
scripting logic in run-time configuration files (especially for large programs 
like text editors and games), but in what situations is Min preferable to 
embedding [Lua](https://github.com/nim-lang/lua), JS, 
[Python](https://github.com/jboy/nim-pymod#what-about-calling-python-from-nim), 
etc?
  * This is a second homoiconic interpreted language I've heard about written 
in Nim (not counting [NimScript](https://nim-lang.org/docs/nims.html)). The 
first was [Spry](http://sprylang.org) [[GH]](https://github.com/gokr/spry) 
(inspired by Smalltalk and Rebol, formerly known as 
[Ni](http://goran.krampe.se/2016/04/08/ni-is-now-spry/)). Let me know if I 
missed any others. It would be interesting to discuss how they compare.


Reply via email to