<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: The Flexible Series as a Core Concept of REBOL</title>
	<atom:link href="http://www.hostilefork.com/2008/09/05/the-flexible-series-as-a-core-concept-of-rebol/feed/" rel="self" type="application/rss+xml" />
	<link>http://hostilefork.com/2008/09/05/the-flexible-series-as-a-core-concept-of-rebol/</link>
	<description>a disgruntled developer taking a stand in the information multiverse</description>
	<pubDate>Sat, 04 Feb 2012 09:34:04 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
		<item>
		<title>By: Hostile Fork</title>
		<link>http://hostilefork.com/2008/09/05/the-flexible-series-as-a-core-concept-of-rebol/#comment-680</link>
		<dc:creator>Hostile Fork</dc:creator>
		<pubDate>Thu, 18 Sep 2008 02:33:13 +0000</pubDate>
		<guid isPermaLink="false">http://hostilefork.com/?p=77#comment-680</guid>
		<description>Hi SiKaNrOnG,

Well, certainly your feelings are not uncommon (and I share the opinion on the open source bit).  Beyond that, it's just generally hard to convince someone to give almost anything "new" a chance.  People are busy.

For instance I haven't learned to type on a Dvorak keyboard.  Even though I type all day, I refuse to try it without serious incentive.  Every time I go to another developer's terminal to look at something and they have to go switch the keyboard settings back to standard I roll my eyes.  It's definitely points off my evaluation of a developer if they do that sort of thing (due to the fact that it's all &lt;a href="http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard#Resistance_to_adoption" rel="nofollow"&gt;pseudoscience&lt;/a&gt;).

I'm willing to believe REBOL would fall in the category of things that will be perpetually off your radar.  But this set of articles here are an attempt to explain why I find the novelty of REBOL interesting.  Then again, I don't demand something be completely practical to think they're worth looking at.  Turing Machines sure aren't very "useful", but everyone who programs should become familiar with them at some point.

