<div dir="ltr"><div><div>Congratulations, you made the main headline on The Register as I type this.<br><br><a href="http://www.theregister.co.uk/2015/09/18/we_are_the_knights_who_code_ni/">http://www.theregister.co.uk/2015/09/18/we_are_the_knights_who_code_ni/</a><br><br></div>Cheers,<br><br></div>- Peter<br></div><div class="gmail_extra"><br><div class="gmail_quote">On 16 September 2015 at 12:58, Göran Krampe <span dir="ltr">&lt;<a href="mailto:goran@krampe.se" target="_blank">goran@krampe.se</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi guys!<br>
<br>
Just wanted to give a pointer to a little language I am implementing:<br>
<br>
<a href="http://goran.krampe.se/2015/09/16/ni-a-strange-little-language/" rel="noreferrer" target="_blank">http://goran.krampe.se/2015/09/16/ni-a-strange-little-language/</a><br>
<br>
Is it a new Smalltalk-80? No.<br>
Is it Smalltalkish? Yes. But still quite different. :)<br>
<br>
The article tries to introduce some of the funkier aspects of Ni. In essence Ni is a homoiconic dynamically typed garbage collected 100% live language similar to Lisp/Rebol/Forth in its simplicity.<br>
<br>
But it also has Smalltalk keyword syntax, Smalltalk non local return, blocks-as-closures as in Smalltalk and well, perhaps a few more odds and ends similar to Smalltalk.<br>
<br>
And one of the next steps is adding objects to it. This will be based on a model of cloning and delegation and an object, so a bit closer to Self there.<br>
<br>
Why would you want to look at it? Because it breaks (or will break) a few barriers that most Smalltalks still suffer from... easy integration with C/C++, multithreading, embeddability and so on.<br>
<br>
Hope you find it interesting!<br>
<br>
regards, Göran<br>
<br>
PS. Fast? Nope. I mean, its decent for an AST interpreter but I haven&#39;t spent time optimizing it yet - it uses dynamically allocated things and methods (dynamic dispatch) quite heavily today.<br>
<br>
</blockquote></div><br></div>