<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Rough Book &#187; esoteric languages</title>
	<atom:link href="http://vivin.net/tag/esoteric-languages/feed/" rel="self" type="application/rss+xml" />
	<link>http://vivin.net</link>
	<description>random musings of just another computer nerd</description>
	<lastBuildDate>Wed, 02 May 2012 18:20:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>CherryBlossom</title>
		<link>http://vivin.net/2010/03/04/cherryblossom/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://vivin.net/2010/03/04/cherryblossom/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 02:58:26 +0000</pubDate>
		<dc:creator>vivin</dc:creator>
				<category><![CDATA[Arts]]></category>
		<category><![CDATA[Haiku]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Poetry]]></category>
		<category><![CDATA[Programming and Development]]></category>
		<category><![CDATA[brainf*ck]]></category>
		<category><![CDATA[brainfuck]]></category>
		<category><![CDATA[cherryblossom]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[esoteric languages]]></category>
		<category><![CDATA[haiku]]></category>
		<category><![CDATA[interpreters]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[parsers]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[poems]]></category>
		<category><![CDATA[poetry]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[programming languages]]></category>
		<category><![CDATA[project]]></category>

		<guid isPermaLink="false">http://vivin.net/?p=1451</guid>
		<description><![CDATA[I&#8217;ve created a project page for the CherryBlossom programming language. You can check it out here. The interpreter is written in perl.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve created a project page for the <em><strong>CherryBlossom</strong></em> programming language. You can check it out <a title = "CherryBlossom" href = "http://vivin.net/projects/cherryblossom" target="_self">here</a>. The interpreter is written in perl.</p>
<br /><a href="http://vivin.net/?p=1451#comments" title="Comments on &quot;CherryBlossom&quot;"><img src="http://vivin.net/wp-content/plugins/feed-comments-number/image.php?1451" alt="Comments" /></a><img src="http://vivin.net/?ak_action=api_record_view&#38;id=1451&#38;type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://vivin.net/2010/03/04/cherryblossom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:thumbnail url="http://vivin.net/wp-content/plugins/feed-comments-number/image.php?1451" />
		<media:content url="http://vivin.net/wp-content/plugins/feed-comments-number/image.php?1451" medium="image">
			<media:title type="html">Comments</media:title>
		</media:content>
		<media:content url="http://vivin.net/?ak_action=api_record_view&#38;id=1451&#38;type=feed" medium="image" />
	</item>
		<item>
		<title>Introducing CherryBlossom</title>
		<link>http://vivin.net/2010/03/02/introducing-cherryblossom/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://vivin.net/2010/03/02/introducing-cherryblossom/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 06:06:49 +0000</pubDate>
		<dc:creator>vivin</dc:creator>
				<category><![CDATA[Arts]]></category>
		<category><![CDATA[Haiku]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Poetry]]></category>
		<category><![CDATA[Programming and Development]]></category>
		<category><![CDATA[brainf*ck]]></category>
		<category><![CDATA[brainfuck]]></category>
		<category><![CDATA[cherryblossom]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[esoteric languages]]></category>
		<category><![CDATA[haiku]]></category>
		<category><![CDATA[interpreters]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[parsers]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[poems]]></category>
		<category><![CDATA[poetry]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[programming languages]]></category>
		<category><![CDATA[project]]></category>

		<guid isPermaLink="false">http://vivin.net/?p=1407</guid>
		<description><![CDATA[Over the past month, I&#8217;ve been working on a new project. It&#8217;s called CherryBlossom, and it&#8217;s a way to write programs using haikus. Strictly speaking, CherryBlossom is a brainfuck analog. I actually spent more time writing the obligatory &#8220;Hello World&#8221; program in CherryBlossom than I did writing the interpreter for the language. The idea behind [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past month, I&#8217;ve been working on a new project. It&#8217;s called <strong><em><a href="http://vivin.net/projects/cherryblossom">CherryBlossom</a></em></strong>, and it&#8217;s a way to write programs using <a href="http://en.wikipedia.org/wiki/Haiku">haikus</a>. Strictly speaking, <strong><em>CherryBlossom</em></strong> is a brainfuck analog. I actually spent more time writing the obligatory &#8220;Hello World&#8221; program in CherryBlossom than I did writing the interpreter for the language. The idea behind <strong><em>CherryBlossom</em></strong> is simple. Brainfuck instructions are mapped to words that convey the essence of the Brainfuck instruction. Of course, this is a little subjective and also a little abstract. </p>
<p>Ultimately, it serves as a way to make program code not just functional, but beautiful and artistic. Thus, we introduce a new criteria to programming. Your code must not only be elegant algorithmically, but must also be poetic and artistic (also, since program code consists of haikus, you need to represent your code in sets of 3 lines with the first and last lines having 5 syllables, and the second line 7. That is, conforming to haiku rules). <strong><em>CherryBlossom</em></strong> serves to blend the programmer and the poet into one entity (hopefully with amazing results).</p>
<p>Here is an example of &#8220;Hello World!&#8221; in<strong> <em>CherryBlossom</em></strong>. I have opted to use a spruced up div tag instead of enclosing my beautiful poem in soulless <em>sourcecode</em> tags.<br />
<span id="more-1407"></span></p>
<div style = "margin-left:auto; margin-right:auto; text-align:center; background-image:url('/wordpress/wp-content/uploads/2010/03/cherryblossom25t.png'); background-repeat:no-repeat; width:350px; font-weight:bold; font-style:italic; font-size:12pt; font-family:times new roman;">
beautiful jasmine<br />
your lovely fragrance heals me<br />
every morning</p>
<p>remembering you,<br />
dreaming of your lovely smile,<br />
when will you come here?</p>
<p>floating butterflies<br />
sunshine and summer flowers<br />
a lovely morning</p>
<p>blossoming hillside<br />
on a fragrant summer day<br />
blooming, flowering.</p>
<p>I can remember<br />
my happy dreams of summer<br />
it was beautiful</p>
<p>flying doves, sunrays<br />
beauty flying in sunshine<br />
rain in the valley.</p>
<p>snow falls in moonlight,<br />
returns to the mountainside.<br />
lovely, beautiful.</p>
<p>view from mountaintop<br />
is a beautiful painting,<br />
in summer sunshine.</p>
<p>the fragrant flowers<br />
and the pretty butterflies<br />
spring by singing creek.</p>
<p>beautiful morning<br />
butterflies by riverside<br />
floating in sunshine.</p>
<p>such a lovely sight,<br />
the valley waterfall is<br />
in the spring sunshine.</p>
<p>sunrays and sunshine,<br />
the butterflies and flowers<br />
loving the new spring.</p>
<p>the pretty flowers<br />
are dreaming of a summer<br />
with the smiling sun.</p>
<p>music from heaven,<br />
is melodious and sweet,<br />
dreamy and happy.</p>
<p>the river is cold<br />
and misty in the moonlight,<br />
in the autumn chill.</p>
<p>winter riverside,<br />
lonely, icy, and chilly<br />
darkening evening</p>
<p>the lonely winter,<br />
barren riverside ahead<br />
a dreaming poet
</p></div>
<p>Trust me, this does print out &#8220;Hello World!&#8221;! You might think I&#8217;m crazy, but I&#8217;m not! Either tomorrow or day after, I&#8217;ll add a new page to the Projects menu and you&#8217;ll see how CherryBlossom works and you will also have access to the interpreter!</p>
<br /><a href="http://vivin.net/?p=1407#comments" title="Comments on &quot;Introducing CherryBlossom&quot;"><img src="http://vivin.net/wp-content/plugins/feed-comments-number/image.php?1407" alt="Comments" /></a><img src="http://vivin.net/?ak_action=api_record_view&#38;id=1407&#38;type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://vivin.net/2010/03/02/introducing-cherryblossom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:thumbnail url="http://vivin.net/wp-content/plugins/feed-comments-number/image.php?1407" />
		<media:content url="http://vivin.net/wp-content/plugins/feed-comments-number/image.php?1407" medium="image">
			<media:title type="html">Comments</media:title>
		</media:content>
		<media:content url="http://vivin.net/?ak_action=api_record_view&#38;id=1407&#38;type=feed" medium="image" />
	</item>
		<item>
		<title>if-else in bAdkOde</title>
		<link>http://vivin.net/2009/12/16/if-else-in-badkode/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://vivin.net/2009/12/16/if-else-in-badkode/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 02:11:27 +0000</pubDate>
		<dc:creator>vivin</dc:creator>
				<category><![CDATA[Programming and Development]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[assembly language]]></category>
		<category><![CDATA[badkode]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[esoteric languages]]></category>
		<category><![CDATA[interpreters]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[logic]]></category>
		<category><![CDATA[parsers]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[programming languages]]></category>
		<category><![CDATA[project]]></category>

		<guid isPermaLink="false">http://vivin.net/?p=1321</guid>
		<description><![CDATA[I was talking to my CSE 200 (my first CS class at ASU) professor Richard Whitehouse about bAdkOde and he (rightly) pointed out that it didn&#8217;t have an explicit selection statement. He also said that unless I wanted it to be really ugly I&#8217;d need to have a selection statement. However, since I was going [...]]]></description>
			<content:encoded><![CDATA[<p>I was talking to my CSE 200 (my first CS class at ASU) professor Richard Whitehouse about <strong><a href="http://vivin.net/projects/badkode/">bAdkOde</a></strong> and he (rightly) pointed out that it didn&#8217;t have an explicit selection statement. He also said that unless I wanted it to be really ugly I&#8217;d need to have a selection statement. However, since I was going for ugly I figured that I&#8217;d just emulate the operation of an <em>if</em> and an <em>if-else</em> with the existing <em>while</em> statement.</p>
<p>If you know assembly, then you know that a <em>while</em> is simply a set of statements wrapped with a conditional branch at the top and a backwards branch at the bottom (or in other words, an <em>if</em> with a <em>goto</em> at the end. A <em>do-while</em> is simply a set of statements with a conditional branch (at the bottom) that branches to the top of the loop. In fact, in assembly programming there really aren&#8217;t any <em>for loops</em> or <em>while loops</em>. These keywords are simply abstractions and syntactic sugar. In <strong>bAdkOde</strong>, you can implement an <em>if</em> with the existing <em>while</em> statement if you explicitly make it break out of the loop. For example, let&#8217;s say that we want to check whether the user entered the character &#8220;0&#8243;:</p>
<pre class="brush: php">
?a
-48a
# print a line break
&quot;10
# if a is zero
{=a
 # print the string &quot;zero&quot;
 &quot;122&quot;101&quot;114&quot;111&quot;10
 # set the a register to a non-zero value so that we can break out of the loop
 &gt;1a
}
</pre>
<p>I knew there was a way to implement an <em>if-else</em> with just <em>while</em> statements but I didn&#8217;t remember exactly how. Then my friend and co-worker Juan reminded me that I needed two variables. In our case, we need to use two registers:</p>
<pre class="brush: php">
?a
-48a
# copy the value of a into b
&gt;ab
&quot;10
# if a is zero
{=a
 # print the string &quot;zero&quot;
 &quot;122&quot;101&quot;114&quot;111&quot;10
 # set the a register to a non-zero value so that we can break out of the loop
 &gt;1a
}
# if the top loop failed, it means that b (which holds the same value as a) is
# non-zero and so we can enter this block.
# if the top loop was successful, it means that b (which holds the same value
# as a) is zero and so we won&#039;t enter this block. Hence, the second block acts
# as an &#039;else&#039;
{!b
 # print the string &quot;non-zero&quot;
 &quot;110&quot;111&quot;110&quot;45&quot;122&quot;101&quot;114&quot;111&quot;10
 # zero out the b register
 &gt;0b
}
</pre>
<p>Yes, quite ugly. But that&#8217;s what I&#8217;m going for! <img src='http://vivin.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br /><a href="http://vivin.net/?p=1321#comments" title="Comments on &quot;if-else in bAdkOde&quot;"><img src="http://vivin.net/wp-content/plugins/feed-comments-number/image.php?1321" alt="Comments" /></a><img src="http://vivin.net/?ak_action=api_record_view&#38;id=1321&#38;type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://vivin.net/2009/12/16/if-else-in-badkode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:thumbnail url="http://vivin.net/wp-content/plugins/feed-comments-number/image.php?1321" />
		<media:content url="http://vivin.net/wp-content/plugins/feed-comments-number/image.php?1321" medium="image">
			<media:title type="html">Comments</media:title>
		</media:content>
		<media:content url="http://vivin.net/?ak_action=api_record_view&#38;id=1321&#38;type=feed" medium="image" />
	</item>
		<item>
		<title>bAdkOde: An Esoteric Language</title>
		<link>http://vivin.net/2009/12/13/badkode-an-esoteric-language/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://vivin.net/2009/12/13/badkode-an-esoteric-language/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 01:53:43 +0000</pubDate>
		<dc:creator>vivin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Programming and Development]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[badkode]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[esoteric languages]]></category>
		<category><![CDATA[interpreters]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[parsers]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[programming languages]]></category>
		<category><![CDATA[project]]></category>

		<guid isPermaLink="false">http://vivin.net/?p=1317</guid>
		<description><![CDATA[I&#8217;ve added another project to the projects page. It&#8217;s called bAdkOde, an interpreter for an esoteric language that I designed. The very first incarnation of bAdkOde was written in Java and I actually posted it (or made a blog entry about it) over 8 years ago. For some reason I took it down. Probably because [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve added another project to the projects page. It&#8217;s called <strong>bAdkOde</strong>, an interpreter for an <a title="Esoteric language" href="http://en.wikipedia.org/wiki/Esoteric_language" target="_blank">esoteric language</a> that I designed. The very first incarnation of <strong>bAdkOde</strong> was written in Java and I actually <a title="First post about bAdkOde" href="http://vivin.net/2001/04/07/new-interface-and-badkode/" target="_blank">posted it </a>(or made a blog entry about it) over 8 years ago. For some reason I took it down. Probably because I stopped working on it. Anyway, I redesigned the language and wrote an interpreter for it in Perl about 4 or 5 years ago. I finally got around to posting it. <a title="bAdkOde" href="http://vivin.net/projects/badkode/" target="_self">Check out</a> the project page for more details. Let me know what you think.</p>
<br /><a href="http://vivin.net/?p=1317#comments" title="Comments on &quot;bAdkOde: An Esoteric Language&quot;"><img src="http://vivin.net/wp-content/plugins/feed-comments-number/image.php?1317" alt="Comments" /></a><img src="http://vivin.net/?ak_action=api_record_view&#38;id=1317&#38;type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://vivin.net/2009/12/13/badkode-an-esoteric-language/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:thumbnail url="http://vivin.net/wp-content/plugins/feed-comments-number/image.php?1317" />
		<media:content url="http://vivin.net/wp-content/plugins/feed-comments-number/image.php?1317" medium="image">
			<media:title type="html">Comments</media:title>
		</media:content>
		<media:content url="http://vivin.net/?ak_action=api_record_view&#38;id=1317&#38;type=feed" medium="image" />
	</item>
	</channel>
</rss>