If you don't like weird language &#038; platform projects (like Erlang and Squeak and such) then you're almost certainly not going to like REBOL either.  People who feel that languages which are "Java, more or less" stay out of their way and let them achieve what they want in software will not be motivated to learn REBOL...</description>
		<content:encoded><![CDATA[<p>Hi SiKaNrOnG,</p>
<p>Well, certainly your feelings are not uncommon (and I share the opinion on the open source bit).  Beyond that, it&#8217;s just generally hard to convince someone to give almost anything &#8220;new&#8221; a chance.  People are busy.</p>
<p>For instance I haven&#8217;t learned to type on a Dvorak keyboard.  Even though I type all day, I refuse to try it without serious incentive.  Every time I go to another developer&#8217;s terminal to look at something and they have to go switch the keyboard settings back to standard I roll my eyes.  It&#8217;s definitely points off my evaluation of a developer if they do that sort of thing (due to the fact that it&#8217;s all <a href="http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard#Resistance_to_adoption" rel="nofollow" target="_blank" class="liwikipedia">pseudoscience</a>).</p>
<p>I&#8217;m willing to believe REBOL would fall in the category of things that will be perpetually off your radar.  But this set of articles here are an attempt to explain why I find the novelty of REBOL interesting.  Then again, I don&#8217;t demand something be completely practical to think they&#8217;re worth looking at.  Turing Machines sure aren&#8217;t very &#8220;useful&#8221;, but everyone who programs should become familiar with them at some point.</p>
<p>If you don&#8217;t like weird language &#038; platform projects (like Erlang and Squeak and such) then you&#8217;re almost certainly not going to like REBOL either.  People who feel that languages which are &#8220;Java, more or less&#8221; stay out of their way and let them achieve what they want in software will not be motivated to learn REBOL&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sikanrong</title>
		<link>http://hostilefork.com/2008/09/05/the-flexible-series-as-a-core-concept-of-rebol/#comment-679</link>
		<dc:creator>sikanrong</dc:creator>
		<pubDate>Thu, 18 Sep 2008 01:55:53 +0000</pubDate>
		<guid isPermaLink="false">http://hostilefork.com/?p=77#comment-679</guid>
		<description>Couldn't hate it more. Syntax is confusing and generally annoying. Don't know if I could ever familiarize myself with it, or why I would want to. Doesnt seem to offer any serious strengths. Also probably worthless until it's "Free as in free" and "Open as in source".</description>
		<content:encoded><![CDATA[<p>Couldn&#8217;t hate it more. Syntax is confusing and generally annoying. Don&#8217;t know if I could ever familiarize myself with it, or why I would want to. Doesnt seem to offer any serious strengths. Also probably worthless until it&#8217;s &#8220;Free as in free&#8221; and &#8220;Open as in source&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hostile Fork</title>
		<link>http://hostilefork.com/2008/09/05/the-flexible-series-as-a-core-concept-of-rebol/#comment-666</link>
		<dc:creator>Hostile Fork</dc:creator>
		<pubDate>Fri, 12 Sep 2008 21:08:41 +0000</pubDate>
		<guid isPermaLink="false">http://hostilefork.com/?p=77#comment-666</guid>
		<description>Hi Gregg, thanks again for another follow up.  I updated the article.  I'm using REBOL 2.7.6 actually, but I may have copy-pasted that example from somewhere instead of actually running in the interpreter.  So much for journalistic integrity, eh?

Someone pointed me toward ORCA:

http://freshmeat.net/projects/rebol-orca/

Since you seem close to the REBOL community, I am wondering if there is an official stance on disposition toward a competing GPL interpreter kernel.  Could it use the same mezzanine functions that the canonical version of REBOL does?  Can an official statement be made on what is and isn't allowed in terms of creating a clone, so people working on such an effort do not waste their time, only to face lawsuits when the project becomes big enough to be a "threat"?</description>
		<content:encoded><![CDATA[<p>Hi Gregg, thanks again for another follow up.  I updated the article.  I&#8217;m using REBOL 2.7.6 actually, but I may have copy-pasted that example from somewhere instead of actually running in the interpreter.  So much for journalistic integrity, eh?</p>
<p>Someone pointed me toward ORCA:</p>
<p><a href="http://freshmeat.net/projects/rebol-orca/" rel="nofollow" target="_blank" class="liexternal">http://freshmeat.net/projects/rebol-orca/</a></p>
<p>Since you seem close to the REBOL community, I am wondering if there is an official stance on disposition toward a competing GPL interpreter kernel.  Could it use the same mezzanine functions that the canonical version of REBOL does?  Can an official statement be made on what is and isn&#8217;t allowed in terms of creating a clone, so people working on such an effort do not waste their time, only to face lawsuits when the project becomes big enough to be a &#8220;threat&#8221;?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gregg Irwin</title>
		<link>http://hostilefork.com/2008/09/05/the-flexible-series-as-a-core-concept-of-rebol/#comment-664</link>
		<dc:creator>Gregg Irwin</dc:creator>
		<pubDate>Fri, 12 Sep 2008 16:26:32 +0000</pubDate>
		<guid isPermaLink="false">http://hostilefork.com/?p=77#comment-664</guid>
		<description>Someone noticed that you're using an older version of REBOL. In newer versions, FORALL remembers the series position, and returns the result of the last body evaluation. The behavior when break/return was used in the body was also considered during its rewrite.

Because many REBOL functions are written in REBOL themselves (they're called mezzanines, while funcs written in C are called natives), it's easy to change them to work how you want. That may make them incompatible with the standard versions, which is a problem, and getting a new version accepted as standard isn't easy. An enormous amount of effort goes into the design and evaluation of even simple functions. On the plus side, the community loves to see new ideas and talk about the best way to do things.</description>
		<content:encoded><![CDATA[<p>Someone noticed that you&#8217;re using an older version of REBOL. In newer versions, FORALL remembers the series position, and returns the result of the last body evaluation. The behavior when break/return was used in the body was also considered during its rewrite.</p>
<p>Because many REBOL functions are written in REBOL themselves (they&#8217;re called mezzanines, while funcs written in C are called natives), it&#8217;s easy to change them to work how you want. That may make them incompatible with the standard versions, which is a problem, and getting a new version accepted as standard isn&#8217;t easy. An enormous amount of effort goes into the design and evaluation of even simple functions. On the plus side, the community loves to see new ideas and talk about the best way to do things.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hostile Fork</title>
		<link>http://hostilefork.com/2008/09/05/the-flexible-series-as-a-core-concept-of-rebol/#comment-654</link>
		<dc:creator>Hostile Fork</dc:creator>
		<pubDate>Sat, 06 Sep 2008 21:33:52 +0000</pubDate>
		<guid isPermaLink="false">http://hostilefork.com/?p=77#comment-654</guid>
		<description>Hi there!  Always glad to find someone reading this blog!  :)

I updated the article a little since last night and added some more information....and a picture.   I've made a few better arguments, and did a little digging on LISP and contrasting it more accurately (see the section "Turtles All The Way Down").  While I was at it, I tried to say what I meant about the C++ iterators a little more clearly.  So if you have time to re-skim you might find it got better!

Truthfully, I speak Bjarne's moon language pretty well too.  But I still remember before I used STL and how alien it seemed.  Everyone I knew avoided it, so I figured I would too.  (Though today when I meet people who don't accept modern C++ I beg them to look at &lt;a href="http://www.research.att.com/~bs/papers.html" rel="nofollow"&gt;Guide To Learning C++ as a New Language&lt;/a&gt;.)

Bjarne has said "As I have often said, I consider not shipping a larger standard library my biggest mistake."  And the STL really did come onto the scene until late in the game.  C++ started being known to the public by its current name in 1993, and had made it out of academia and labs to reach the mass market as Turbo C++ in 1991.  The earliest version of the STL that was public that people could start trying for themselves was in 1994, but you had to download it off the Internet.

1997 saw the first version of Microsoft Visual C++ shipping the STL in the box, even while most of its documentation was still pushing their own &lt;a href="http://msdn.microsoft.com/en-us/library/942860sh(VS.80).aspx" rel="nofollow"&gt;MFC Collection Classes&lt;/a&gt; on developers.  Today the same factionalization continues even in more open projects.  Just look at the &lt;a href="http://doc.trolltech.com/4.3/containers.html#container-classes" rel="nofollow"&gt;Qt Collection Classes&lt;/a&gt;, or &lt;a href="http://docs.wxwidgets.org/2.8.6/wx_wxstring.html" rel="nofollow"&gt;the wxWidgets string type&lt;/a&gt;...Mozilla &lt;a href="http://developer.mozilla.org/en/XPCOM_string_guide" rel="nofollow"&gt;doesn't use any of these in its internal code&lt;/a&gt;, and it's one of the most prominent C++ programs!!!  Everyone can't be an idiot, so there must be something fundamental here.

On its native classes, REBOL does just about all the C++ iterators do and more, without needing an iterator class that's distinct from the object being iterated.  It's interesting to see the LISP ideas meshed so artfully with the best aspects of C++ iteration.  Not that REBOL doesn't have crazy maddening things in it, but I'll write about those in the next article.  :)

Thanks for commenting!</description>
		<content:encoded><![CDATA[<p>Hi there!  Always glad to find someone reading this blog!  <img src='http://hostilefork.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I updated the article a little since last night and added some more information&#8230;.and a picture.   I&#8217;ve made a few better arguments, and did a little digging on LISP and contrasting it more accurately (see the section &#8220;Turtles All The Way Down&#8221;).  While I was at it, I tried to say what I meant about the C++ iterators a little more clearly.  So if you have time to re-skim you might find it got better!</p>
<p>Truthfully, I speak Bjarne&#8217;s moon language pretty well too.  But I still remember before I used STL and how alien it seemed.  Everyone I knew avoided it, so I figured I would too.  (Though today when I meet people who don&#8217;t accept modern C++ I beg them to look at <a href="http://www.research.att.com/~bs/papers.html" rel="nofollow" target="_blank" class="liexternal">Guide To Learning C++ as a New Language</a>.)</p>
<p>Bjarne has said &#8220;As I have often said, I consider not shipping a larger standard library my biggest mistake.&#8221;  And the STL really did come onto the scene until late in the game.  C++ started being known to the public by its current name in 1993, and had made it out of academia and labs to reach the mass market as Turbo C++ in 1991.  The earliest version of the STL that was public that people could start trying for themselves was in 1994, but you had to download it off the Internet.</p>
<p>1997 saw the first version of Microsoft Visual C++ shipping the STL in the box, even while most of its documentation was still pushing their own <a href="http://msdn.microsoft.com/en-us/library/942860sh(VS.80).aspx" rel="nofollow" target="_blank" class="liexternal">MFC Collection Classes</a> on developers.  Today the same factionalization continues even in more open projects.  Just look at the <a href="http://doc.trolltech.com/4.3/containers.html#container-classes" rel="nofollow" target="_blank" class="liexternal">Qt Collection Classes</a>, or <a href="http://docs.wxwidgets.org/2.8.6/wx_wxstring.html" rel="nofollow" target="_blank" class="liexternal">the wxWidgets string type</a>&#8230;Mozilla <a href="http://developer.mozilla.org/en/XPCOM_string_guide" rel="nofollow" target="_blank" class="liexternal">doesn&#8217;t use any of these in its internal code</a>, and it&#8217;s one of the most prominent C++ programs!!!  Everyone can&#8217;t be an idiot, so there must be something fundamental here.</p>
<p>On its native classes, REBOL does just about all the C++ iterators do and more, without needing an iterator class that&#8217;s distinct from the object being iterated.  It&#8217;s interesting to see the LISP ideas meshed so artfully with the best aspects of C++ iteration.  Not that REBOL doesn&#8217;t have crazy maddening things in it, but I&#8217;ll write about those in the next article.  <img src='http://hostilefork.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Thanks for commenting!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Speaker of the moon language</title>
		<link>http://hostilefork.com/2008/09/05/the-flexible-series-as-a-core-concept-of-rebol/#comment-652</link>
		<dc:creator>Speaker of the moon language</dc:creator>
		<pubDate>Sat, 06 Sep 2008 05:01:47 +0000</pubDate>
		<guid isPermaLink="false">http://hostilefork.com/?p=77#comment-652</guid>
		<description>&lt;pre lang="cpp"&gt;
#include &lt;iostream&gt;
#include &lt;string&gt;
int main(int argc, char *argv[]) {
    std::string s = "This is a string.";
    for ( std::string::iterator it = s.begin(); it != s.end(); ++it)
        std::cout &lt;&lt; *it &lt;&lt; std::endl;
    return 0;
}
&lt;/pre&gt;

Both &lt;code&gt;iostream&lt;/code&gt; and &lt;code&gt;string&lt;/code&gt; are part of the C++ Standard Library (the "default" installation, if you will). C++ can be quite concise and elegant.</description>
		<content:encoded><![CDATA[
<div class="wp_syntax"><div class="code"><pre class="cpp"><span style="color: #339900;">#include &lt;iostream&gt;</span>
<span style="color: #339900;">#include &lt;string&gt;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> argc, <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>argv<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    std<span style="color: #008080;">::</span><span style="color: #00eeff;">string</span> s <span style="color: #000080;">=</span> <span style="color: #FF0000;">&quot;This is a string.&quot;</span>;
    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span> std<span style="color: #008080;">::</span><span style="color: #00eeff;">string</span><span style="color: #008080;">::</span><span style="color: #00eeff;">iterator</span> it <span style="color: #000080;">=</span> s.<span style="color: #00eeff;">begin</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>; it <span style="color: #000040;">!</span><span style="color: #000080;">=</span> s.<span style="color: #00eeff;">end</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>; <span style="color: #000040;">++</span>it<span style="color: #008000;">&#41;</span>
        std<span style="color: #008080;">::</span><span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #000040;">*</span>it <span style="color: #000080;">&lt;&lt;</span> std<span style="color: #008080;">::</span><span style="color: #00eeff;">endl</span>;
    <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span>;
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>Both <code>iostream</code> and <code>string</code> are part of the C++ Standard Library (the &#8220;default&#8221; installation, if you will). C++ can be quite concise and elegant.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

