<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Sharp Things - All Comments</title><link>http://blogs.msdn.com/b/jomo_fisher/</link><description /><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>re: Hack the Build: Hide Items from Visual Studio Solution Explorer</title><link>http://blogs.msdn.com/b/jomo_fisher/archive/2005/01/25/360302.aspx#10415766</link><pubDate>Thu, 02 May 2013 21:27:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10415766</guid><dc:creator>Simon Cropp</dc:creator><description>&lt;p&gt;I am told this is now &lt;/p&gt;
&lt;p&gt;&amp;lt;Visible&amp;gt;false&amp;lt;/Visible&amp;gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10415766" width="1" height="1"&gt;</description></item><item><title>re: Hack the Build: Use ILMerge and MSBuild to Combine Multiple Assemblies into One</title><link>http://blogs.msdn.com/b/jomo_fisher/archive/2006/03/05/544144.aspx#10188204</link><pubDate>Wed, 20 Jul 2011 14:11:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10188204</guid><dc:creator>Ken van Riel</dc:creator><description>&lt;p&gt;Past this in the post-build cahnge the file name of the DLL&amp;#39;s.&lt;/p&gt;
&lt;p&gt;IF EXIST Merge GOTO MERGEDIR&lt;/p&gt;
&lt;p&gt;MKDIR Merge\&lt;/p&gt;
&lt;p&gt;:MERGEDIR&lt;/p&gt;
&lt;p&gt;&amp;quot;C:\Program Files\Microsoft\ILMerge\ILmerge.exe&amp;quot; /target:library /out:Merge\WSFClient.dll Microsoft.ApplicationBlocks.Data.dll WSFClient.dll&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10188204" width="1" height="1"&gt;</description></item><item><title>re: Hack the Build: Use Whidbey Beta2 to target .NET Runtime 1.1</title><link>http://blogs.msdn.com/b/jomo_fisher/archive/2005/04/22/410903.aspx#10075754</link><pubDate>Thu, 14 Oct 2010 08:40:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10075754</guid><dc:creator>akuzhan</dc:creator><description>&lt;p&gt;hi, &lt;/p&gt;
&lt;p&gt;i am using vs 2010 , i have a project has been written at vs 2003 .net 1.1. I want to use MSbee project , there 4 layer, 3 of them class libraries and they build perfectly. One of them Web application and it does not build. İs there any workaround it ? Or is it possible to build web applications ? I want to use vs 2010 target framework 1.1.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10075754" width="1" height="1"&gt;</description></item><item><title>re: Use FsLex and FsYacc to make a parser in F#</title><link>http://blogs.msdn.com/b/jomo_fisher/archive/2010/06/15/use-fslex-and-fsyacc-to-make-a-parser-in-f.aspx#10038029</link><pubDate>Wed, 14 Jul 2010 10:04:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10038029</guid><dc:creator>Nathan Phillips</dc:creator><description>&lt;p&gt;Thanks for the starter - I&amp;#39;ll be using this to quickly get started building my parser. The sample code is over-complicated for what it does though. Exactly the same effect (including operator precedence) is achieved with a single expression discriminator.&lt;/p&gt;
&lt;p&gt;From Ast.fs:&lt;/p&gt;
&lt;p&gt;type Expr =&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;| Float of Double&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;| Integer of Int32&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;| Times of Expr * Expr&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;| Divide of Expr * Expr&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;| Plus of Expr * Expr&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;| Minus of Expr * Expr&lt;/p&gt;
&lt;p&gt;From parser.fsy:&lt;/p&gt;
&lt;p&gt;Expr: &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;| Expr PLUS Term		{ Plus($1, $3) }&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;| Expr MINUS Term		{ Minus($1, $3) }&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;| Term			{ $1 }&lt;/p&gt;
&lt;p&gt;Term:&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;| Term ASTER Factor		{ Times($1, $3) }&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;| Term SLASH Factor		{ Divide($1, $3) }&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;| Factor			{ $1 }&lt;/p&gt;
&lt;p&gt;Factor:&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;| FLOAT			{ Float($1) }&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;| INT32			{ Integer($1) }&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;| LPAREN Expr RPAREN	{ $2 }&lt;/p&gt;
&lt;p&gt;From Program.fs:&lt;/p&gt;
&lt;p&gt;let rec evalExpr expr =&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;match expr with&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;| Float x &amp;nbsp; -&amp;gt; x&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;| Integer x -&amp;gt; float x&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;| Times (term, fact) &amp;nbsp;-&amp;gt; (evalExpr term) * (evalExpr fact)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;| Divide (term, fact) -&amp;gt; (evalExpr term) / (evalExpr fact)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;| Plus (expr, term) &amp;nbsp;-&amp;gt; (evalExpr expr) + (evalExpr term)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;| Minus (expr, term) -&amp;gt; (evalExpr expr) - (evalExpr term)&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10038029" width="1" height="1"&gt;</description></item><item><title>re: LINQ to SQL Trick: Get all Table Names</title><link>http://blogs.msdn.com/b/jomo_fisher/archive/2007/07/30/linq-to-sql-trick-get-all-table-names.aspx#10028413</link><pubDate>Tue, 22 Jun 2010 10:35:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10028413</guid><dc:creator>Caralyn</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;Very useful article, do you know how to or if it is possible to get the column names for a lINQ function as apposed to a table, I have tried replacing GetTables() with GetFunctions in the example above this returns my stored procedure names but than am totally stuck on how to get the column names from my stored procedure if at all possible?&lt;/p&gt;
&lt;p&gt;Thanks in advance!!!&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10028413" width="1" height="1"&gt;</description></item><item><title>re: Use FsLex and FsYacc to make a parser in F#</title><link>http://blogs.msdn.com/b/jomo_fisher/archive/2010/06/15/use-fslex-and-fsyacc-to-make-a-parser-in-f.aspx#10026182</link><pubDate>Wed, 16 Jun 2010 23:59:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10026182</guid><dc:creator>jhugard</dc:creator><description>&lt;p&gt;Just noticed that you updated the template. &amp;nbsp;However, it appears that the version downloaded from within VS2010 is still the old version - even deleting the AppData directory did not help.&lt;/p&gt;
&lt;p&gt;When you fix this, would you mind also updating the .vstemplate to enable PromptForSaveOnCreation, so that the template works when &amp;quot;Save new projects on creation&amp;quot; is turned off?&lt;/p&gt;
&lt;p&gt;Finally, make sure you don&amp;#39;t hard code the path to Program Files, since it won&amp;#39;t work if the root drive is not C:, and won&amp;#39;t work on an x64 install (since PowerPack is installed into &amp;quot;Program Files(x86)&amp;quot;... Relative off of $(MSBuildExtensionsPath32) worked just fine for me.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10026182" width="1" height="1"&gt;</description></item><item><title>re: Use FsLex and FsYacc to make a parser in F#</title><link>http://blogs.msdn.com/b/jomo_fisher/archive/2010/06/15/use-fslex-and-fsyacc-to-make-a-parser-in-f.aspx#10026176</link><pubDate>Wed, 16 Jun 2010 23:43:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10026176</guid><dc:creator>jhugard</dc:creator><description>&lt;p&gt;To update the template to work properly with PowerPack 2.0.0.0, find the following Zip file:&lt;/p&gt;
&lt;p&gt;C:\Users\&amp;lt;yourname&amp;gt;\AppData\Local\Microsoft\VisualStudio\10.0\Extensions\Jomo Fisher\F# Parsed Language Starter\1.2\Language\Language.zip&lt;/p&gt;
&lt;p&gt;Unpack the zip, and edit &amp;quot;Language.fsproj&amp;quot; find the line with &amp;quot;FSharpPowerPack-1.9.9.9&amp;quot; and replace with the following, then repack the zip.&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;HintPath&amp;gt;$(MSBuildExtensionsPath32)\..\FSharpPowerPack-2.0.0.0\bin\FSharp.PowerPack.dll&amp;lt;/HintPath&amp;gt;&lt;/p&gt;
&lt;p&gt;Also, if you have unchecked &amp;quot;Save new projects when created&amp;quot; via &amp;quot;Tools|Options&amp;quot;, then also edit &amp;quot;Language.vstemplate&amp;quot; to add the following line at the end of the &amp;lt;TemplateData&amp;gt; section:&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;&amp;lt;PromptForSaveOnCreation&amp;gt;true&amp;lt;/PromptForSaveOnCreation&amp;gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10026176" width="1" height="1"&gt;</description></item><item><title>re: Adventures in F#--Sweet Test-First Kung Fu</title><link>http://blogs.msdn.com/b/jomo_fisher/archive/2007/10/02/adventures-in-f-sweet-test-first-kung-fu.aspx#10026123</link><pubDate>Wed, 16 Jun 2010 21:41:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10026123</guid><dc:creator>Daniel Abramov</dc:creator><description>&lt;p&gt;Hi Jomo! I enjoy your blog a lot, being a C# 3.0 and LINQ fan.&lt;/p&gt;
&lt;p&gt;I just started having fun with F#, and your blog entries about its insides shed some light on it for me.&lt;/p&gt;
&lt;p&gt;However I find this snippet of your code misusing (or probably overusing) some functional concepts such as tail recursion or list pattern matching. I decided to rewrite it in a more eye-friendly way because this kind of thought purity is why I love F# for. I&amp;#39;m not sure if it is exactly as correct as yours but it looks sexier to me:&lt;/p&gt;
&lt;p&gt;open System&lt;/p&gt;
&lt;p&gt;let parseVersion (s:string) =&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;s.Split [|&amp;#39;v&amp;#39;; &amp;#39;.&amp;#39;|]&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;|&amp;gt; List.ofArray&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;|&amp;gt; List.filter ((&amp;lt;&amp;gt;) &amp;quot;&amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;|&amp;gt; List.map (Int32.Parse)&lt;/p&gt;
&lt;p&gt;let versions = [&amp;quot;1.0.0.1&amp;quot;; &amp;quot;v0.9&amp;quot;; &amp;quot;1.2.9&amp;quot;]&lt;/p&gt;
&lt;p&gt;let versions = strings |&amp;gt; List.map parseVersion&lt;/p&gt;
&lt;p&gt;List.iter2 (printfn &amp;quot;String &amp;#39;%s&amp;#39; has been parsed as %A&amp;quot;) strings versions &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10026123" width="1" height="1"&gt;</description></item><item><title>re: Use FsLex and FsYacc to make a parser in F#</title><link>http://blogs.msdn.com/b/jomo_fisher/archive/2010/06/15/use-fslex-and-fsyacc-to-make-a-parser-in-f.aspx#10025793</link><pubDate>Wed, 16 Jun 2010 14:24:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10025793</guid><dc:creator>pblasucci</dc:creator><description>&lt;p&gt;Nice work. Although the extension seems to fail if one uses 2.0.0.0 of the power pack; it complains it can not find the 1.9.9.9 version.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10025793" width="1" height="1"&gt;</description></item><item><title>re: Use FsLex and FsYacc to make a parser in F#</title><link>http://blogs.msdn.com/b/jomo_fisher/archive/2010/06/15/use-fslex-and-fsyacc-to-make-a-parser-in-f.aspx#10025748</link><pubDate>Wed, 16 Jun 2010 13:09:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10025748</guid><dc:creator>jarana</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The VS2010 template does not work for F# PowerPack 2.0.0.0. &lt;/p&gt;
&lt;p&gt;Is there a way to fix it?&lt;/p&gt;
&lt;p&gt;Thanks in advance.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10025748" width="1" height="1"&gt;</description></item></channel></rss>