Module | Description |
Microsoft.FSharp.Compatibility.OCaml.Arg |
A simple command-line argument processor.
|
Microsoft.FSharp.Compatibility.OCaml.Big_int |
Big_int compatability module for arbitrary sized integers.
|
Microsoft.FSharp.Compatibility.OCaml.Buffer |
Imperative buffers for building strings, a shallow interface to [[System.Text.StringBuilder]]
|
Microsoft.FSharp.Compatibility.OCaml.Bytearray |
Byte arrays. Arrays of bytes are guaranteed to be type-compatible
with the C# byte[] type, regardless of the version of .NET used.
|
Microsoft.FSharp.Compatibility.OCaml.Char |
Unicode characters, i.e. the [[System.Char]] type. see also the operations
in [[System.Char]] and the [[System.Text.Encoding]] interfaces if necessary.
|
Microsoft.FSharp.Compatibility.OCaml.Filename |
Common filename operations. This module is included to make it possible to cross-compile
code with other ML compilers. See also [[System.IO.Path]]
|
Microsoft.FSharp.Compatibility.OCaml.Hashtbl |
Imperative hash tables. Shallow interface to [[Microsoft.FSharp.Collections]].
HashTable: Hash tables using the structural "hash" and "equals" functions.
These tables can be used with keys of any type, but you should check that
structural hashing and equality are correct for your key type.
Structural hashing is efficient but not a suitable choice in all circumstances,
e.g. may not hash efficiently on non-reference types and deeply-structured types.
Better efficiency is typically achieved if key types are F#-generated
types.
These hash tables may map items to multiple keys (see find_all).
The implementations are not safe for concurrent reading/writing,
and so users of these tables should take an appropriate lock
before reading/writing if used in a concurrent setting.
|
Microsoft.FSharp.Compatibility.OCaml.Lexing |
Lexing: ML-like lexing support
This file maintains rough compatibility for lexbuffers used by some ML
laxer generators. The lexbuf carries an associated pair of positions.
Beware that only the "cnum" (absolute character number) field is automatically
updated as each lexeme is matched. Upon each successful match the prior end
position is transferred to be the start position and a new start position
is allocated with an updated pos_cnum field.
|
Microsoft.FSharp.Compatibility.OCaml.Map |
Immutable maps using structural comparison
Maps based on structural comparison are
efficient. They are not a suitable choice if keys are recursive data structures
or require non-structural comparison semantics. |
Microsoft.FSharp.Compatibility.OCaml.Num | |
Microsoft.FSharp.Compatibility.OCaml.Obj | |
Microsoft.FSharp.Compatibility.OCaml.Parsing |
Parsing: parser support for parsers produced by fsyacc.
Parsers generated by fsyacc provide location information within parser
actions. However that information is not available globally, but
rather is accessed via the functions available on the following local
variable which is available in all parser actions:
parseState : 'a Microsoft.FSharp.Tools.FsYacc.IParseState
However, this is not compatible with the parser specifications used
with ocamlyacc and similar tools, which make a single parser state available
globally. If you wish to use a global parser state (e.g. so your code will
cross-compile with OCaml) then you can use the functions in this file.
You will need to either generate the parser with '--ml-compatibility' option
or add the code
Parsing.set_parse_state parseState;
at the start of each action of your grammar. The functions below
simply report the results of corresponding calls to the latest object
specified by a call to set_parse_state.
Note that there could be unprotected multi-threaded concurrent access for the
parser information, so you should not in general use these
functions if there may be more than one parser active, and
should instead use the functions directly available from the parseState
object.
|
Microsoft.FSharp.Compatibility.OCaml.Pervasives |
Pervasives: Additional OCaml-compatible bindings
|
Microsoft.FSharp.Compatibility.OCaml.Printexc |
Compatibility module to display data about exceptions.
This module is only included to make it possible to cross-compile
code with other ML compilers.
|
Microsoft.FSharp.Compatibility.OCaml.Set | |
Microsoft.FSharp.Compatibility.OCaml.Sys |
Sys: Basic system operations (for ML compatibility)
This module is only included to make it possible to cross-compile
code with other ML compilers. It may be deprecated and/or removed in
a future release. You may wish to use .NET functions directly instead.
|