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: |
If you know OCaml, please write code for some of the tasks not implemented in OCaml.
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.
Pages in category "OCaml"
The following 587 pages are in this category, out of 587 total.
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
- Align columns
- Amb
- Anagrams
- Anagrams/Deranged anagrams
- Angle difference between two bearings
- Anonymous recursion
- Apply a callback to an array
- 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/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
- Compound data type
- Concurrent computing
- Conditional structures
- Constrained genericity
- Constrained random points on a circle
- Continued fraction
- Convert seconds to compound duration
- 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
- Detect division by zero
- Determine if a string has all the same 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
- Extract file extension
- Extreme floating point values
F
- Factorial
- Factorions
- Factors of an integer
- Fast Fourier transform
- FASTA format
- Fibonacci sequence
- File input/output
- File modification time
- File size
- Filter
- Find common directory path
- Find limit of recursion
- Find the last Sunday of each month
- Find the missing permutation
- First-class functions
- First-class functions/Use numbers analogously
- Five weekends
- FizzBuzz
- Flatten a list
- Flow-control structures
- Floyd's triangle
- Forest fire
- Fork
- Formatted numeric output
- Forward difference
- Four bit adder
- Fractal tree
- Fractran
- Function composition
- Function definition
- Function prototype
G
- Gamma function
- Gaussian elimination
- General FizzBuzz
- Generate lower case ASCII alphabet
- Generator/Exponential
- Generic swap
- Go Fish
- Gray code
- Grayscale image
- Greatest common divisor
- Greatest element of a list
- Greatest subsequential sum
- Greyscale bars/Display
- Guess the number
- Guess the number/With feedback
H
- Hailstone sequence
- Hamming numbers
- Handle a signal
- Happy numbers
- Hash from two arrays
- Hash join
- Haversine formula
- Hello world/Graphical
- Hello world/Line printer
- Hello world/Newbie
- Hello world/Newline omission
- Hello world/Standard error
- Hello world/Text
- Hello world/Web server
- Here document
- Higher-order functions
- History variables
- Horizontal sundial calculations
- Horner's rule for polynomial evaluation
- Host introspection
- Hostname
- HTTP
- Huffman coding
I
K
L
- Langton's ant
- Largest int from concatenated ints
- Last Friday of each month
- Leap year
- Least common multiple
- Letter frequency
- Levenshtein distance
- List comprehensions
- Literals/Floating point
- Literals/Integer
- Literals/String
- Logical operations
- Longest common subsequence
- Longest increasing subsequence
- Longest string challenge
- Look-and-say sequence
- Loop over multiple arrays simultaneously
- Loops/Break
- Loops/Continue
- Loops/Do-while
- Loops/Downward for
- Loops/For
- Loops/For with a specified step
- Loops/Foreach
- Loops/Infinite
- Loops/N plus one half
- Loops/Nested
- Loops/While
- Luhn test of credit card numbers
- LZW compression
M
- Make directory path
- Man or boy test
- Mandelbrot set
- Map range
- Matrix multiplication
- Matrix transposition
- Matrix-exponentiation operator
- Maze generation
- MD5
- Median filter
- Memory layout of a data structure
- Menu
- Middle three digits
- Miller–Rabin primality test
- Minesweeper game
- Modular exponentiation
- Modular inverse
- Modulinos
- Monte Carlo methods
- Monty Hall problem
- Morse code
- Mouse position
- Multiline shebang
- Multiple distinct objects
- Multiplication tables
- Munching squares
- Mutex
- Mutual recursion
N
- N'th
- N-queens problem
- Named parameters
- Native shebang
- Nested function
- Non-continuous subsequences
- Non-decimal radices/Convert
- Non-decimal radices/Input
- Non-decimal radices/Output
- Nth root
- Null object
- Number names
- Number reversal game
- Numeric separator syntax
- Numerical integration
- Numerical integration/Gauss-Legendre Quadrature
O
P
- Palindrome detection
- Pangram checker
- Parametric polymorphism
- Parsing/RPN calculator algorithm
- Parsing/Shunting-yard algorithm
- Partial function application
- Pascal's triangle
- Password generator
- Pattern matching
- Percentage difference between images
- Perfect numbers
- Perlin noise
- Permutations
- Pi
- Pick random element
- Pig the dice game
- Playing cards
- Plot coordinate pairs
- Pointers and references
- Polymorphic copy
- Polymorphism
- Polynomial long division
- Polynomial regression
- Power set
- Price fraction
- Primality by trial division
- Prime decomposition
- Priority queue
- Probabilistic choice
- Problem of Apollonius
- Program name
- Program termination
- Proof
- Pythagorean triples
R
- Random number generator (device)
- Random number generator (included)
- Random numbers
- Range expansion
- Range extraction
- Ray-casting algorithm
- Read a configuration file
- Read a file line by line
- Read a specific line from a file
- Read entire file
- Real constants and functions
- Record sound
- Reduced row echelon form
- Regular expressions
- Remove duplicate elements
- Remove lines from a file
- Rename a file
- Repeat
- Repeat a string
- Return multiple values
- Reverse a string
- Reverse words in a string
- Rock-paper-scissors
- Roman numerals/Decode
- Roman numerals/Encode
- Roots of a function
- Roots of a quadratic function
- Roots of unity
- Rosetta Code/Count examples
- Rosetta Code/Fix code tags
- Rot-13
- RPG attributes generator
- Run-length encoding
- Runge-Kutta method
S
- S-expressions
- Same fringe
- Sattolo cycle
- Search a list
- Search a list of records
- Secure temporary file
- SEDOLs
- Semordnilap
- Send email
- Sequence of non-squares
- Set
- Set consolidation
- Seven-sided dice from five-sided dice
- SHA-1
- SHA-256
- Shell one-liner
- Short-circuit evaluation
- Show the epoch
- Sierpinski carpet
- Sierpinski triangle
- Sierpinski triangle/Graphical
- Sieve of Eratosthenes
- Simple windowed application
- Simulate input/Keyboard
- Sine wave
- Singly-linked list/Element definition
- Singly-linked list/Element insertion
- Singly-linked list/Traversal
- Sleep
- Snake
- Sockets
- Sokoban
- Sort an array of composite structures
- Sort an integer array
- Sort disjoint sublist
- Sort stability
- Sort three variables
- Sort using a custom comparator
- Sorting algorithms/Bead sort
- Sorting algorithms/Bogosort
- Sorting algorithms/Bubble sort
- Sorting algorithms/Cocktail sort
- Sorting algorithms/Comb sort
- Sorting algorithms/Counting sort
- Sorting algorithms/Gnome sort
- Sorting algorithms/Heapsort
- Sorting algorithms/Insertion sort
- Sorting algorithms/Merge sort
- Sorting algorithms/Pancake sort
- Sorting algorithms/Patience sort
- Sorting algorithms/Permutation sort
- Sorting algorithms/Quicksort
- Sorting algorithms/Selection sort
- Sorting algorithms/Shell sort
- Sorting algorithms/Stooge sort
- Sorting algorithms/Strand sort
- Soundex
- Special characters
- Special variables
- Spiral matrix
- Square but not cube
- Stable marriage problem
- Stack
- Stack traces
- Stair-climbing puzzle
- Stem-and-leaf plot
- String append
- String case
- String concatenation
- String interpolation (included)
- String length
- String matching
- String prepend
- Strip a set of characters from a string
- Strip comments from a string
- Strip control codes and extended characters from a string
- Strip whitespace from a string/Top and tail
- Subset sum problem
- Substring
- Substring/Top and tail
- Subtractive generator
- Sudoku
- Sum and product of an array
- Sum data type
- Sum digits of an integer
- Sum multiples of 3 and 5
- Sum of a series
- Sum of squares
- Sutherland-Hodgman polygon clipping
- Symmetric difference
- Synchronous concurrency
- System time
T
- Take notes on the command line
- Temperature conversion
- Terminal control/Clear the screen
- Terminal control/Coloured text
- Terminal control/Cursor positioning
- Terminal control/Dimensions
- Terminal control/Inverse video
- Ternary logic
- Test a function
- Text processing/1
- Text processing/2
- Text processing/Max licenses in use
- Thiele's interpolation formula
- Thue-Morse
- Time a function
- Tokenize a string
- Tokenize a string with escaping
- Top rank per group
- Topological sort
- Towers of Hanoi
- Trabb Pardo–Knuth algorithm
- Tree traversal
- Trigonometric functions
- Truncate a file
- Two sum