By this I meant: when you design your app side effects free, etc, will F# code be automatically distributed across all cores?
相关问题
- F#: Storing and mapping a list of functions
- multidplyr : assign functions to cluster
- Multiplying a list of tuples by a tuple in F#
- Parallel for loop over range of array indices in C
- Multiplying a string in F#
相关文章
- How to use doMC under Windows or alternative paral
- FSharp.Data.JsonProvider - Getting json from types
- Signing an F# Assembly (Strong name component)
- Learning F#: What books using other programming la
- Parallel while loop in R
- Does gfortran take advantage of DO CONCURRENT?
- fsc.exe is very slow because it tries to access cr
- Using Parallel Linq Extensions to union two sequen
Well, you have your answer, but I just wanted to add that I think this is the most significant limitation of F# stemming from the fact that it is a hybrid imperative/functional language.
I would like to see some extension to F# that declares a function to be pure. That is, it has no side-effects that are not denoted by the function's type. The idea would be that a function is pure only if it references other "known-pure" functions. Of course, this would only be useful if it were then possible to require that a delegate passed as a function parameter references a pure function.
On purity annotations: Code Contracts have a Pure attribute. I remember hearing the some parts of the BCL already use this. Potentially, this attribute could be used by parallellization frameworks as well, but I'm not aware of such work at this point. Also, I' not even sure how well code contacts are usable from within F#, so a lot of unknowns here.
Still, it will be interesting to see how all this stuff comes together.