[Home] Namespace Microsoft.FSharp.Compatibility.OCaml


Modules (as contributed by assembly 'FSharp.Compatibility')

ModuleDescription
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.

See Also

Namespaces


Documentation for assembly FSharp.Compatibility, version 1.9.4.19, generated using F# version 1.9.4.19