# 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

## Subcategories

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

### @

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

## Pages in category "OCaml"

The following 200 pages are in this category, out of 678 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
- Additive primes
- Address of a variable
- AKS test for primes
- Algebraic data types
- Align columns
- Alternade words
- Amb
- Amicable pairs
- Anadromes
- Anagrams
- Anagrams/Deranged anagrams
- Angle difference between two bearings
- Anonymous recursion
- Append numbers at same position in strings
- 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
- Ascending primes
- 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
- Base 16 numbers needing a to f
- 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
- Calculating the value of e
- Calendar
- Call a foreign-language function
- Call a function
- Call a function in a shared library
- Call an object method
- Canonicalize CIDR
- 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
- Code Golf: Code Golf
- Collections
- Color quantization
- Colour bars/Display
- Colour pinstripe/Display
- Combinations
- Combinations with repetitions
- Comma quibbling
- Command-line arguments
- Comments
- Compare a list of strings
- Compare length of two strings
- Compile-time calculation
- Compiler/lexical analyzer
- Compound data type
- Concurrent computing
- Conditional structures
- Constrained genericity
- Constrained random points on a circle
- Continued fraction
- Continued fraction/Arithmetic/G(matrix ng, continued fraction n)
- Continued fraction/Arithmetic/G(matrix ng, continued fraction n1, continued fraction n2)
- Convert seconds to compound duration
- Convex hull
- Conway's Game of Life
- Coprimes
- 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
- Curzon numbers

### D

- Date format
- Day of the week
- Deal cards for FreeCell
- Deceptive numbers
- 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
- Digital root
- Dijkstra's algorithm
- Disarium numbers
- Display a linear combination
- Distinct power numbers
- 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