> Isn't the braces "skin" supported?

OK, wow, I see that 
[compiler/syntaxes.nim](https://github.com/nim-lang/Nim/blob/devel/compiler/syntaxes.nim)
 has recently gained this surprise, but I didn't see it announced or documented 
anywhere...

Araq is always 11 moves ahead of everyone else. But this is an advocacy issue, 
to answer people whining about Nim's syntax - keeping something secret isn't 
how advertising usually works. 

> skin (parsing?) -> AST intermediate syntax -> backend (c, c++, ObjC, JS, 
> LLVM, ...)

That's the idea.

We should have tutorials showing how to fork and tweak Nim skins and get people 
excited about this possibility. Each skin will appeal to a different target 
audience and encourage them to be a part of the common Nim ecosystem, sharing 
the same nimble packages, etc.

* * *

There is a design problem in the FLOSS ecosystems today: the bloat caused by 
the proliferation of different incompatible runtimes. This is especially bad 
among scripting languages - since everyone wants to use their favorite, usually 
for very superficial reasons.

One guy [writes](http://www.lispcast.com/the-heart-of-unix): "I must have 
compilers or interpreters for 30 languages on my machine. Maybe more." Wow! 
Some people don't see bloat as a problem, but it is. That's a lot of 
duplication of effort, added complexity, added learning curve for someone who 
wants to understand the whole system, and added attack surface for security 
vulnerabilities!

In the Microsoft ecosystem there's CLR.NET, and in Android (and many other 
corporate cathedrals) there's the Java platform. People who don't like the Java 
language can use Kotlin, Groovy, Scala, Clojure, 
[etc](https://en.wikipedia.org/wiki/List_of_JVM_languages) \- without 
fragmenting the ecosystem and causing additional bloat.

I see Nim as the ideal userland language for a well-designed lean system, a 
future [copyfree](http://copyfree.org/standard/) answer to Ubuntu desktop or 
Android. But syntax arguments are perhaps the biggest barrier to being able to 
get everyone on the same page for such a project. 

Reply via email to