<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-3752573690854836522.comments</id><updated>2012-05-14T14:28:20.000Z</updated><category term='destructor'/><category term='control'/><category term='lru'/><category term='e-world'/><category term='bug'/><category term='free'/><category term='morris sequence'/><category term='regexp'/><category term='poll'/><category term='fast fourier transform'/><category term='foundations of f#'/><category term='algorithms'/><category term='using'/><category term='skills matter'/><category term='native code'/><category term='augmentations'/><category term='roadmap'/><category term='lzw'/><category term='sudoku'/><category term='monadic'/><category term='MissingMethodException'/><category term='resources'/><category term='classes'/><category term='searching'/><category term='sparse linear algebra'/><category term='balanced tree'/><category term='bdd'/><category term='c++'/><category term='approximation'/><category term='.NET Rocks'/><category term='neighbors'/><category term='programs'/><category term='tiling'/><category term='sort'/><category term='unmanaged code'/><category term='code generation'/><category term='einsteins riddle'/><category term='moving average'/><category term='numerical integration'/><category term='jacobi algorithm'/><category term='distributed'/><category term='visualization'/><category term='set collection'/><category term='java'/><category term='infiniband'/><category term='simulated annealing'/><category term='binary tree'/><category term='graphics'/><category term='Expert F#'/><category term='impure'/><category term='differential equation'/><category term='streams'/><category term='c'/><category term='logic programming'/><category term='lecture'/><category term='interview'/><category term='substring'/><category term='shared memory'/><category term='richard morris'/><category term='graph theory'/><category term='multiple plots'/><category term='microsecond'/><category term='enumerator'/><category term='james margetson'/><category term='compiler'/><category term='google'/><category term='f# team'/><category term='return'/><category term='slides'/><category term='priority queue'/><category term='benefits'/><category term='smtp'/><category term='podcast'/><category term='introduction'/><category term='list'/><category term='catenable list'/><category term='survival of the fittest'/><category term='least recently used'/><category term='mpi'/><category term='serialization'/><category term='dynamic programming'/><category term='allocation'/><category term='american options'/><category term='latency'/><category term='demo'/><category term='application'/><category term='artificial life'/><category term='happy numbers'/><category term='symbolic differentiation'/><category term='remote procedure call'/><category term='lorenz attractor'/><category term='windows forms'/><category term='markdown'/><category term='purely functional'/><category term='graph algorithms'/><category term='stereo'/><category term='see and say sequence'/><category term='tdd'/><category term='molecular dynamics'/><category term='polymorphism'/><category term='physics'/><category term='image'/><category term='static type checking'/><category term='jit'/><category term='update'/><category term='workstation gc'/><category term='sequence expressions'/><category term='currying'/><category term='huffman'/><category term='directx'/><category term='numerics'/><category term='silverlight'/><category term='singular value decomposition'/><category term='optimize'/><category term='stack language'/><category term='disassembler'/><category term='labelled arguments'/><category term='queue'/><category term='regex'/><category term='quickhull algorithm'/><category term='slider'/><category term='brevity'/><category term='ado.net'/><category term='data structures'/><category term='sql'/><category term='ctp'/><category term='wpf'/><category term='twitter'/><category term='garbage collection'/><category term='minimization'/><category term='source code'/><category term='entropy'/><category term='ConcurrentQueue'/><category term='lex'/><category term='educational'/><category term='pricer'/><category term='beginner'/><category term='burrows-wheeler transform'/><category term='filtering'/><category term='windows presentation foundation'/><category term='high performance'/><category term='free article'/><category term='service pack 1'/><category term='market share'/><category term='rational'/><category term='hash table'/><category term='finance'/><category term='mark sweep'/><category term='lighting'/><category term='web'/><category term='wait free'/><category term='computation expression'/><category term='triangulated irregular network'/><category term='concurrent programming'/><category term='sieve of eratosthenes'/><category term='blog post'/><category term='puzzle'/><category term='method'/><category term='combinatorial'/><category term='units of measure'/><category term='library'/><category term='pop3'/><category term='numerical'/><category term='anagram'/><category term='map reduce'/><category term='linear algebra'/><category term='attributes'/><category term='function'/><category term='all-pairs shortest paths'/><category term='.net'/><category term='edit distance'/><category term='typeset'/><category term='performance'/><category term='tic tac toe'/><category term='review'/><category term='tin'/><category term='traveling salesman'/><category term='hashing'/><category term='or-pattern'/><category term='knights tour'/><category term='simulation'/><category term='snippets'/><category term='whisp'/><category term='shallow'/><category term='finite element'/><category term='controls'/><category term='shunting yard'/><category term='longest common subsequence'/><category term='immutable'/><category term='language'/><category term='monte-carlo'/><category term='struct'/><category term='phong'/><category term='bloom filter'/><category term='regular expression'/><category term='brian mcnamara'/><category term='sample'/><category term='gui'/><category term='random number'/><category term='interpreter'/><category term='trend'/><category term='task parallel library'/><category term='release'/><category term='fft'/><category term='queens problem'/><category term='agent'/><category term='recursion'/><category term='articles'/><category term='inline'/><category term='complex'/><category term='luca bolognese'/><category term='Symbol tables'/><category term='map'/><category term='eigenvector'/><category term='autostereograms'/><category term='tesselation'/><category term='benchmark'/><category term='bitmaps'/><category term='depth-first search'/><category term='mine sweeper'/><category term='mesh'/><category term='xml-rpc'/><category term='assembly'/><category term='forum'/><category term='dijkstra'/><category term='concurrent'/><category term='c# 4'/><category term='complete graph'/><category term='f# for scientists'/><category term='class'/><category term='visual f# 2010 for technical computing'/><category term='windows'/><category term='tail recursion'/><category term='scientific computing'/><category term='vector'/><category term='cache miss'/><category term='parametric plot'/><category term='graph reduction'/><category term='recommendations'/><category term='new england'/><category term='memory leak'/><category term='particle'/><category term='type variable'/><category term='tpl'/><category term='tail calls'/><category term='quicksort'/><category term='cil'/><category term='maze'/><category term='polygons'/><category term='f#.net journal'/><category term='random'/><category term='inverse'/><category term='the code project'/><category term='metaprogramming'/><category term='games'/><category term='spell checking'/><category term='lock free'/><category term='special offer'/><category term='force'/><category term='chart'/><category term='reddit'/><category term='live migration'/><category term='adaptive subdivision'/><category term='levenshtein'/><category term='matlab'/><category term='enumerable'/><category term='look and say sequence'/><category term='tcp'/><category term='pattern matching'/><category term='comprehensions'/><category term='protein'/><category term='expressions'/><category term='predator-prey dynamics'/><category term='generics'/><category term='abstraction'/><category term='lazy list'/><category term='structure'/><category term='search'/><category term='fourier'/><category term='reactive extensions'/><category term='ocaml'/><category term='article'/><category term='throughput'/><category term='precedence climbing'/><category term='mailbox processor'/><category term='Normal distribution'/><category term='bezier'/><category term='pythagoras tree'/><category term='do'/><category term='boids'/><category term='non-blocking algorithm'/><category term='case study'/><category term='bugs'/><category term='memoization'/><category term='development'/><category term='f# for visualization'/><category term='continuation'/><category term='gradient descent'/><category term='sql server compact edition'/><category term='topological sort'/><category term='weasel program'/><category term='recursive descent'/><category term='assembler'/><category term='parsing'/><category term='f# interactive'/><category term='named arguments'/><category term='optional arguments'/><category term='bioinformatics'/><category term='structural'/><category term='jumo fisher'/><category term='Mathematica'/><category term='threading'/><category term='array'/><category term='classification'/><category term='computer algebra'/><category term='bytecode'/><category term='module'/><category term='audio'/><category term='set'/><category term='combinator'/><category term='copy'/><category term='foreign function interface'/><category term='reliability'/><category term='flocking'/><category term='video'/><category term='virtual'/><category term='stencil buffer'/><category term='binary format'/><category term='synchronous'/><category term='eye candy'/><category term='swarming'/><category term='training'/><category term='f# book'/><category term='floyd-warshall algorithm'/><category term='ienumerator'/><category term='scheme'/><category term='linq'/><category term='sql server ce'/><category term='plot'/><category term='prime number'/><category term='word frequency'/><category term='parser combinator'/><category term='advantages'/><category term='observable'/><category term='example'/><category term='parallel fx'/><category term='geographic information systems'/><category term='ConcurrentStack'/><category term='growth'/><category term='diff'/><category term='mutable'/><category term='pdf'/><category term='rosetta code'/><category term='route finding'/><category term='jon harrop'/><category term='active patterns'/><category term='beta'/><category term='balanced binary tree'/><category term='execution'/><category term='teapot'/><category term='welcome'/><category term='text'/><category term='selection'/><category term='optimization'/><category term='asynchronous workflows'/><category term='network'/><category term='global optimization'/><category term='sliding window'/><category term='static typing'/><category term='tree'/><category term='emergent behaviour'/><category term='natural selection'/><category term='method dispatch'/><category term='chris smith'/><category term='slice'/><category term='reflection'/><category term='challenge'/><category term='support'/><category term='histogram equalization'/><category term='ConcurrentBag'/><category term='concurrent collection'/><category term='client'/><category term='generic'/><category term='bessel function'/><category term='parametric polymorphism'/><category term='seq'/><category term='event'/><category term='numerical methods'/><category term='pangram'/><category term='obstruction free'/><category term='lu decomposition'/><category term='higher-order function'/><category term='cellular automata'/><category term='concurrent gc'/><category term='coherent graphics'/><category term='interface'/><category term='visualisation'/><category term='lazy stream'/><category term='value type'/><category term='biology'/><category term='deep'/><category term='user interface'/><category term='message loop'/><category term='function optimization'/><category term='web programming'/><category term='london'/><category term='artificial intelligence'/><category term='F# for Numerics'/><category term='best fit'/><category term='f# release'/><category term='yacc'/><category term='f# for technical computing'/><category term='component design guidelines'/><category term='ray tracer'/><category term='f# 2.0'/><category term='sockets'/><category term='parallel for'/><category term='repl'/><category term='interoperability'/><category term='real-time'/><category term='automated'/><category term='purely functional data structures'/><category term='typeful programming'/><category term='scatter plot'/><category term='scimark2'/><category term='curve fitting'/><category term='thread'/><category term='replace'/><category term='concentration'/><category term='mutation'/><category term='dynamics'/><category term='pdb'/><category term='slicing'/><category term='simplification'/><category term='diagram'/><category term='pickling'/><category term='graphical'/><category term='don syme'/><category term='run-time type'/><category term='exhibition'/><category term='visual studio 2010'/><category term='cache oblivious'/><category term='parallelism'/><category term='server'/><category term='machine learning'/><category term='data compression'/><category term='bwt'/><category term='use'/><category term='reuse'/><category term='calculator'/><category term='rigid body'/><category term='stanford bunny'/><category term='xaml'/><category term='vcgc'/><category term='jason olson'/><category term='Lotka-Volterra equations'/><category term='3d'/><category term='breadth-first search'/><category term='data structure'/><category term='Gaussian'/><category term='k-means clustering'/><category term='web crawler'/><category term='nunit'/><category term='brainfuck'/><category term='validation'/><category term='product'/><category term='c#'/><category term='successive over relaxation'/><category term='cost'/><category term='fractal'/><category term='spectral'/><category term='pinvoke'/><category term='mersenne twister'/><category term='treemap'/><category term='haskell'/><category term='e-mail'/><category term='web service'/><category term='book worm'/><category term='spectral methods'/><category term='scimark'/><category term='commercial product'/><category term='integral'/><category term='interpolation'/><category term='randomized'/><category term='a* algorithm'/><category term='interactive'/><category term='heap'/><category term='scalability'/><category term='sequence'/><category term='fluid dynamics'/><category term='1.9.2'/><category term='pretty print'/><category term='byron cook'/><category term='xna'/><category term='extreme optimization'/><category term='idioms'/><category term='algorithm'/><category term='round robin'/><category term='game'/><category term='equality'/><category term='printf'/><category term='salary'/><category term='qr decomposition'/><category term='visual studio'/><category term='split'/><category term='countBy'/><category term='editor'/><category term='Fortran'/><category term='tutorials'/><category term='convex hull'/><category term='joe hummel'/><category term='second edition'/><category term='HTML'/><category term='atom'/><category term='fem'/><category term='vector graphics'/><category term='extrapolation'/><category term='testing'/><category term='automation'/><category term='evaluate'/><category term='luke hoban'/><category term='examples'/><category term='ide'/><category term='skill'/><category term='static linking'/><category term='screencast'/><category term='thunk'/><category term='path finding'/><category term='.net 4'/><category term='cheat sheet'/><category term='f# 1.9.9.9'/><category term='median'/><category term='dll'/><category term='skewness'/><category term='asynchronous'/><category term='cache'/><category term='gouraud'/><category term='matrix inversion'/><category term='shader'/><category term='monad'/><category term='gamma function'/><category term='games programming'/><category term='x86'/><category term='f# meetup'/><category term='eigenvalue'/><category term='graph'/><category term='export'/><category term='easy'/><category term='types'/><category term='fparsec'/><category term='low latency'/><category term='string'/><category term='rtin'/><category term='reflector'/><category term='red-black tree'/><category term='f#'/><category term='data visualization'/><category term='opengl'/><category term='member'/><category term='python'/><category term='f#.net'/><category term='comparison'/><category term='functional'/><category term='llvm'/><category term='dimensional consistency'/><category term='chat'/><category term='sinc'/><category term='parallel'/><category term='layout'/><category term='traversal'/><category term='database'/><category term='divide and conquer'/><category term='computational geometry'/><category term='parallel programming'/><category term='dragon curve'/><category term='ienumerable'/><category term='kurtosis'/><category term='tutorial'/><category term='2d'/><category term='evolutionary algorithm'/><category term='objects'/><category term='sorting'/><category term='gis'/><category term='book club'/><category term='lisp'/><category term='simple'/><category term='communication'/><category term='expression'/><category term='jvm'/><category term='book'/><category term='wavelet'/><category term='style guide'/><category term='sql server'/><category term='strongly-connected components'/><category term='key bindings'/><category term='jobs'/><category term='matrix'/><category term='server gc'/><category term='clr'/><category term='phil trelford'/><category term='functional programming'/><category term='dictionary'/><category term='raytracer'/><category term='microsoft'/><category term='popular'/><category term='least squares'/><category term='symbolic'/><category term='parser'/><category term='series'/><category term='message passing'/><category term='profiling'/><category term='distribution'/><category term='deallocate'/><title type='text'>F# News</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://fsharpnews.blogspot.com/feeds/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/comments/default'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/comments/default?start-index=26&amp;max-results=25'/><author><name>Jon Harrop</name><uri>http://www.blogger.com/profile/11059316496121100950</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>714</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-1354478720711129573</id><published>2012-05-14T14:28:20.000Z</published><updated>2012-05-14T14:28:20.000Z</updated><title type='text'>interesting..I was using clojure and now I&amp;#39;m l...</title><content type='html'>interesting..I was using clojure and now I&amp;#39;m learning f#, It&amp;#39;s very common listen about the clojure-jvm power for concurrence and parallel programming, but now than I&amp;#39;m using the clr and mono is really impressing how prehistoric feels the jvm, actually when .Net was moving fast creatng a better environment for parallel and concurrent programming, the jvm discuss if lambdas was a good idea for the java language....</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/4790992364182821047/comments/default/1354478720711129573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/4790992364182821047/comments/default/1354478720711129573'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2012/05/parallel-programming-in-functional.html?showComment=1337005700000#c1354478720711129573' title=''/><author><name>coco</name><uri>http://www.blogger.com/profile/16802937874216252835</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2012/05/parallel-programming-in-functional.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-4790992364182821047' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/4790992364182821047' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1956538808'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='14 May 2012 14:28:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-63348881515223274</id><published>2012-05-14T14:11:11.983Z</published><updated>2012-05-14T14:11:11.983Z</updated><title type='text'>@Art: Good question. I don&amp;#39;t know what the per...</title><content type='html'>@Art: Good question. I don&amp;#39;t know what the performance difference between QR and Jacobi is but this article covered QR and the article &lt;a href="http://fsharpnews.blogspot.co.uk/2009/06/visualizing-linear-algebra-singular.html" rel="nofollow"&gt;Visualizing linear algebra: Singular Value Decomposition&lt;/a&gt; used Jacobi. I&amp;#39;ll benchmark them when I get the chance.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/8820194283001109097/comments/default/63348881515223274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/8820194283001109097/comments/default/63348881515223274'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2009/06/least-squares-case-study-in.html?showComment=1337004671983#c63348881515223274' title=''/><author><name>Jon Harrop</name><uri>http://www.blogger.com/profile/11059316496121100950</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2009/06/least-squares-case-study-in.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-8820194283001109097' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/8820194283001109097' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-587487120'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='14 May 2012 14:11:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-3438878666246583489</id><published>2012-05-14T10:53:32.579Z</published><updated>2012-05-14T10:53:32.579Z</updated><title type='text'>@Anonymous &amp;quot;Perhaps I&amp;#39;m stupid but doesn&amp;...</title><content type='html'>@Anonymous &amp;quot;Perhaps I&amp;#39;m stupid but doesn&amp;#39;t lazy evaluation mean your test is worthless?&amp;quot;. There is no lazy evaluation anywhere in either solution.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/6811555950261986962/comments/default/3438878666246583489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/6811555950261986962/comments/default/3438878666246583489'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2010/05/java-vs-f.html?showComment=1336992812579#c3438878666246583489' title=''/><author><name>Jon Harrop</name><uri>http://www.blogger.com/profile/11059316496121100950</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2010/05/java-vs-f.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-6811555950261986962' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/6811555950261986962' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-587487120'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='14 May 2012 10:53:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-8604479271097880916</id><published>2012-05-07T08:17:10.191Z</published><updated>2012-05-07T08:17:10.191Z</updated><title type='text'></title><content type='html'>This comment has been removed by the author.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/9080056836805081628/comments/default/8604479271097880916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/9080056836805081628/comments/default/8604479271097880916'/><author><name>Benjol</name><uri>http://www.blogger.com/profile/14076527068502260545</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_W2DRhdPe644/S0OsokkTGAI/AAAAAAAACWE/_9PJnB2gy7M/s1600-R/EyesUpEyesDown.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2012/05/getting-started-with-f.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-9080056836805081628' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/9080056836805081628' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.contentRemoved' value='true'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2136002665'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='7 May 2012 08:17:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-8885919993016248028</id><published>2012-05-06T23:08:34.984Z</published><updated>2012-05-06T23:08:34.984Z</updated><title type='text'>@coco: &amp;quot;functional code is much more readable...</title><content type='html'>@coco: &amp;quot;functional code is much more readable and expressive&amp;quot;. Not always. Graph algorithms are one place where functional programming falls down, not least because there are no purely functional weak dictionaries. The implementations of many graph algorithms in languages like Haskell are several times longer than their C equivalents.&lt;br /&gt;&lt;br /&gt;&amp;quot;Is really a lack than f# inmutable estructure be so slow?, can be it improve??...o the real solution for multicore and hight performance is a language with functional tools but where you program in an wmpiric way??&amp;quot; Improvements to the .NET garbage collector could dramatically improve the performance of purely functional data structures. Some significant advances were made in .NET 4. But it is not possible for purely functional data structures to be competitively performant in the general case. They come with too much baggage.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/8164743845896275835/comments/default/8885919993016248028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/8164743845896275835/comments/default/8885919993016248028'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2012/05/functional-programming-and-multicores.html?showComment=1336345714984#c8885919993016248028' title=''/><author><name>Flying Frog Consultancy Ltd.</name><uri>http://www.blogger.com/profile/11059316496121100950</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2012/05/functional-programming-and-multicores.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-8164743845896275835' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/8164743845896275835' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-587487120'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='6 May 2012 23:08:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-2756730067335812578</id><published>2012-05-06T14:19:22.852Z</published><updated>2012-05-06T14:19:22.852Z</updated><title type='text'>Interesting, I&amp;#39;ve read your post about &amp;quot;F...</title><content type='html'>Interesting, I&amp;#39;ve read your post about &amp;quot;F# Map vs .NET Dictionary performance&amp;quot; and I was searching any benchmark between clojure maps and native java...I guess clojure is slower but I&amp;#39;m not sure if is so dramatic...clojure is much more functional than f# (although they are similar, the clojure community only use mutable data when it is really necesary) and the clojure performance is not so bad (you must considered it&amp;#39;s a dynamic language too...&lt;br /&gt;&lt;br /&gt;For me (I come from clojure and CLips) functional code is much more readable and expressive, f# code seems olny a better c# where the programmers only encapsulate mutable code between functions, and problem solve!!..&lt;br /&gt;&lt;br /&gt;Is really a lack than f# inmutable estructure be so slow?, can be it improve??...o the real solution for multicore and hight performance is a language with functional tools but where you program in an wmpiric way??...</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/8164743845896275835/comments/default/2756730067335812578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/8164743845896275835/comments/default/2756730067335812578'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2012/05/functional-programming-and-multicores.html?showComment=1336313962852#c2756730067335812578' title=''/><author><name>coco</name><uri>http://www.blogger.com/profile/16802937874216252835</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2012/05/functional-programming-and-multicores.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-8164743845896275835' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/8164743845896275835' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1956538808'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='6 May 2012 14:19:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-1740570383973531864</id><published>2012-05-06T10:35:45.889Z</published><updated>2012-05-06T10:35:45.889Z</updated><title type='text'>@David: I think Rx will be squeezed out between di...</title><content type='html'>@David: I think Rx will be squeezed out between different axes, of which performance is one. Rx might be faster now for what it provides but its functionality is limited and threads+locks are probably substantially faster still. In the other direction, async is slightly slower but much easier to reason about and debug. So I&amp;#39;m not sure Rx has anywhere to thrive.&lt;br /&gt;&lt;br /&gt;Also, something like the Disruptor might give you the best of both worlds for certain (very common!) applications.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/8978276628331189098/comments/default/1740570383973531864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/8978276628331189098/comments/default/1740570383973531864'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2012/05/whats-wrong-with-using-async-for.html?showComment=1336300545889#c1740570383973531864' title=''/><author><name>Flying Frog Consultancy Ltd.</name><uri>http://www.blogger.com/profile/11059316496121100950</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2012/05/whats-wrong-with-using-async-for.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-8978276628331189098' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/8978276628331189098' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-587487120'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='6 May 2012 10:35:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-278613410067293207</id><published>2012-05-04T15:30:39.675Z</published><updated>2012-05-04T15:30:39.675Z</updated><title type='text'>Would you have any opinions to share about the lat...</title><content type='html'>Would you have any opinions to share about the latest version of Rx which seems to have enjoyed more aggressive optimization.&lt;br /&gt;&lt;br /&gt;I seriously doubt now that F# async would have comparable performance profile anymore. Benchmarks I ran a few months ago showed Rx to be faster than both CCR and F# async yet with worst scaling.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/8978276628331189098/comments/default/278613410067293207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/8978276628331189098/comments/default/278613410067293207'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2012/05/whats-wrong-with-using-async-for.html?showComment=1336145439675#c278613410067293207' title=''/><author><name>David</name><uri>http://www.blogger.com/profile/09835386915394787925</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2012/05/whats-wrong-with-using-async-for.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-8978276628331189098' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/8978276628331189098' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-159821614'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='4 May 2012 15:30:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-2952101700655633793</id><published>2012-04-08T06:42:22.544Z</published><updated>2012-04-08T06:42:22.544Z</updated><title type='text'>Just a quick comment. I have learnt F# without kno...</title><content type='html'>Just a quick comment. I have learnt F# without knowing C#. Now I learn C# a little bit to use it just in case :)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/826282456030926665/comments/default/2952101700655633793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/826282456030926665/comments/default/2952101700655633793'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2012/04/skilled-pseudo-science-and-its.html?showComment=1333867342544#c2952101700655633793' title=''/><author><name>Oldřich Švec</name><uri>http://www.blogger.com/profile/06591071444070662176</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2012/04/skilled-pseudo-science-and-its.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-826282456030926665' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/826282456030926665' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1225867988'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='8 April 2012 06:42:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-24108600195310649</id><published>2012-03-24T00:09:05.498Z</published><updated>2012-03-24T00:09:05.498Z</updated><title type='text'>QH - &amp;quot;... this section is devoted to the comp...</title><content type='html'>QH - &amp;quot;... this section is devoted to the computational aspect ... use the WPF vector type ... to simplfy our solution.&amp;quot; GR8&lt;br /&gt;&lt;br /&gt;Vector Graphics Editor - &lt;br /&gt;&amp;quot;Although WPF provides a 2D Vector type we shall define our own that supports structural equality and comparison: ...&amp;quot; GR8&lt;br /&gt;&lt;br /&gt;How to combine? Override WPF Vector? (Use XNA/DXn?) ... F# for Numerics ... other math.libs?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/8364624398526993219/comments/default/24108600195310649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/8364624398526993219/comments/default/24108600195310649'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2010/11/computational-geometry-quick-hull.html?showComment=1332547745498#c24108600195310649' title=''/><author><name>Art</name><uri>http://www.blogger.com/profile/06745154896198662723</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03643716265796963184'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp3.blogger.com/_1U8StpcYtUU/R-p0KBz_v5I/AAAAAAAAAAM/Apw9p7JqxPo/S220/AkaGradFamilyPhotoInRestaurant.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2010/11/computational-geometry-quick-hull.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-8364624398526993219' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/8364624398526993219' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-439908388'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='24 March 2012 00:09:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-8018834512662232417</id><published>2012-03-20T19:53:35.952Z</published><updated>2012-03-20T19:53:35.952Z</updated><title type='text'>A very interesting read. I will be applying some o...</title><content type='html'>A very interesting read. I will be applying some of the ideas before long.&lt;br /&gt;&lt;br /&gt;Nigel Wilson</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/9049175669462006686/comments/default/8018834512662232417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/9049175669462006686/comments/default/8018834512662232417'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2012/03/efficient-structural-serialization.html?showComment=1332273215952#c8018834512662232417' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2012/03/efficient-structural-serialization.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-9049175669462006686' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/9049175669462006686' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1508641483'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='20 March 2012 19:53:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-9112509300142335635</id><published>2012-03-08T08:29:07.552Z</published><updated>2012-03-08T08:29:07.552Z</updated><title type='text'>Perhaps I&amp;#39;m stupid but doesn&amp;#39;t lazy evalua...</title><content type='html'>Perhaps I&amp;#39;m stupid but doesn&amp;#39;t lazy evaluation mean your test is worthless ?&lt;br /&gt;&lt;br /&gt;Are you sure F# actually does the work.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/6811555950261986962/comments/default/9112509300142335635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/6811555950261986962/comments/default/9112509300142335635'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2010/05/java-vs-f.html?showComment=1331195347552#c9112509300142335635' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2010/05/java-vs-f.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-6811555950261986962' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/6811555950261986962' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-411244918'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='8 March 2012 08:29:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-19108499468694416</id><published>2012-03-07T10:19:42.632Z</published><updated>2012-03-07T10:19:42.632Z</updated><title type='text'>Parallel programming? I think you meant concurrent...</title><content type='html'>Parallel programming? I think you meant concurrent programming, using multithreading does not make program&lt;br /&gt;parallel my Dr. Cliff , because every parallel program is concurrent but every concurrent is not parallel, the thing is OS is scheduling processes on cores not threads so in your test it does not matter if you use 8 cores processes one thread at a time will be executing at a core while the other threads will be waiting although you have 7 core free to use. 2 threads of one process &lt;b&gt;CAN&amp;#39;T&lt;/b&gt;&lt;br /&gt; executing on two cores at the same time. only a few OS do that and i think you didn&amp;#39;t use one that schedule threads. so if the result are not reliable.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/6811555950261986962/comments/default/19108499468694416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/6811555950261986962/comments/default/19108499468694416'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2010/05/java-vs-f.html?showComment=1331115582632#c19108499468694416' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2010/05/java-vs-f.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-6811555950261986962' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/6811555950261986962' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1092295487'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='7 March 2012 10:19:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-630502944657021143</id><published>2012-03-07T06:37:59.653Z</published><updated>2012-03-07T06:37:59.653Z</updated><title type='text'>As much as I think that @Jan is a senseless Java f...</title><content type='html'>As much as I think that @Jan is a senseless Java fanboy, for LOC count you should really compare Java to C#. The speed difference would probably be even wider as the C# compiler is optimised better than the F# one.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/6811555950261986962/comments/default/630502944657021143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/6811555950261986962/comments/default/630502944657021143'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2010/05/java-vs-f.html?showComment=1331102279653#c630502944657021143' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2010/05/java-vs-f.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-6811555950261986962' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/6811555950261986962' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1588039151'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='7 March 2012 06:37:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-8405573545780959904</id><published>2012-03-04T15:31:50.468Z</published><updated>2012-03-04T15:31:50.468Z</updated><title type='text'>Congratulations!</title><content type='html'>Congratulations!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/6105190881592495260/comments/default/8405573545780959904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/6105190881592495260/comments/default/8405573545780959904'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2012/03/using-llvm-from-f-under-windows.html?showComment=1330875110468#c8405573545780959904' title=''/><author><name>Art</name><uri>http://www.blogger.com/profile/06745154896198662723</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03643716265796963184'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp3.blogger.com/_1U8StpcYtUU/R-p0KBz_v5I/AAAAAAAAAAM/Apw9p7JqxPo/S220/AkaGradFamilyPhotoInRestaurant.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2012/03/using-llvm-from-f-under-windows.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-6105190881592495260' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/6105190881592495260' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-439908388'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='4 March 2012 15:31:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-4341394845080952844</id><published>2012-02-28T08:54:13.484Z</published><updated>2012-02-28T08:54:13.484Z</updated><title type='text'>And by coincidence, some hours ago I was working o...</title><content type='html'>And by coincidence, some hours ago I was working on a Reactive Extensions version.&lt;br /&gt;:):)&lt;br /&gt;Excerpt at https://gist.github.com/1931336</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/8427529752429878632/comments/default/4341394845080952844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/8427529752429878632/comments/default/4341394845080952844'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2012/02/bloom-filter.html?showComment=1330419253484#c4341394845080952844' title=''/><author><name>Aggelos Biboudis</name><uri>http://www.di.uoa.gr/~biboudis</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2012/02/bloom-filter.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-8427529752429878632' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/8427529752429878632' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1038551651'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='28 February 2012 08:54:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-6326767307945038066</id><published>2012-01-12T22:13:18.380Z</published><updated>2012-01-12T22:13:18.380Z</updated><title type='text'>Jon, I think you should run your popular filter ag...</title><content type='html'>Jon, I think you should run your popular filter again and remove Anon ...</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/130467519292239906/comments/default/6326767307945038066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/130467519292239906/comments/default/6326767307945038066'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2007/05/threading-and-windows-forms.html?showComment=1326406398380#c6326767307945038066' title=''/><author><name>Art</name><uri>http://www.blogger.com/profile/06745154896198662723</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03643716265796963184'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp3.blogger.com/_1U8StpcYtUU/R-p0KBz_v5I/AAAAAAAAAAM/Apw9p7JqxPo/S220/AkaGradFamilyPhotoInRestaurant.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2007/05/threading-and-windows-forms.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-130467519292239906' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/130467519292239906' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-439908388'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='12 January 2012 22:13:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-2559952729494726527</id><published>2012-01-10T17:41:41.288Z</published><updated>2012-01-10T17:41:41.288Z</updated><title type='text'>Jon, QH uses &amp;quot;update&amp;quot; in several places....</title><content type='html'>Jon, QH uses &amp;quot;update&amp;quot; in several places. How do the uses (signatures) differ?&lt;br /&gt;&lt;br /&gt;&amp;gt; let move canvas update (e: Input.MouseEventArgs) = ...&lt;br /&gt;    update i;;&lt;br /&gt;&lt;br /&gt;let update (polygon: Shapes.Polygon) (ellipses: _ []) i =&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;[]&lt;br /&gt;      do&lt;br /&gt;...&lt;br /&gt;let update = update polygon ellipses&lt;br /&gt;...&lt;br /&gt;canvas.MouseMove.Add(move canvas update)&lt;br /&gt;&lt;br /&gt;Thanks</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/8364624398526993219/comments/default/2559952729494726527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/8364624398526993219/comments/default/2559952729494726527'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2010/11/computational-geometry-quick-hull.html?showComment=1326217301288#c2559952729494726527' title=''/><author><name>Art</name><uri>http://www.blogger.com/profile/06745154896198662723</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03643716265796963184'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp3.blogger.com/_1U8StpcYtUU/R-p0KBz_v5I/AAAAAAAAAAM/Apw9p7JqxPo/S220/AkaGradFamilyPhotoInRestaurant.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2010/11/computational-geometry-quick-hull.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-8364624398526993219' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/8364624398526993219' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-439908388'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='10 January 2012 17:41:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-6296354588753002490</id><published>2012-01-09T10:17:08.707Z</published><updated>2012-01-09T10:17:08.707Z</updated><title type='text'>@Art: Yes, ResizeArray (an alias for the .NET List...</title><content type='html'>@Art: Yes, ResizeArray (an alias for the .NET List collection) is surprisingly inefficient as an extensible array. Filling a raw array is &lt;i&gt;much&lt;/i&gt; faster.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/7124261398018131201/comments/default/6296354588753002490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/7124261398018131201/comments/default/6296354588753002490'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2012/01/fast-generic-pretty-printing.html?showComment=1326104228707#c6296354588753002490' title=''/><author><name>Flying Frog Consultancy Ltd.</name><uri>http://www.blogger.com/profile/11059316496121100950</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2012/01/fast-generic-pretty-printing.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-7124261398018131201' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/7124261398018131201' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-587487120'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='9 January 2012 10:17:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-2975182065600337961</id><published>2012-01-09T02:03:40.097Z</published><updated>2012-01-09T02:03:40.097Z</updated><title type='text'>I take it Resize.Array slows things down?</title><content type='html'>I take it Resize.Array slows things down?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/7124261398018131201/comments/default/2975182065600337961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/7124261398018131201/comments/default/2975182065600337961'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2012/01/fast-generic-pretty-printing.html?showComment=1326074620097#c2975182065600337961' title=''/><author><name>Art</name><uri>http://www.blogger.com/profile/06745154896198662723</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03643716265796963184'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp3.blogger.com/_1U8StpcYtUU/R-p0KBz_v5I/AAAAAAAAAAM/Apw9p7JqxPo/S220/AkaGradFamilyPhotoInRestaurant.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2012/01/fast-generic-pretty-printing.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-7124261398018131201' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/7124261398018131201' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-439908388'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='9 January 2012 02:03:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-5128552594363219519</id><published>2012-01-05T22:49:50.910Z</published><updated>2012-01-05T22:49:50.910Z</updated><title type='text'>Looking for insight into ResizeArray. Thanks.</title><content type='html'>Looking for insight into ResizeArray. Thanks.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/5008354865616637388/comments/default/5128552594363219519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/5008354865616637388/comments/default/5128552594363219519'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2010/05/mini-hash-table.html?showComment=1325803790910#c5128552594363219519' title=''/><author><name>Art</name><uri>http://www.blogger.com/profile/06745154896198662723</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03643716265796963184'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp3.blogger.com/_1U8StpcYtUU/R-p0KBz_v5I/AAAAAAAAAAM/Apw9p7JqxPo/S220/AkaGradFamilyPhotoInRestaurant.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2010/05/mini-hash-table.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-5008354865616637388' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/5008354865616637388' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-439908388'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='5 January 2012 22:49:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-1603569631637062946</id><published>2011-12-12T23:41:51.797Z</published><updated>2011-12-12T23:41:51.797Z</updated><title type='text'>&amp;quot;...Key aspect of the GUI ... This design fol...</title><content type='html'>&amp;quot;...Key aspect of the GUI ... This design follows the mantra &lt;br /&gt;&amp;#39;make illegal states unrepresentable&amp;#39;. &lt;br /&gt;... Using data structures such as the option type ... revisit ... interactive manipulation&amp;quot;&lt;br /&gt;&lt;br /&gt;Crystalline!, as always.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/8364624398526993219/comments/default/1603569631637062946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/8364624398526993219/comments/default/1603569631637062946'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2010/11/computational-geometry-quick-hull.html?showComment=1323733311797#c1603569631637062946' title=''/><author><name>Art</name><uri>http://www.blogger.com/profile/06745154896198662723</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03643716265796963184'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp3.blogger.com/_1U8StpcYtUU/R-p0KBz_v5I/AAAAAAAAAAM/Apw9p7JqxPo/S220/AkaGradFamilyPhotoInRestaurant.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2010/11/computational-geometry-quick-hull.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-8364624398526993219' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/8364624398526993219' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-439908388'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='12 December 2011 23:41:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-7792185548535689964</id><published>2011-12-04T00:03:39.242Z</published><updated>2011-12-04T00:03:39.242Z</updated><title type='text'>Hi Jon, any chance of a future article on conjugat...</title><content type='html'>Hi Jon, any chance of a future article on conjugate-gradient?&lt;br /&gt;From IOD&amp;#39;s RPP Discrete Comput Geom (2009) 41: 444–460&lt;br /&gt;Sorry for my poor html math notation.&lt;br /&gt; &lt;br /&gt;&amp;quot;JJTl = JD +αe, (7)&lt;br /&gt;KKTl = KD +αf (9)&lt;br /&gt;(7) and (9) can be solved efficiently using the conjugate-gradient method&amp;quot;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/4917201887889300345/comments/default/7792185548535689964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/4917201887889300345/comments/default/7792185548535689964'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2011/01/gradient-descent.html?showComment=1322957019242#c7792185548535689964' title=''/><author><name>Art</name><uri>http://www.blogger.com/profile/06745154896198662723</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03643716265796963184'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp3.blogger.com/_1U8StpcYtUU/R-p0KBz_v5I/AAAAAAAAAAM/Apw9p7JqxPo/S220/AkaGradFamilyPhotoInRestaurant.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2011/01/gradient-descent.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-4917201887889300345' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/4917201887889300345' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-439908388'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='4 December 2011 00:03:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-8901732137415884021</id><published>2011-11-21T23:45:12.741Z</published><updated>2011-11-21T23:45:12.741Z</updated><title type='text'>Hi Jon.
Whilst reading Golub and Van Loan Matrix C...</title><content type='html'>Hi Jon.&lt;br /&gt;Whilst reading Golub and Van Loan Matrix Computations, Thrid Edition, ... 8.4.6 Parallel Jacobi, pg. 431, &amp;quot;... Perhaps the most interesting distinction between the QR and the Jacobi approaches to the symmetric eigenvalue problem is the rich inherent parallelism of the latter. ... rotations within each ... &amp;quot;non-conflicting.&amp;quot; ... a parallel ordering of the set ... .&lt;br /&gt;&lt;br /&gt;Question -- what is the performance difference? And will many-core architectures capture the benefit? CPU? or GPU?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/8820194283001109097/comments/default/8901732137415884021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/8820194283001109097/comments/default/8901732137415884021'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2009/06/least-squares-case-study-in.html?showComment=1321919112741#c8901732137415884021' title=''/><author><name>Art</name><uri>http://www.blogger.com/profile/06745154896198662723</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03643716265796963184'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp3.blogger.com/_1U8StpcYtUU/R-p0KBz_v5I/AAAAAAAAAAM/Apw9p7JqxPo/S220/AkaGradFamilyPhotoInRestaurant.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2009/06/least-squares-case-study-in.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-8820194283001109097' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/8820194283001109097' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-439908388'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='21 November 2011 23:45:00 GMT'/></entry><entry><id>tag:blogger.com,1999:blog-3752573690854836522.post-7665337240495764467</id><published>2011-11-08T15:52:58.592Z</published><updated>2011-11-08T15:52:58.592Z</updated><title type='text'>@neilsb: This exact server was done under contract...</title><content type='html'>@neilsb: This exact server was done under contract for a client but the basic ideas have already been covered in several F#.NET Journal articles:&lt;br /&gt;&lt;a href="http://fsharpnews.blogspot.com/2008/10/concurrent-web-crawling-using.html" rel="nofollow"&gt;Concurrent web crawling using asynchronous workflows&lt;/a&gt;&lt;br /&gt;&lt;a href="http://fsharpnews.blogspot.com/2010/03/introduction-to-asynchronous-workflows.html" rel="nofollow"&gt;An introduction to asynchronous workflows&lt;/a&gt;&lt;br /&gt;&lt;a href="http://fsharpnews.blogspot.com/2010/09/distributed-message-passing.html" rel="nofollow"&gt;Distributed message passing&lt;/a&gt;&lt;br /&gt;&lt;a href="http://fsharpnews.blogspot.com/2010/11/concurrent-programming-tcp-relay-server.html" rel="nofollow"&gt;Concurrent programming: TCP relay server&lt;/a&gt;&lt;br /&gt;&lt;a href="http://fsharpnews.blogspot.com/2011/06/generic-server-architecture.html" rel="nofollow"&gt;Generic server architecture&lt;/a&gt;&lt;br /&gt;We also have a forthcoming article about servers with efficient compressed IO.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/8433188537473759581/comments/default/7665337240495764467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3752573690854836522/8433188537473759581/comments/default/7665337240495764467'/><link rel='alternate' type='text/html' href='http://fsharpnews.blogspot.com/2011/11/scalable-servers-with-async-f.html?showComment=1320767578592#c7665337240495764467' title=''/><author><name>Flying Frog Consultancy Ltd.</name><uri>http://www.blogger.com/profile/11059316496121100950</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://fsharpnews.blogspot.com/2011/11/scalable-servers-with-async-f.html' ref='tag:blogger.com,1999:blog-3752573690854836522.post-8433188537473759581' source='http://www.blogger.com/feeds/3752573690854836522/posts/default/8433188537473759581' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-587487120'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.displayTime' value='8 November 2011 15:52:00 GMT'/></entry></feed>
