<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Rebol on Roads Less Taken</title><link>https://goran.krampe.se/categories/rebol/</link><description>Recent content in Rebol on Roads Less Taken</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sat, 09 Apr 2016 00:00:00 +0000</lastBuildDate><atom:link href="https://goran.krampe.se/categories/rebol/index.xml" rel="self" type="application/rss+xml"/><item><title>Spry image model</title><link>https://goran.krampe.se/2016/04/09/spry-image-model/</link><pubDate>Sat, 09 Apr 2016 00:00:00 +0000</pubDate><guid>https://goran.krampe.se/2016/04/09/spry-image-model/</guid><description>&lt;p>In developing Spry - &lt;a href="https://goran.krampe.se/ni-is-now-spry" >renamed from Ni&lt;/a>
 - I am getting closer to the &lt;strong>Really Fun Stuff&lt;/strong>.&lt;/p>
&lt;p>As a Smalltalker I dream &amp;ldquo;bigger&amp;rdquo; than just managing source code as text in files&amp;hellip;&lt;/p>
&lt;p>&lt;a href="http://www.azquotes.com/quote/847274" title="Kent Beck quote">&lt;img src="http://www.azquotes.com/picture-quotes/quote-i-mean-source-code-in-files-how-quaint-how-seventies-kent-beck-84-72-74.jpg" alt="I mean, source code in files; how quaint, how seventies! - Kent Beck" />
&lt;/a>&lt;/p>
&lt;p>Smalltalk uses the &amp;ldquo;image model&amp;rdquo; in which the system is alive and running all the time, the full development environment is also live together with your application, and we are in fact modifying object structures when we develop Smalltalk programs. We can also snapshot that object memory onto disk and fire it up somewhere else. Several Lisp implementations have used a similar approach I think.&lt;/p>
&lt;p>The image model has tons of really cool benefits, I don&amp;rsquo;t have time repeating all of them, but a modern implementation of the idea should take a few things into account that was not considered in the 1970s:&lt;/p>
&lt;ul>
&lt;li>The &amp;ldquo;image&amp;rdquo; in Spry will be buildable from source&lt;/li>
&lt;li>You should be able to use Spry without the image mechanism (you can already)&lt;/li>
&lt;li>Spry code will have a readable text format and file structure&lt;/li>
&lt;li>The image model does not have to be all or nothing, it can be partial&lt;/li>
&lt;li>The image mechanism will be a module for the Spry VM, so you can skip it entirely&lt;/li>
&lt;/ul>
&lt;p>Some argue that the image model has downsides - like being an &amp;ldquo;ivory tower&amp;rdquo; incapable of interacting with the outside world. The Smalltalk environments have indeed historically suffered a bit in varying degree, but we can easily find ways around those issues while still &lt;strong>reaping the awesomeness of a fully live&lt;/strong> programming environment, especially if we give the above items proper thought &lt;strong>from the start&lt;/strong>.&lt;/p>
&lt;p>With Spry I think I have a beginning to a novel approach&amp;hellip; as well as taking the above into account.&lt;/p></description></item><item><title>Adding objects to Ni!</title><link>https://goran.krampe.se/2015/09/25/adding-objects-to-ni/</link><pubDate>Fri, 25 Sep 2015 00:00:00 +0000</pubDate><guid>https://goran.krampe.se/2015/09/25/adding-objects-to-ni/</guid><description>&lt;p>So&amp;hellip; Ni has almost reached the point where I can see objects appearing. The following describes the design I &lt;strong>currently&lt;/strong> have in mind, read it and tell me what you think so I can scrap it and start over ;)&lt;/p>
&lt;img src="https://goran.krampe.se/ni/ni.png" alt="Ni" style="float:right; margin:0 0 1em 1em;"></description></item><item><title>Ni design decisions!</title><link>https://goran.krampe.se/2015/09/23/ni-design-decisions/</link><pubDate>Wed, 23 Sep 2015 00:00:00 +0000</pubDate><guid>https://goran.krampe.se/2015/09/23/ni-design-decisions/</guid><description>&lt;p>So&amp;hellip; my little Ni language got some attention since it was first &lt;a href="https://news.ycombinator.com/item?id=10235688" target="_blank" rel="noopener noreferrer">on Hackernews&lt;/a>
, then &lt;a href="http://www.theregister.co.uk/2015/09/18/we_are_the_knights_who_code_ni/" target="_blank" rel="noopener noreferrer">TheRegister&lt;/a>
, all over Twitter and also &lt;a href="https://www.reddit.com/r/programming/comments/3lfpym/ni_a_language_influenced_by_smalltalk_written_in/" target="_blank" rel="noopener noreferrer">Reddit&lt;/a>
.&lt;/p>
&lt;p>But I think it managed to come relatively unscathed out of it, although it &lt;strong>REALLY is pre-alpha-not-even-complete-eats-your-harddrive early&lt;/strong> and you know, I really have no idea if it ever will go the distance since it takes quite a bit of work to get a language to actually be used. But I am going to stick with it.&lt;/p>
&lt;p>Anyway, I have been experimenting with &amp;ldquo;arg words&amp;rdquo; and &amp;ldquo;lookup scoping&amp;rdquo; while thinking about how to add objects, and a few other things. This article doesn&amp;rsquo;t introduce how I want to do objects, but the next one does (I split it in two). This article however covers a bunch of loose ends and my ideas on how to tackle them in Ni. And I will try to make this understandable even if you don&amp;rsquo;t know Ni. ;)&lt;/p></description></item><item><title>Guts of Ni</title><link>https://goran.krampe.se/2015/09/22/guts-of-ni/</link><pubDate>Tue, 22 Sep 2015 00:00:00 +0000</pubDate><guid>https://goran.krampe.se/2015/09/22/guts-of-ni/</guid><description>&lt;p>This article describes some core parts of the current implementation of the Ni (now known as &lt;a href="https://goran.krampe.se/spry" >Spry&lt;/a>
) language. It&amp;rsquo;s not a tutorial, introduction or manual. It&amp;rsquo;s in &lt;strong>fact kinda incoherent - but so is Ni&lt;/strong> :)&lt;/p></description></item><item><title>Who says Ni?</title><link>https://goran.krampe.se/2015/09/16/who-says-ni/</link><pubDate>Wed, 16 Sep 2015 00:00:00 +0000</pubDate><guid>https://goran.krampe.se/2015/09/16/who-says-ni/</guid><description>&lt;p>Ni is my &lt;a href="https://goran.krampe.se/spry" >own little language&lt;/a>
 heavily influenced by &lt;a href="http://www.world.st" target="_blank" rel="noopener noreferrer">Smalltalk&lt;/a>
 but also other sources like Rebol, Forth, Lisp, Self and Nim. Ni is a bit strange, but it&amp;rsquo;s not academic and really meant to become something useful.&lt;/p>
&lt;p>So put on your helmet and let me take you to the shrubbery&amp;hellip;&lt;/p></description></item></channel></rss>