<?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/"
	>

<channel>
	<title>Ranok&#039;s Ramblings &#187; lisp</title>
	<atom:link href="http://www.r4n0k.com/tag/lisp/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.r4n0k.com</link>
	<description>A peek into my life, and the projects I never complete</description>
	<lastBuildDate>Sat, 04 Feb 2012 16:36:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>New Programming Language: FANG</title>
		<link>http://www.r4n0k.com/2008/10/28/new-programming-language-fang/</link>
		<comments>http://www.r4n0k.com/2008/10/28/new-programming-language-fang/#comments</comments>
		<pubDate>Wed, 29 Oct 2008 01:52:40 +0000</pubDate>
		<dc:creator>ranok</dc:creator>
				<category><![CDATA[For Fun]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[lisp]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.r4n0k.com/?p=95</guid>
		<description><![CDATA[For the past few days, I have been slaving away working on my latest creation: FANG, a programming language that I&#8217;m hoping will combine some of the best features I&#8217;ve found in my studies and remove some of the cruft. It will have scheme/lisp like syntax and Erlang like processes, and some other neat features [...]]]></description>
			<content:encoded><![CDATA[<p>For the past few days, I have been slaving away working on my latest creation: FANG, a programming language that I&#8217;m hoping will combine some of the best features I&#8217;ve found in my studies and remove some of the cruft. It will have scheme/lisp like syntax and Erlang like processes, and some other neat features from other languages I&#8217;ve come across. After this weekend, I have a rough start which supports variables, lambda functions, and auto-memoizing clean functions. You can <a href="http://svn.cslabs.clarkson.edu/svn/fang/erl/">download the source from SVN</a> (username = password = anonymous) and check it out. Please feel free to comment with features to add, or things to change.</p>
<p>Features I want FANG to have:</p>
<ul>
<li>Clean scheme/lisp syntax and macros</li>
<li>Lightweight processes and multi-node support</li>
<li>Arbitrary precision number support</li>
<li>Process jailing and permission setting</li>
<li>Simple networking and file I/O</li>
<li>Others I&#8217;m sure I forgot&#8230;</li>
</ul>
<p>Code Examples:</p>
<ul>
<li>(defvar &#8216;fib (lambda &#8216;(n) &#8216;(if (&lt; n 3) (1) (+ (fib (- n 1)) (fib (- n 2)))))) &#8211; A plain recursive function that automatically will get memoized, so it&#8217;s rather speedy (use dirty-lambda to turn off the memoization)</li>
<li>(defvar &#8216;max (lambda &#8216;(a b) &#8216;(if (&gt; a b) (a) (b)))) &#8211; A simple max function used in findset</li>
<li>(defvar &#8216;findset (lambda &#8216;(l) &#8216;(if (== (length l) 0) 0 (if (== 1 (length l)) (hd l) (max (+ (hd l) (if (== 2 (length l))) 0 (findset (tl (tl l)))) (findset (tl l))))))) &#8211; A function for a homework assignment to find the highest weighted independent set in a path</li>
<li>(defvar &#8216;fact (lambda &#8216;(n) &#8216;(if (== 0 n) (1) (* n (fact (- n 1)))))) &#8211; A memoized factorial function</li>
</ul>
<p>Peace and chow,</p>
<p>Ranok</p>
]]></content:encoded>
			<wfw:commentRss>http://www.r4n0k.com/2008/10/28/new-programming-language-fang/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

