# Category:OCaml

**OCaml**

This

**programming language**may be used to instruct a computer to perform a task.

Official website |
---|

Garbage collected: | Yes |
---|---|

Parameter passing methods: | By value |

Type safety: | Safe |

Type strength: | Strong |

Type compatibility: | Structural |

Type checking: | Static |

See Also: |

**OCaml** (formerly 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 is an open source project managed and principally maintained by INRIA.

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.

## Citations[edit]

## Subcategories

This category has the following 3 subcategories, out of 3 total.

### @

- OCaml Implementations (empty)
- OCaml User (30 P)

## Pages in category "OCaml"

The following 200 pages are in this category, out of 610 total.

(previous page) (next page)### A

- A* search algorithm
- A+B
- Abbreviations, easy
- Abbreviations, simple
- ABC problem
- Abelian sandpile model
- Abelian sandpile model/Identity
- Abstract type
- Accumulator factory
- Ackermann function
- Address of a variable
- AKS test for primes
- Algebraic data types
- Align columns
- Amb
- Amicable pairs
- Anagrams
- Anagrams/Deranged anagrams
- Angle difference between two bearings
- Anonymous recursion
- Apply a callback to an array
- Approximate equality
- Arbitrary-precision integers (included)
- Arithmetic evaluation
- Arithmetic-geometric mean
- Arithmetic-geometric mean/Calculate Pi
- Arithmetic/Complex
- Arithmetic/Integer
- Arithmetic/Rational
- Array concatenation
- Array length
- Arrays
- Assertions
- Associative array/Creation
- Associative array/Iteration
- Associative array/Merging
- Audio alarm
- Averages/Arithmetic mean
- Averages/Mean angle
- Averages/Mean time of day
- Averages/Median
- Averages/Mode
- Averages/Pythagorean means
- Averages/Root mean square
- Averages/Simple moving average

### B

- Babbage problem
- Balanced brackets
- Balanced ternary
- Base64 decode data
- Base64 encode data
- Benford's law
- Best shuffle
- Binary digits
- Binary search
- Binary strings
- Bitmap
- Bitmap/Bresenham's line algorithm
- Bitmap/Bézier curves/Cubic
- Bitmap/Bézier curves/Quadratic
- Bitmap/Flood fill
- Bitmap/Histogram
- Bitmap/Midpoint circle algorithm
- Bitmap/PPM conversion through a pipe
- Bitmap/Read a PPM file
- Bitmap/Read an image through a pipe
- Bitmap/Write a PPM file
- Bitwise IO
- Bitwise operations
- Boolean values
- Box the compass
- Break OO privacy
- Brownian tree
- Bulls and cows

### C

- Caesar cipher
- Calendar
- Call a foreign-language function
- Call a function
- Call a function in a shared library
- Call an object method
- Cartesian product of two or more lists
- Case-sensitivity of identifiers
- Catalan numbers
- Catalan numbers/Pascal's triangle
- Catamorphism
- Catmull–Clark subdivision surface
- Character codes
- Check input device is a terminal
- Check Machin-like formulas
- Check output device is a terminal
- Check that file exists
- Checksumcolor
- Chinese remainder theorem
- Cholesky decomposition
- Church numerals
- Circles of given radius through two points
- Classes
- Closest-pair problem
- Closures/Value capture
- Collections
- Color quantization
- Colour bars/Display
- Colour pinstripe/Display
- Combinations
- Combinations with repetitions
- Comma quibbling
- Command-line arguments
- Comments
- Compare a list of strings
- Compile-time calculation
- Compiler/lexical analyzer
- Compound data type
- Concurrent computing
- Conditional structures
- Constrained genericity
- Constrained random points on a circle
- Continued fraction
- Convert seconds to compound duration
- Convex hull
- Conway's Game of Life
- Copy a string
- Copy stdin to stdout
- Count in factors
- Count in octal
- Count occurrences of a substring
- Count the coins
- CRC-32
- Create a file
- Create a two-dimensional array at runtime
- Create an HTML table
- CSV data manipulation
- CSV to HTML translation
- Cumulative standard deviation
- Currency
- Currying

### D

- Date format
- Day of the week
- Deal cards for FreeCell
- Decimal floating point number to binary
- Deepcopy
- Define a primitive data type
- Delete a file
- Department numbers
- Detect division by zero
- Determine if a string has all the same characters
- Determine if a string has all unique characters
- Determine if a string is numeric
- Determine if only one instance is running
- Dijkstra's algorithm
- Distributed programming
- DNS query
- Documentation
- Dot product
- Doubly-linked list/Element definition
- Doubly-linked list/Element insertion
- Dragon curve
- Draw a clock
- Draw a pixel

### E

- Elliptic curve arithmetic
- Empty directory
- Empty program
- Empty string
- Enforced immutability
- Entropy
- Enumerations
- Environment variables
- Equilibrium index
- Ethiopian multiplication
- Euler method
- Euler's identity
- Evaluate binomial coefficients
- Even or odd
- Evolutionary algorithm
- Exceptions
- Exceptions/Catch an exception thrown in a nested call
- Execute a Markov algorithm
- Execute a system command
- Execute Brain****
- Execute HQ9+
- Execute SNUSP
- Exponentiation operator
- Exponentiation order
- Extend your language
- Extract file extension
- Extreme floating point values