Core language
Basic types
All basic types are supported except weak arrays and objects;
object-oriented code does not work yet. For values whose type is
supported all core operations are possible.
Integers are 32 bits wide, not 31 bits.
There may be differences in the string/numeric conversions.
Channels
Channels are limited: You cannot freely select the opening mode; only
the following two modes are possible:
- [Open_rdonly]
- [Open_wronly; Open_creat; Open_trunc]
Non-blocking mode and selection of text or binary mode are silently ignored.
If the file you open is located somewhere in the net you can only read
it.
Files are always sequential.
The functions output_value and input_value do not work yet.
Standard library: Hashing
The polymorphic hash primitive does not work yet. But you can use
Hashtbl if you provide your own hash function.
Standard library: System functions
The following functions do not work yet:
- exit
- at_exit
- all functions in the module Sys
- all functions in the module Arg
- all functions in the module Callback
- all functions in the module Digest
- all functions in the module GC
- all functions in the module Marshal
Standard library: Lexers and Parsers
Neither lexers nor parsers work.
Standard library: Unclear
Many functions of the standard library have not yet been tested very
well. Especially the following modules may be problematic: Filename, Printf
Str
There is a library which is intended to be compatible with Str. The
compiler for regular expressions has been written in OCaml itself
while the execution of prepared expression is done by a Java class.
Net_runtime
In this library you find special functions dealing with the
environment of applets. See the file net_runtime.mli and the
introduction JavaCaml and
JavaScript can cooperate.
Other libraries
At the moment, none of the other libraries nor the toplevel library
can be used.