Reading sources of Array2D module, I\'ve stumbled upon this interesting construct in implementation of many core functions, for example:
[
I think that this has 2 purposes:
Add
functions in a high performance way which is hard with the F# type system.You can actually use this but you have to specify the --compiling-fslib
(undocumented) and --standalone
flags in your code.
I've found some details in usenet archives: http://osdir.com/ml/lang.fsharp.general/2008-01/msg00009.html
Embedded IL in F# codes. Is this feature officially supported
Not really. The 99.9% purpose of this feature is for operations defined in FSharp.Core.dll (called fslib.dll in 1.9.2.9 and before).
Historically it has been useful to allow end-users to embed IL in order to access .NET IL functionality not accessible by F# library or language constructs using their own embedded IL. The need for this is becoming much more rare, indeed almost non-existent, now that the F# library has matured a bit more. We expect this to continue to be the case. It's even possible that we will make this a library-only feature in the "product" version of F#, though we have not yet made a final decision in this regard.
This was a message from Don Syme, dated January of 2008.