<?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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>xacc.ide &#187; IronScheme</title>
	<atom:link href="http://xacc.wordpress.com/category/ironscheme/feed/" rel="self" type="application/rss+xml" />
	<link>http://xacc.wordpress.com</link>
	<description>A small, super fast, opensource and 100% C# IDE targetting .NET-based languages</description>
	<lastBuildDate>Wed, 06 Feb 2013 05:07:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='xacc.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/03c351062ae008cc5cfafe97d2141e31?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>xacc.ide &#187; IronScheme</title>
		<link>http://xacc.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://xacc.wordpress.com/osd.xml" title="xacc.ide" />
	<atom:link rel='hub' href='http://xacc.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Dynamic binding in C#</title>
		<link>http://xacc.wordpress.com/2011/02/02/dynamic-binding-in-c/</link>
		<comments>http://xacc.wordpress.com/2011/02/02/dynamic-binding-in-c/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 14:30:56 +0000</pubDate>
		<dc:creator>leppie</dc:creator>
				<category><![CDATA[Default]]></category>
		<category><![CDATA[IronScheme]]></category>

		<guid isPermaLink="false">http://xacc.wordpress.com/?p=370</guid>
		<description><![CDATA[So someone asked a question on StackOverflow today, and I gathered the best solution was to use dynamic binding. Here follows a simple example on how to achieve it: class DynamicConsole : TextWriter { readonly TextWriter orig; readonly TextWriter output; public DynamicConsole(string filename) { orig = Console.Out; output = File.AppendText(filename); Console.SetOut(output); } public override System.Text.Encoding [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xacc.wordpress.com&#038;blog=1242361&#038;post=370&#038;subd=xacc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>So someone asked a <a href="http://stackoverflow.com/questions/4873372/writing-console-out-to-different-output-files/4873649#4873649">question on StackOverflow</a> today, and I gathered the best solution was to use dynamic binding.</p>
<p>Here follows a simple example on how to achieve it:</p>
<pre style='color:black;background-color:white;font-family:Consolas,Bitstream Vera Sans Mono,Lucida Console,Courier New;'><FONT color="Blue">class</FONT> <FONT color="Teal">DynamicConsole</FONT> <FONT color="DarkBlue">:</FONT> <FONT color="Teal">TextWriter</FONT>
<FONT color="DarkBlue">{</FONT>
  <FONT color="Blue">readonly</FONT> <FONT color="Teal">TextWriter</FONT> orig<FONT color="DarkBlue">;</FONT>
  <FONT color="Blue">readonly</FONT> <FONT color="Teal">TextWriter</FONT> output<FONT color="DarkBlue">;</FONT>

  <FONT color="Blue">public</FONT> <FONT color="Teal">DynamicConsole</FONT><FONT color="DarkBlue">(</FONT><FONT color="Blue">string</FONT> filename<FONT color="DarkBlue">)</FONT>
  <FONT color="DarkBlue">{</FONT>
     orig <FONT color="DarkBlue">=</FONT> Console<FONT color="DarkBlue">.</FONT>Out<FONT color="DarkBlue">;</FONT>
    output <FONT color="DarkBlue">=</FONT> File<FONT color="DarkBlue">.</FONT>AppendText<FONT color="DarkBlue">(</FONT>filename<FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">;</FONT>
    Console<FONT color="DarkBlue">.</FONT>SetOut<FONT color="DarkBlue">(</FONT>output<FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">;</FONT>
  <FONT color="DarkBlue">}</FONT>

  <FONT color="Blue">public</FONT> <FONT color="Blue">override</FONT> System<FONT color="DarkBlue">.</FONT>Text<FONT color="DarkBlue">.</FONT><FONT color="Teal">Encoding</FONT> Encoding
  <FONT color="DarkBlue">{</FONT>
    <FONT color="Blue">get</FONT> <FONT color="DarkBlue">{</FONT> <FONT color="Blue">return</FONT> output<FONT color="DarkBlue">.</FONT>Encoding<FONT color="DarkBlue">;</FONT> <FONT color="DarkBlue">}</FONT>
  <FONT color="DarkBlue">}</FONT>

  <FONT color="Blue">public</FONT> <FONT color="Blue">override</FONT> <FONT color="Blue">void</FONT> Write<FONT color="DarkBlue">(</FONT><FONT color="Blue">char</FONT> value<FONT color="DarkBlue">)</FONT>
  <FONT color="DarkBlue">{</FONT>
    output<FONT color="DarkBlue">.</FONT>Write<FONT color="DarkBlue">(</FONT>value<FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">;</FONT>
  <FONT color="DarkBlue">}</FONT>

  <FONT color="Blue">protected</FONT> <FONT color="Blue">override</FONT> <FONT color="Blue">void</FONT> Dispose<FONT color="DarkBlue">(</FONT><FONT color="Blue">bool</FONT> disposing<FONT color="DarkBlue">)</FONT>
  <FONT color="DarkBlue">{</FONT>
    Console<FONT color="DarkBlue">.</FONT>SetOut<FONT color="DarkBlue">(</FONT>orig<FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">;</FONT>
    output<FONT color="DarkBlue">.</FONT>Dispose<FONT color="DarkBlue">(</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">;</FONT>
  <FONT color="DarkBlue">}</FONT>
<FONT color="DarkBlue">}</FONT></pre>
<p>Usage:</p>
<pre style='color:black;background-color:white;font-family:Consolas,Bitstream Vera Sans Mono,Lucida Console,Courier New;'>Console<FONT color="DarkBlue">.</FONT>WriteLine<FONT color="DarkBlue">(</FONT><FONT color="Maroon">"Real 1"</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">;</FONT>

<FONT color="Blue">using</FONT> <FONT color="DarkBlue">(</FONT><FONT color="Blue">new</FONT> DynamicConsole<FONT color="DarkBlue">(</FONT><FONT color="Maroon">"Foo.txt"</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">)</FONT>
<FONT color="DarkBlue">{</FONT>
  Console<FONT color="DarkBlue">.</FONT>WriteLine<FONT color="DarkBlue">(</FONT><FONT color="Maroon">"Moo"</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">;</FONT>

  <FONT color="Blue">using</FONT> <FONT color="DarkBlue">(</FONT><FONT color="Blue">new</FONT> DynamicConsole<FONT color="DarkBlue">(</FONT><FONT color="Maroon">"Bar.txt"</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">)</FONT>
  <FONT color="DarkBlue">{</FONT>
    Console<FONT color="DarkBlue">.</FONT>WriteLine<FONT color="DarkBlue">(</FONT><FONT color="Maroon">"Ork"</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">;</FONT>
  <FONT color="DarkBlue">}</FONT>

  Console<FONT color="DarkBlue">.</FONT>WriteLine<FONT color="DarkBlue">(</FONT><FONT color="Maroon">"Bar"</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">;</FONT>
<FONT color="DarkBlue">}</FONT>

Console<FONT color="DarkBlue">.</FONT>WriteLine<FONT color="DarkBlue">(</FONT><FONT color="Maroon">"Real 2"</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">;</FONT></pre>
<p>When running you get the following:</p>
<p>This will print to the Console:</p>
<p><code>Real 1<br />
Real 2</code></p>
<p>It will append to Foo.txt:</p>
<p><code>Moo<br />
Bar</code></p>
<p>It will append to Bar.txt:</p>
<p><code>Ork</code></p>
<p>I will update the code later to make it generic, so any property, method or field can be used for the dynamic binding. Stay tuned!</p>
<p><strong>Update:</strong></p>
<p>Posted an article on CodeProject last Friday. This is a generic implementation: <a href="http://www.codeproject.com/KB/cs/dynamicbindingincsharp.aspx">Dynamic binding in C#</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xacc.wordpress.com/370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xacc.wordpress.com/370/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xacc.wordpress.com&#038;blog=1242361&#038;post=370&#038;subd=xacc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://xacc.wordpress.com/2011/02/02/dynamic-binding-in-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/515ca9736a9a8ce65e58af764ccddf46?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">leppie</media:title>
		</media:content>
	</item>
		<item>
		<title>Using IronScheme in Unity3D</title>
		<link>http://xacc.wordpress.com/2011/02/01/using-ironscheme-in-unity3d/</link>
		<comments>http://xacc.wordpress.com/2011/02/01/using-ironscheme-in-unity3d/#comments</comments>
		<pubDate>Tue, 01 Feb 2011 18:26:10 +0000</pubDate>
		<dc:creator>leppie</dc:creator>
				<category><![CDATA[Default]]></category>
		<category><![CDATA[IronScheme]]></category>

		<guid isPermaLink="false">http://xacc.wordpress.com/?p=367</guid>
		<description><![CDATA[valerydc has successfully managed to embed and use IronScheme in Unity3D See http://forum.unity3d.com/threads/76266-Facilities-for-script-languages-Scheme-in-particular for details. You can also view the initial discussion @ http://ironscheme.codeplex.com/Thread/View.aspx?ThreadId=243958. Thanks a lot!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xacc.wordpress.com&#038;blog=1242361&#038;post=367&#038;subd=xacc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>valerydc has successfully managed to embed and use IronScheme in Unity3D  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>See <a href="http://forum.unity3d.com/threads/76266-Facilities-for-script-languages-Scheme-in-particular">http://forum.unity3d.com/threads/76266-Facilities-for-script-languages-Scheme-in-particular</a> for details. You can also view the initial discussion @ <a href="http://ironscheme.codeplex.com/Thread/View.aspx?ThreadId=243958">http://ironscheme.codeplex.com/Thread/View.aspx?ThreadId=243958</a>.</p>
<p>Thanks a lot!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xacc.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xacc.wordpress.com/367/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xacc.wordpress.com&#038;blog=1242361&#038;post=367&#038;subd=xacc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://xacc.wordpress.com/2011/02/01/using-ironscheme-in-unity3d/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/515ca9736a9a8ce65e58af764ccddf46?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">leppie</media:title>
		</media:content>
	</item>
		<item>
		<title>Writing fast arithmetic code on IronScheme</title>
		<link>http://xacc.wordpress.com/2010/12/02/writing-fast-arithmetic-code-on-ironscheme/</link>
		<comments>http://xacc.wordpress.com/2010/12/02/writing-fast-arithmetic-code-on-ironscheme/#comments</comments>
		<pubDate>Thu, 02 Dec 2010 05:50:19 +0000</pubDate>
		<dc:creator>leppie</dc:creator>
				<category><![CDATA[Default]]></category>
		<category><![CDATA[IronScheme]]></category>

		<guid isPermaLink="false">http://xacc.wordpress.com/?p=334</guid>
		<description><![CDATA[As some may have noticed, I have started actively working on IronScheme again. After a year of fiddling with other shit like microcontrollers and other hardware-related program, the itch for &#8216;bare-metal&#8217; knowledge has finally subsided enough to let IronScheme take preference. Also, the IronScheme source code is now under a BSD license. The DLR goodies [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xacc.wordpress.com&#038;blog=1242361&#038;post=334&#038;subd=xacc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>As some may have noticed, I have started actively working on IronScheme again. After a year of fiddling with other shit like microcontrollers and other hardware-related program, the itch for &#8216;bare-metal&#8217; knowledge has finally subsided enough to let IronScheme take preference.</p>
<p>Also, the IronScheme source code is now under a BSD license. The DLR goodies stays on MSPL however, as moving it to the new Apache license DLR would be too much effort. Now for the rest of the post.</p>
<p>So the general feeling is that most &#8216;dynamic&#8217; languages are pretty poor with number crunching. This is true, as code is mostly generic and have no static typing. The same goes for IronScheme, but you can make code (read hotspots) behave much better with only a little extra effort.</p>
<p>Let&#8217;s take the naive Fibonacci algorithm to use for this example.</p>
<pre style='color:black;background-color:white;font-family:Consolas,Bitstream Vera Sans Mono,Lucida Console,Courier New;'><FONT color="DarkBlue">(</FONT><FONT color="Blue">define</FONT> <FONT color="DarkBlue">(</FONT>fib n<FONT color="DarkBlue">)</FONT>
  <FONT color="DarkBlue">(</FONT><FONT color="Blue">if</FONT> <FONT color="DarkBlue">(</FONT><FONT color="Teal">&lt;</FONT> n <FONT color="Red">2</FONT><FONT color="DarkBlue">)</FONT>
      n
      <FONT color="DarkBlue">(</FONT><FONT color="Teal">+</FONT> <FONT color="DarkBlue">(</FONT>fib <FONT color="DarkBlue">(</FONT><FONT color="Teal">-</FONT> n <FONT color="Red">2</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">)</FONT> <FONT color="DarkBlue">(</FONT>fib <FONT color="DarkBlue">(</FONT><FONT color="Teal">-</FONT> n <FONT color="Red">1</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">)</FONT></pre>
<p>The main problem here is the usage of generic math operators. They are generally slow, as they cover the entire number hierarchy of Scheme. This can be improved by using the fixnum specific procedures.</p>
<pre style='color:black;background-color:white;font-family:Consolas,Bitstream Vera Sans Mono,Lucida Console,Courier New;'><FONT color="DarkBlue">(</FONT><FONT color="Blue">define</FONT> fibf <FONT color="DarkBlue">(</FONT><FONT color="Blue">lambda</FONT> <FONT color="DarkBlue">(</FONT>n<FONT color="DarkBlue">)</FONT>
  <FONT color="DarkBlue">(</FONT><FONT color="Blue">if</FONT> <FONT color="DarkBlue">(</FONT><FONT color="Teal">fx&lt;?</FONT> n <FONT color="Red">2</FONT><FONT color="DarkBlue">)</FONT>
      n
      <FONT color="DarkBlue">(</FONT><FONT color="Teal">fx+</FONT> <FONT color="DarkBlue">(</FONT>fibf <FONT color="DarkBlue">(</FONT><FONT color="Teal">fx-</FONT> n <FONT color="Red">1</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">)</FONT> <FONT color="DarkBlue">(</FONT>fibf <FONT color="DarkBlue">(</FONT><FONT color="Teal">fx-</FONT> n <FONT color="Red">2</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">)</FONT></pre>
<p>While the above run significantly faster (about 5 times faster), there is still quite a bit of overhead due to boxing of value types, and overflow checks. This can now be improved by using a statically typed variant of lambda called typed-lambda, and by using some &#8216;unsafe&#8217; operators provided by IronScheme.</p>
<pre style='color:black;background-color:white;font-family:Consolas,Bitstream Vera Sans Mono,Lucida Console,Courier New;'><FONT color="DarkBlue">(</FONT><FONT color="Blue">define</FONT> fibt <FONT color="DarkBlue">(</FONT>typed-lambda <FONT color="DarkBlue">(</FONT>n<FONT color="DarkBlue">)</FONT> <FONT color="DarkBlue">(</FONT><FONT color="DarkBlue">(</FONT>Int32<FONT color="DarkBlue">)</FONT> Int32<FONT color="DarkBlue">)</FONT>
  <FONT color="DarkBlue">(</FONT><FONT color="Blue">if</FONT> <FONT color="DarkBlue">(</FONT>$fx&lt;? n <FONT color="Red">2</FONT><FONT color="DarkBlue">)</FONT>
      n
      <FONT color="DarkBlue">(</FONT>$fx+ <FONT color="DarkBlue">(</FONT>fibt <FONT color="DarkBlue">(</FONT>$fx- n <FONT color="Red">1</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">)</FONT> <FONT color="DarkBlue">(</FONT>fibt <FONT color="DarkBlue">(</FONT>$fx- n <FONT color="Red">2</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">)</FONT><FONT color="DarkBlue">)</FONT></pre>
<p>The above only requires minor changes again, that could be easily made transparent with a macro or 2. The result is a very fast procedure that runs optimally on .NET (when compared to the same code generated by the C# compiler). My tests show it running almost 13 times faster than the fixnum version and subsequently around 60 times faster than the original generic approach.</p>
<p>Here are timings for all of the above:</p>
<pre>isc fibs.sps
Statistics for '(fib 35)':
  Real Time:  8357ms
  CPU Time:   8344ms
  User Time:  8344ms
  GC's:       0
Statistics for '(fibf 35)':
  Real Time:  1826ms
  CPU Time:   1828ms
  User Time:  1828ms
  GC's:       0
Statistics for '(fibt 35)':
  Real Time:  147ms
  CPU Time:   141ms
  User Time:  141ms
  GC's:       0 </pre>
<p><strong>Update:</strong></p>
<p>On the same PC, IronPython 2.6 takes 3150ms for a <a href="http://en.literateprograms.org/Fibonacci_numbers_%28Python%29">naive fib</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xacc.wordpress.com/334/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xacc.wordpress.com/334/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xacc.wordpress.com&#038;blog=1242361&#038;post=334&#038;subd=xacc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://xacc.wordpress.com/2010/12/02/writing-fast-arithmetic-code-on-ironscheme/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/515ca9736a9a8ce65e58af764ccddf46?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">leppie</media:title>
		</media:content>
	</item>
		<item>
		<title>Experimental monolitic IronScheme executable</title>
		<link>http://xacc.wordpress.com/2009/11/16/experimental-monolitic-ironscheme-executable/</link>
		<comments>http://xacc.wordpress.com/2009/11/16/experimental-monolitic-ironscheme-executable/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 15:35:52 +0000</pubDate>
		<dc:creator>leppie</dc:creator>
				<category><![CDATA[Default]]></category>
		<category><![CDATA[IronScheme]]></category>

		<guid isPermaLink="false">http://xacc.wordpress.com/?p=314</guid>
		<description><![CDATA[Hi A common request is to have some form of compiled libraries to run a Scheme program, and not relying on source files for the program to run. This is already provided in IronScheme via precompiled/serialized libraries, but still results in a &#8216;binary&#8217; format for every library file, which in turn can end up being [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xacc.wordpress.com&#038;blog=1242361&#038;post=314&#038;subd=xacc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Hi</p>
<p>A common request is to have some form of compiled libraries to run a Scheme program, and not relying on source files for the program to run.</p>
<p>This is already provided in IronScheme via precompiled/serialized libraries, but still results in a &#8216;binary&#8217; format for every library file, which in turn can end up being quite a few with a fixed directory structure.</p>
<p>So yesterday I worked around a serialization bug that hindered my progress on improving this.</p>
<p>I have added the following:<br />
1. Created a container package to shove all precompiled libraries in.<br />
2. Added the ability to use ILMerge to merge all the assemblies into 1 executable.<br />
3. And for bonus points, I added the ability to include the container package into such a merged executable, resulting in 1 fat executable with all the libraries included.</p>
<p>For now, you can go to <a href="http://ironscheme.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=35937">this IronScheme page</a> and download the result of step 3. A 21MB executable with everything to run IronScheme, including all IronScheme and SRFI and miscellaneous libraries.</p>
<p>Of course your own program may not need all the libraries, so you could chose to only merge the &#8216;base&#8217; 2.1mb executable with say 1mb of libraries.</p>
<p>I will add some documentation later to explain how to craft these.</p>
<p>Cheers</p>
<p>leppie</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xacc.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xacc.wordpress.com/314/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xacc.wordpress.com&#038;blog=1242361&#038;post=314&#038;subd=xacc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://xacc.wordpress.com/2009/11/16/experimental-monolitic-ironscheme-executable/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/515ca9736a9a8ce65e58af764ccddf46?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">leppie</media:title>
		</media:content>
	</item>
		<item>
		<title>IronScheme and C# 4&#8242;s new dynamic keyword</title>
		<link>http://xacc.wordpress.com/2009/10/27/ironscheme-and-c-4s-new-dynamic-keyword/</link>
		<comments>http://xacc.wordpress.com/2009/10/27/ironscheme-and-c-4s-new-dynamic-keyword/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 16:01:23 +0000</pubDate>
		<dc:creator>leppie</dc:creator>
				<category><![CDATA[Default]]></category>
		<category><![CDATA[IronScheme]]></category>

		<guid isPermaLink="false">http://xacc.wordpress.com/?p=309</guid>
		<description><![CDATA[So everyone (well all the IronXXX people) is doing it, so I might well too I present using IronScheme in C# 4: class Program { static dynamic Scheme = new SchemeEnvironment(); static void Main(string[] args) { var list = Scheme.list; var map = Scheme.map; var reverse = Scheme.reverse; Func&#60;int, int&#62; f = x =&#62; x [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xacc.wordpress.com&#038;blog=1242361&#038;post=309&#038;subd=xacc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>So everyone (well all the IronXXX people) is doing it, so I might well too  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I present using IronScheme in C# 4:</p>
<pre>
class Program
{
  static dynamic Scheme = new SchemeEnvironment();

  static void Main(string[] args)
  {
    var list = Scheme.list;
    var map = Scheme.map;
    var reverse = Scheme.reverse;

    Func&lt;int, int&gt; f = x =&gt; x * x;

    var r = map(f, reverse(map(f, list(1, 2, 3))));

    Console.WriteLine(r.car); // prints 81
  }
}
</pre>
<p>The implementation is straight forward, and can be viewed <a href="http://ironscheme.codeplex.com/wikipage?title=net_dynamic">here</a>. I just involves a simple Linq expression.  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Cheers</p>
<p>leppie</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xacc.wordpress.com/309/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xacc.wordpress.com/309/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xacc.wordpress.com&#038;blog=1242361&#038;post=309&#038;subd=xacc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://xacc.wordpress.com/2009/10/27/ironscheme-and-c-4s-new-dynamic-keyword/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/515ca9736a9a8ce65e58af764ccddf46?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">leppie</media:title>
		</media:content>
	</item>
		<item>
		<title>IronScheme 1.0 RC 1 released</title>
		<link>http://xacc.wordpress.com/2009/10/24/ironscheme-1-0-rc-1-released/</link>
		<comments>http://xacc.wordpress.com/2009/10/24/ironscheme-1-0-rc-1-released/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 10:22:05 +0000</pubDate>
		<dc:creator>leppie</dc:creator>
				<category><![CDATA[Default]]></category>
		<category><![CDATA[IronScheme]]></category>

		<guid isPermaLink="false">http://xacc.wordpress.com/?p=306</guid>
		<description><![CDATA[Hi After just over 1 year in beta phase, IronScheme has moved into release candidate phase. Download and release notes for IronScheme 1.0 RC 1. Cheers leppie<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xacc.wordpress.com&#038;blog=1242361&#038;post=306&#038;subd=xacc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Hi</p>
<p>After just over 1 year in beta phase, IronScheme has moved into release candidate phase.</p>
<p><a href="http://ironscheme.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=34587">Download and release notes for IronScheme 1.0 RC 1</a>.</p>
<p>Cheers</p>
<p>leppie</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xacc.wordpress.com/306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xacc.wordpress.com/306/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xacc.wordpress.com&#038;blog=1242361&#038;post=306&#038;subd=xacc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://xacc.wordpress.com/2009/10/24/ironscheme-1-0-rc-1-released/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/515ca9736a9a8ce65e58af764ccddf46?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">leppie</media:title>
		</media:content>
	</item>
		<item>
		<title>Replaced BigInteger implementation with a faster one</title>
		<link>http://xacc.wordpress.com/2009/10/13/replaced-biginteger-implementation-with-a-faster-one/</link>
		<comments>http://xacc.wordpress.com/2009/10/13/replaced-biginteger-implementation-with-a-faster-one/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 17:44:32 +0000</pubDate>
		<dc:creator>leppie</dc:creator>
				<category><![CDATA[Default]]></category>
		<category><![CDATA[IronScheme]]></category>

		<guid isPermaLink="false">http://xacc.wordpress.com/?p=304</guid>
		<description><![CDATA[Hi I have recently checked in code that completely removes the usage (and in fact removes it from existence) of the DLR&#8217;s BigInteger implementation and replaces it with the IntX big number implementation. The new code provides much better performance in terms of multiplication of very big numbers. Although I have not benchmarked it, I [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xacc.wordpress.com&#038;blog=1242361&#038;post=304&#038;subd=xacc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Hi</p>
<p>I have recently checked in code that completely removes the usage (and in fact removes it from existence) of the DLR&#8217;s BigInteger implementation and replaces it with the IntX big number implementation.</p>
<p>The new code provides much better performance in terms of multiplication of very big numbers. Although I have not benchmarked it, I suspect the other operations are slightly faster too, given that quality of the implementation.</p>
<p>The &#8216;port&#8217; was done in-place. First, the C# was modified and recompiled, then the bootfile was disassembled, and patched with the new type, and recompiled. Lastly, the new type was extended to make its interface (aka public methods) was compatible in terms of IL method signatures.</p>
<p>The rest, just involved some testing, and minor bug fixing. It should all work as before, and be completely transparent.</p>
<p>I did however come across a weirdass bug, where a case statement will fail to match. I couldn&#8217;t repro it at all, even after days of debugging/trying/crying&#8230;.</p>
<p>Please notify me of any big number related bugs  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Cheers</p>
<p>leppie</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xacc.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xacc.wordpress.com/304/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xacc.wordpress.com&#038;blog=1242361&#038;post=304&#038;subd=xacc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://xacc.wordpress.com/2009/10/13/replaced-biginteger-implementation-with-a-faster-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/515ca9736a9a8ce65e58af764ccddf46?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">leppie</media:title>
		</media:content>
	</item>
		<item>
		<title>IronScheme now supports compile time records</title>
		<link>http://xacc.wordpress.com/2009/09/22/ironscheme-now-supports-compile-time-records/</link>
		<comments>http://xacc.wordpress.com/2009/09/22/ironscheme-now-supports-compile-time-records/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 07:48:32 +0000</pubDate>
		<dc:creator>leppie</dc:creator>
				<category><![CDATA[Default]]></category>
		<category><![CDATA[IronScheme]]></category>

		<guid isPermaLink="false">http://xacc.wordpress.com/?p=302</guid>
		<description><![CDATA[As per the R6RS, I have now partially exploited compile time information to define record types at compile time if possible. Currently, it is only possible in the bootfile and only defines the &#8216;shape&#8217; of the record (iow fields). Further work will include making direct constructor (if possible), predicate, accessor and mutator references. This should [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xacc.wordpress.com&#038;blog=1242361&#038;post=302&#038;subd=xacc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>As per the R6RS, I have now partially exploited compile time information to define record types at compile time if possible. Currently, it is only possible in the bootfile and only defines the &#8216;shape&#8217; of the record (iow fields).</p>
<p>Further work will include making direct constructor (if possible), predicate, accessor and mutator references. This should provide a nice little speed boost.</p>
<p>Cheers</p>
<p>leppie</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xacc.wordpress.com/302/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xacc.wordpress.com/302/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xacc.wordpress.com&#038;blog=1242361&#038;post=302&#038;subd=xacc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://xacc.wordpress.com/2009/09/22/ironscheme-now-supports-compile-time-records/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/515ca9736a9a8ce65e58af764ccddf46?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">leppie</media:title>
		</media:content>
	</item>
		<item>
		<title>(ironscheme clr shorthand)</title>
		<link>http://xacc.wordpress.com/2009/08/21/ironscheme-clr-shorthand/</link>
		<comments>http://xacc.wordpress.com/2009/08/21/ironscheme-clr-shorthand/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 21:03:39 +0000</pubDate>
		<dc:creator>leppie</dc:creator>
				<category><![CDATA[Default]]></category>
		<category><![CDATA[IronScheme]]></category>

		<guid isPermaLink="false">http://xacc.wordpress.com/?p=283</guid>
		<description><![CDATA[I have moved with-clr-type and friends to the (ironscheme clr shorthand) library. clr-call, clr-field-get and clr-field-set! have been modified to infer the type based on the instance argument. This is good news, as it allows me to apply with-clr-type&#8216;s shorthand syntax fluidly (or recursively). To utilize this feature, you simply have to pass #f as [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xacc.wordpress.com&#038;blog=1242361&#038;post=283&#038;subd=xacc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I have moved <code>with-clr-type</code> and friends to the <code>(ironscheme clr shorthand)</code> library.</p>
<p><code>clr-call</code>, <code>clr-field-get</code> and <code>clr-field-set!</code> have been modified to infer the type based on the instance argument. This is good news, as it allows me to apply <code>with-clr-type</code>&#8216;s shorthand syntax fluidly (or recursively). </p>
<p>To utilize this feature, you simply have to pass <code>#f</code> as the type argument in the macros. Note: This only applies to instance members. For static members, you are still required to provide the type.</p>
<p>The method and indexer syntax has been slightly modified to accommodate this.</p>
<p>The new <code>body</code> syntax is as follows (<code>rest</code> denotes continuable syntax):</p>
<pre>
(obj : id (arg ...) . rest) ; calls method 'id' with args
(obj : (arg ...) = value)   ; sets the indexer with args to a value
(obj : (arg ...) . rest)    ; gets the indexer with args
(obj : id = value)          ; sets a property 'id' to a value
(obj : id . rest)           ; gets a property 'id'
(obj -&gt; id = value)         ; sets a field 'id' to a value
(obj -&gt; id . rest)          ; gets a field 'id'
</pre>
<p>;<br />
Example (given the class defined in the previous posting):</p>
<pre>
(let-clr-type ((obj (TestClass "foo"))) 
  (obj : Message : (1))) ; C#: obj.Message[1]
=&gt; #\o
</pre>
<p>;<br />
Also added to the <code>(ironscheme clr shorthand)</code> library are <code>define-clr-type</code> and <code>lambda-clr-type</code> syntax, that binds and defines procedures with their arguments tagged as CLR types.</p>
<p>As you can see, now the ability to use .NET libraries should be a lot easier.  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xacc.wordpress.com/283/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xacc.wordpress.com/283/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xacc.wordpress.com&#038;blog=1242361&#038;post=283&#038;subd=xacc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://xacc.wordpress.com/2009/08/21/ironscheme-clr-shorthand/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/515ca9736a9a8ce65e58af764ccddf46?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">leppie</media:title>
		</media:content>
	</item>
		<item>
		<title>Added another CLR helper &#8211; let-clr-type</title>
		<link>http://xacc.wordpress.com/2009/08/19/added-another-clr-helper-let-clr-type/</link>
		<comments>http://xacc.wordpress.com/2009/08/19/added-another-clr-helper-let-clr-type/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 10:26:06 +0000</pubDate>
		<dc:creator>leppie</dc:creator>
				<category><![CDATA[Default]]></category>
		<category><![CDATA[IronScheme]]></category>

		<guid isPermaLink="false">http://xacc.wordpress.com/?p=281</guid>
		<description><![CDATA[This one looks like a normal &#8216;let&#8217; form, but binds to CLR constructed objects instead. Usage: (let-clr-type ((obj (TestClass "foo))) ; same as 'clr-new', but without 'clr-new' identifier (obj : Message))<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xacc.wordpress.com&#038;blog=1242361&#038;post=281&#038;subd=xacc&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>This one looks like a normal &#8216;let&#8217; form, but binds to CLR constructed objects instead.</p>
<p>Usage:</p>
<pre>
(let-clr-type ((obj (TestClass "foo))) ; same as 'clr-new', but without 'clr-new' identifier
   (obj : Message))
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xacc.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xacc.wordpress.com/281/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xacc.wordpress.com&#038;blog=1242361&#038;post=281&#038;subd=xacc&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://xacc.wordpress.com/2009/08/19/added-another-clr-helper-let-clr-type/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/515ca9736a9a8ce65e58af764ccddf46?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">leppie</media:title>
		</media:content>
	</item>
	</channel>
</rss>
