<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.atalasoft.com/cs/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>Rick Minerich's Development Wonderland : WebSharper, fsharp, Cocoa</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/tags/WebSharper/fsharp/Cocoa/default.aspx</link><description>Tags: WebSharper, fsharp, Cocoa</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>F# Discoveries This Week 12/14/2009</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/14/f-discoveries-this-week-12-14-2009.aspx</link><pubDate>Mon, 14 Dec 2009 16:06:20 GMT</pubDate><guid isPermaLink="false">647108ca-f046-4d8d-9feb-a7fbd2049b37:19865</guid><dc:creator>RickM</dc:creator><slash:comments>2</slash:comments><comments>http://www.atalasoft.com/cs/blogs/rickm/comments/19865.aspx</comments><wfw:commentRss>http://www.atalasoft.com/cs/blogs/rickm/commentrss.aspx?PostID=19865</wfw:commentRss><wfw:comment>http://www.atalasoft.com/cs/blogs/rickm/rsscomments.aspx?PostID=19865</wfw:comment><description>&lt;p&gt;An almost overwhelming number of posts this week with topics including the Skills Matter Programming Exchange, LAgent, data structures, service oriented architecture, monads, infinite sequences, timing F# functions, functional design, and much more.&amp;#160; Come in and check it out.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://blogs.msdn.com/dsyme/archive/2009/12/08/websharper-f-based-rich-client-server-web-applications.aspx"&gt;Don Syme on WebSharper: F#-based Rich Client/Server Web Applications&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Intellifactory seem to have set about answering the question of &amp;quot;just how simple, clean and productive can you make developing rich web applications that target Javascript?&amp;quot; (my words, not theirs).&amp;#160; While still in beta, signs are that Intellifactory are putting together an impressive technology that makes really good use of F#'s unique facilities to simplify this class of applications.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://mikehadlow.blogspot.com/2009/12/skills-matter-functional-programming.html"&gt;Mike Hadlow on the Skills Matter Functional Programming Exchange&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I had a great time today at the &lt;/em&gt;&lt;em&gt;Functional Programming Exchange&lt;/em&gt;&lt;em&gt; organised by &lt;/em&gt;&lt;em&gt;Robert Pickering&lt;/em&gt;&lt;em&gt; and &lt;/em&gt;&lt;em&gt;Skills Matter&lt;/em&gt;&lt;em&gt;. Robert managed to grab some really interesting speakers who gave a nice snapshot of the current art and use of FP.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;&amp;#160;&lt;/h3&gt;  &lt;h3&gt;&lt;a href="http://blogs.msdn.com/lucabol/archive/2009/12/10/lagent-an-agent-framework-in-f-part-x-activeobject.aspx"&gt;Luca Bolognese on LAgent: an agent framework in F# – Part X – ActiveObject&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;So you start thinking if there is a way to enhance vanilla objects to make them agents. You want to reuse all the concepts that you are familiar with (i.e. inheritance, visibility rules, etc…) and you want your clients to call agents as if they were calling normal objects. Obviously, under the cover, the method calls won’t execute immediately, but they would be queued.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://blogs.tedneward.com/2009/12/08/A+New+Kind+Of+Service.aspx"&gt;Ted Neward’s A New Kind of Service&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Why study new and different programming languages? To change your programming mindset. Not sure what I mean by that? Check this out.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://www.intellifactory.com/blogs/anton.tayanovskyy/2009/12/10/Generic-Workflow-Builders-%28Monads%29-in-F!sharp!.article"&gt;Anton Tayanovskyy on Generic Workflow Builders (Monads) in F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;This blog post is about a quick and dirty encoding of Haskell type classes in F#. With the ongoing work on the WebSharper™ project, we are currently very interested in coaxing the .NET type system to support writing code that is generalized over monads and applicative functors.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://www.intellifactory.com/blogs/anton.tayanovskyy/2009/12/11/Foldr-or-FoldBack-on-Infinite-F!sharp!-Sequences.article"&gt;Anton Tayanovskyy on Foldr or FoldBack on Infinite F# Sequences&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;A noticeable omission in F# standard library is Seq.foldBack, or the famous Haskell foldr. The semantics of foldr is very simple to remember: it replaces the native cons and nil of a list with arbitrary computations.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://www.intellifactory.com/blogs/anton.tayanovskyy/2009/12/8/The-Execution-Speed-of-Early-vs-Late-Binding-in-.NET.article"&gt;Anton Tayanovskyy on The Execution Speed of Early vs Late Binding&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;This little post documents one of my little experiments with F#, as I am educating myself on the .NET Framework fundamentals.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This post is also interesting because it describes how to turn on timing in F# interactive.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Julien Ortin’s Purely Functional Data Structures in F#: &lt;a href="http://lepensemoi.free.fr/index.php/2009/12/10/batched-queue"&gt;Batched Queue&lt;/a&gt;, &lt;a href="http://lepensemoi.free.fr/index.php/2009/12/10/binomial-heap"&gt;Binomal Heap&lt;/a&gt; and &lt;a href="http://lepensemoi.free.fr/index.php/2009/12/10/red-black-set"&gt;Red-black Set&lt;/a&gt; &lt;/h3&gt;  &lt;blockquote&gt;   &lt;p align="left"&gt;&lt;em&gt;This post describes the F# implementation of the &amp;lt;insert data structure here&amp;gt; from Chris Okasaki’s “Purely functional data structures”.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="left"&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://www.justinlee.sg/2009/12/09/infer-net-now-with-f-support/"&gt;Justin Lee’s Infer.NET – Now with F# Support&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Infer.NET is a framework for running Bayesian inference in graphical models. You can use it to solve many different kinds of machine learning problems, from standard problems like classification or clustering through to customised solutions to domain-specific problems.&lt;/em&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://sharp-gamedev.blogspot.com/2009/12/inheritance-nightmares.html"&gt;Joh’s Inheritance Nightmares&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;At this point, readers interested in F# and functional programming languages might wonder what all this has got to do with F#. I think that the common mix of mutability and inheritance is not a very strong basis for good software design. I never really realized that until I took a look at functional programming and immutability.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://talbottc.spaces.live.com/blog/cns!A6E0DA836D488CA6!401.entry"&gt;Talbott Crowell’s Slides from Parallel and Concurrent Programming with F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;As promised, please find the slides and source code for the demos.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://www.azamsharp.com/Posts/265_F__with_Ryan_Riley_Podcast.aspx"&gt;Ryan Riley Discusses F# on the HighOnCoding Podcast&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Last week I had the pleasure of recording a podcast with Ryan Riley about F# programming language. Ryan discussed different features of the F# language and how it can be used to build applications.&lt;/em&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://blog.ctaggart.com/"&gt;Cameron Taggart’s F# on Mac using Cocoa&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Laurent Etiemble created a &lt;/em&gt;&lt;a href="http://www.monobjc.net/"&gt;&lt;em&gt;Monobjc&lt;/em&gt;&lt;/a&gt;&lt;em&gt; project/library that allows access to Objective-C frameworks and libraries like Cocoa.&amp;#160; I just ported the first tutorial to F#.&amp;#160; I’m able to build it on my PC and run it on my Mac. &lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://www.markhneedham.com/blog/2009/12/09/haskell-vs-f-function-composition/"&gt;Mark Needham’s Haskell vs F#: Function Composition&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I'm reading through John Hughes' '&lt;/em&gt;&lt;a href="http://www.cs.chalmers.se/%7Erjmh/Papers/whyfp.html"&gt;&lt;em&gt;Why functional programming matters&lt;/em&gt;&lt;/a&gt;&lt;em&gt;' paper and one thing I've come across which is a bit counter intuitive to me is the Haskell function composition operator.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://mariusbancila.ro/blog/2009/12/07/fsharp-operations-on-list/"&gt;Marius Bancila’s F# Operations on List&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;In this post I want to show how you can implement common list operations: union, intersection, difference and concatenation.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://healthblog.vitraag.com/2009/12/f-functional-approach/"&gt;Viabhav Bhandari’s F# – Functional Approach&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;In this version of interesting programming concepts, I would like to highlight type system based pattern matching available in F#/OCAML, its very unique and extremely useful if you are parsing a structured list or working on a symbol table.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/14/f-discoveries-this-week-12-14-2009.aspx&amp;amp;;subject=F%23+Discoveries+This+Week+12%2f14%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/14/f-discoveries-this-week-12-14-2009.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/14/f-discoveries-this-week-12-14-2009.aspx&amp;amp;;title=F%23+Discoveries+This+Week+12%2f14%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/14/f-discoveries-this-week-12-14-2009.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/14/f-discoveries-this-week-12-14-2009.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/14/f-discoveries-this-week-12-14-2009.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/14/f-discoveries-this-week-12-14-2009.aspx&amp;amp;title=F%23+Discoveries+This+Week+12%2f14%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/14/f-discoveries-this-week-12-14-2009.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/14/f-discoveries-this-week-12-14-2009.aspx&amp;amp;;title=F%23+Discoveries+This+Week+12%2f14%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/14/f-discoveries-this-week-12-14-2009.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/14/f-discoveries-this-week-12-14-2009.aspx&amp;amp;;title=F%23+Discoveries+This+Week+12%2f14%2f2009&amp;amp;;top=1" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/14/f-discoveries-this-week-12-14-2009.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.atalasoft.com/cs/aggbug.aspx?PostID=19865" width="1" height="1"&gt;</description><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/F_2300_/default.aspx">F#</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/fsharp/default.aspx">fsharp</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/roundup/default.aspx">roundup</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/inheritance/default.aspx">inheritance</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/data+structures/default.aspx">data structures</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/monads/default.aspx">monads</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Timing/default.aspx">Timing</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Infinite+Sequences/default.aspx">Infinite Sequences</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/LAgent/default.aspx">LAgent</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/SoA/default.aspx">SoA</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Fold/default.aspx">Fold</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Cocoa/default.aspx">Cocoa</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/WebSharper/default.aspx">WebSharper</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Workflow+Builders/default.aspx">Workflow Builders</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Bayesian/default.aspx">Bayesian</category></item></channel></rss>