Back
Category: Utilities

App removed from site

We're sorry, "OCaml Programming Language with Reference" has been removed from the App Store.

Please return to the front page and use the search box above to find another app.

OCaml Programming Language with Reference

OCaml Programming Language with Reference

       iOS Universal

A classic OCaml programming language with reference for iPad and iPhone. Programming language is a perfect tool for complex math calculation, study, entertainment and many useful tasks.

The main features:
- compile and run your program;
- online language reference;
- use example programs;
- save/open source code;
- send source code by email;
- work with text input/output;

We will add soon:
- syntax highlighting;
- enhanced source code editor;
- additional symbols keyboard;

Internet connection is required. Look to the screenshots for more information. Thanks for using the application!

========================================

OCaml (play /oʊˈkæməl/ oh-kam-əl), originally known as Objective Caml, is the main implementation of the Caml programming language, created by Xavier Leroy, Jérôme Vouillon, Damien Doligez, Didier Rémy and others in 1996. OCaml extends the core Caml language with object-oriented constructs.

OCaml's toolset includes an interactive toplevel interpreter, a bytecode compiler, and an optimizing native code compiler. It has a large standard library that makes it useful for many of the same applications as Python or Perl, as well as robust modular and object-oriented programming constructs that make it applicable for large-scale software engineering. OCaml is the successor to Caml Light. The acronym CAML originally stood for Categorical Abstract Machine Language, although OCaml abandons this abstract machine.

OCaml is a free open source project managed and principally maintained by INRIA. In recent years, many new languages have drawn elements from OCaml, most notably F# and Scala.

ML-derived languages are best known for their static type systems and type-inferring compilers. OCaml unifies functional, imperative, and object-oriented programming under an ML-like type system. This means the program author is not required to be overly familiar with pure functional language paradigm in order to use OCaml.

OCaml's static type system can help eliminate problems at runtime. However, it also forces the programmer to conform to the constraints of the type system, which can require careful thought and close attention. A type-inferring compiler greatly reduces the need for manual type annotations (for example, the data type of variables and the signature of functions usually do not need to be explicitly declared, as they do in Java). Nonetheless, effective use of OCaml's type system can require some sophistication on the part of the programmer.

OCaml is perhaps most distinguished from other languages with origins in academia by its emphasis on performance. Firstly, its static type system renders runtime type mismatches impossible, and thus obviates runtime type and safety checks that burden the performance of dynamically typed languages, while still guaranteeing runtime safety (except when array bounds checking is turned off, or when certain type-unsafe features like serialization are used; these are rare enough that avoiding them is quite possible in practice).

Aside from type-checking overhead, functional programming languages are, in general, challenging to compile to efficient machine language code, due to issues such as the funarg problem. In addition to standard loop, register, and instruction optimizations, OCaml's optimizing compiler employs static program analysis techniques to optimize value boxing and closure allocation, helping to maximize the performance of the resulting code even if it makes extensive use of functional programming constructs.


Screenshots

Screenshot 1 of 10

Share with Others

Last changed:
Apr 28, 2012
Category:
Utilities
Developer:
Dmitry Kovba
Version:
2.0
Average Rating:
1.00 (1)
Size:
0.8 MB
Other Apps By This Developer
Assembler Programming Language with Reference
Bash Programming Language with Reference
Basic Programming Language with Reference
C Programming Language with Reference
Cobol Programming Language with Reference
D Programming Language with Reference
Groovy Programming Language with Reference
Java 7 Programming Language with Reference
JavaScript Programming Language with Reference
Maybe Baby for Women
Python Programming Language with Reference
R Programming Language with Reference
Ruby Programming Language with Reference
SQL Programming Language with Reference
Scala Programming Language with Reference
Scheme Programming Language with Reference