Note that there are some explanatory texts on larger screens.

plurals
  1. POProgramming language for functional parallelism: F# vs Haskell
    primarykey
    data
    text
    <p>Functional programming has immutable data structures and no side effect which are inherently suitable for parallel programming. I investigate how to exploit multicore computation in a functional language, and target production code for some numerical applications.</p> <p>F# has Microsoft behind its back, and its parallel constructs such as <a href="http://msdn.microsoft.com/en-us/magazine/cc163329.aspx" rel="noreferrer">PLINQ</a>, <a href="http://msdn.microsoft.com/en-us/library/dd460717.aspx" rel="noreferrer">TPL</a>, <a href="http://blogs.msdn.com/b/dsyme/archive/2007/10/11/introducing-f-asynchronous-workflows.aspx" rel="noreferrer">Async Workflow</a> have been well-documented and shown some potentials. However, research about parallelism in Haskell is very active at the moment, and it posseses many nice features which haven't been supported by F# yet:</p> <ul> <li><a href="http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell" rel="noreferrer">Data Parallel Haskell</a></li> <li><a href="http://hackage.haskell.org/packages/archive/parallel/3.1.0.1/doc/html/Control-Parallel.html" rel="noreferrer">par and pseq</a></li> <li><a href="http://hackage.haskell.org/packages/archive/parallel/3.1.0.1/doc/html/Control-Parallel-Strategies.html" rel="noreferrer">Strategies</a></li> <li><a href="http://www.haskell.org/haskellwiki/Software_transactional_memory" rel="noreferrer">Software Transactional Memory</a></li> </ul> <p>My question is which language I should choose for functional parallelism? If F# is chosen, are there any pointers to build up what they currently have in Haskell?</p> <p><strong>UPDATE:</strong></p> <p>I chose Simon's answer because it brought out some nice discussion about garbage collector, memory allocation and cache miss. I will stick to F#, and I think these answers are helpful for me to study functional parallelism.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload