# Reports:Tasks not implemented in OCaml

**Awareness**

If

**OCaml**is a language you like, or are interested in, please inform your fellow members of the OCaml community; this page can't be emptied without your and their participation.

## Contents

## Not implemented[edit]

These are currently not implemented in OCaml. Please implement some if you can. If any tasks are not possible or too complex in OCaml, they should not be on this list. To mark a task as such, add **{{omit from|OCaml}}**, preserving the capitalization of the language, to that task. It will appear below under the "Not Considered" section.

### 2

### A

- ASCII art diagram converter
- AVL tree
- Abbreviations, automatic
- Abelian sandpile model
- Abelian sandpile model/Identity
- Abundant, deficient and perfect number classifications
- Abundant odd numbers
- Active Directory/Connect
- Active Directory/Search for a user
- Active object
- Aliquot sequence classifications
- Almost prime
- Amicable pairs
- Angles (geometric), normalization and conversion
- Animate a pendulum
- Animation
- Anti-primes
- Append a record to the end of a text file
- Apply a digital filter (direct form II transposed)
- Approximate equality
- Archimedean spiral
- Arena storage pool
- Associative array/Merging
- Atomic updates
- Attractive numbers
- Average loop length

### B

### C

- CUSIP
- Calculating the value of e
- Calendar - for "REAL" programmers
- Calkin-Wilf sequence
- Canny edge detector
- Canonicalize CIDR
- Cantor set
- Carmichael 3 strong pseudoprimes
- Casting out nines
- Chaocipher
- Chaos game
- Chat server
- Checkpoint synchronization
- Chernick's Carmichael numbers
- Cheryl's birthday
- Chinese zodiac
- Chowla numbers
- Church numerals
- Circles of given radius through two points
- Circular primes
- Cistercian numerals
- Color of a screen pixel
- Color wheel
- Colour pinstripe/Printer
- Combinations and permutations
- Commatizing numbers
- Compare sorting algorithms' performance
- Compiler/AST interpreter
- Compiler/code generator
- Compiler/lexical analyzer
- Compiler/syntax analyzer
- Compiler/virtual machine interpreter
- Conjugate transpose
- Continued fraction/Arithmetic/Construct from rational number
- Convert decimal number to rational
- Convex hull
- Cramer's rule
- Create a file on magnetic tape
- Create an object at a given address
- Cuban primes
- Cut a rectangle
- Cyclotomic polynomial

### D

- Damm algorithm
- Date manipulation
- De Bruijn sequences
- Death Star
- Deconvolution/1D
- Deconvolution/2D+
- Delegates
- Deming's Funnel
- Department numbers
- Determinant and permanent
- Determine if a string has all the same characters
- Determine if a string has all unique characters
- Determine if a string is collapsible
- Determine if a string is squeezable
- Determine if two triangles overlap
- Dice game probabilities
- Digital root
- Digital root/Multiplicative digital root
- Dinesman's multiple-dwelling problem
- Dining philosophers
- Discordian date
- Display a linear combination
- Display an outline as a nested table
- Diversity prediction theorem
- Doubly-linked list/Definition
- Doubly-linked list/Traversal
- Draw a cuboid
- Draw a rotating cube
- Draw a sphere
- Dutch national flag problem
- Dynamic variable names

### E

- EKG sequence convergence
- Eban numbers
- Echo server
- Eertree
- Egyptian division
- Egyptian fractions
- Element-wise operations
- Elementary cellular automaton
- Elementary cellular automaton/Infinite length
- Elementary cellular automaton/Random Number Generator
- Elliptic curve arithmetic
- Emirp primes
- Entropy/Narcissist
- Euler's sum of powers conjecture
- Events
- Executable library
- Extend your language
- Extensible prime generator

### F

- FTP
- Faces from a mesh
- Factorial base numbers indexing permutations of a collection
- Factors of a Mersenne number
- Fairshare between two and more
- Farey sequence
- Faulhaber's formula
- Faulhaber's triangle
- Feigenbaum constant calculation
- Fermat numbers
- Fibonacci n-step number sequences
- Fibonacci word
- Fibonacci word/fractal
- File extension is in extensions list
- File size distribution
- Find duplicate files
- Find largest left truncatable prime in a given base
- Find palindromic numbers in both binary and ternary bases
- Find the intersection of a line with a plane
- Find the intersection of two lines
- First class environments
- First perfect square in base n with n unique digits
- First power of 2 that has leading decimal digits of 12
- Fivenum
- Fixed length records
- Flipping bits game
- Floyd-Warshall algorithm
- Formal power series
- Four is magic
- Four is the number of letters in the ...
- Fraction reduction
- Function frequency
- Functional coverage tree
- Fusc sequence

### G

- GUI/Maximum window dimensions
- GUI component interaction
- GUI enabling/disabling of controls
- Galton box animation
- Gapful numbers
- Gauss-Jordan matrix inversion
- General FizzBuzz
- Generate Chess960 starting position
- Generate random chess position
- Generator/Exponential
- Get system command output
- Globally replace text in several files
- Graph colouring
- Guess the number/With feedback (player)

### H

- HTTPS
- HTTPS/Authenticated
- HTTPS/Client-authenticated
- Harshad or Niven series
- Heronian triangles
- Hickerson series of almost integers
- Hilbert curve
- Hofstadter-Conway $10,000 sequence
- Hofstadter Figure-Figure sequences
- Hofstadter Q sequence
- Holidays related to Easter
- Honeycombs
- Hough transform
- Humble numbers
- Hunt the Wumpus

### I

- ISBN13 check digit
- I before E except after C
- Idiomatically determine all the characters that can be used for symbols
- Idiomatically determine all the lowercase and uppercase letters
- Imaginary base numbers
- Increasing gaps between consecutive Niven numbers
- Index finite lists of positive integers
- Integer overflow
- Intersecting number wheels
- Inverted syntax
- Isqrt (integer square root) of X
- Iterated digits squaring

### K

- K-d tree
- K-means++ clustering
- Kaprekar numbers
- Kernighans large earthquake problem
- Keyboard input/Flush the keyboard buffer
- Keyboard input/Keypress check
- Keyboard macros
- Knapsack problem/Bounded
- Knight's tour
- Knuth's power tree
- Koch curve
- Kolakoski sequence
- Kosaraju
- Kronecker product
- Kronecker product based fractals

### L

- LU decomposition
- Lah numbers
- Largest number divisible by its digits
- Last letter-first letter
- Latin Squares in reduced form
- Law of cosines - triples
- Left factorials
- Leonardo numbers
- Levenshtein distance/Alignment
- Linear congruential generator
- List rooted trees
- Long literals, with continuations
- Long multiplication
- Long primes
- Long year
- Longest common substring
- Loops/Increment loop index within loop body
- Loops/With multiple ranges
- Loops/Wrong ranges
- Lucas-Lehmer test
- Lucky and even lucky numbers
- Ludic numbers
- Lychrel numbers

### M

- MAC Vendor Lookup
- MD4
- MD5/Implementation
- Machine code
- Mad Libs
- Magic 8-ball
- Magic squares of doubly even order
- Magic squares of odd order
- Magic squares of singly even order
- Main step of GOST 28147-89
- Mastermind
- Matrix chain multiplication
- Matrix digital rain
- Maximum triangle path sum
- Mayan numerals
- Maze solving
- McNuggets problem
- Memory allocation
- Merge and aggregate datasets
- Mertens function
- Metallic ratios
- Metaprogramming
- Metered concurrency
- Metronome
- Mian-Chowla sequence
- Miller–Rabin primality test
- Mind boggling card trick
- Minimal steps down to 1
- Minkowski question-mark function
- Modular arithmetic
- Monads/List monad
- Monads/Maybe monad
- Monads/Writer monad
- Move-to-front algorithm
- Multi-dimensional array
- Multifactorial
- Multiple regression
- Multiplicative order
- Multisplit
- Munchausen numbers
- Musical scale

### N

- N-smooth numbers
- Naming conventions
- Narcissist
- Narcissistic decimal number
- Natural sorting
- Nautical bell
- Negative base numbers
- Nested templated data
- Next highest int from digits
- Nim game
- Nimber arithmetic
- Non-transitive dice
- Nonoblock
- Nonogram solver
- Numeric error propagation
- Numerical and alphabetical suffixes

### O

### P

- P-value correction
- Palindrome dates
- Palindromic gapful numbers
- Paraffins
- Parallel brute force
- Parallel calculations
- Parametrized SQL statement
- Parse an IP Address
- Parsing/RPN to infix conversion
- Partition an integer x into n primes
- Partition function P
- Pascal's triangle/Puzzle
- Pascal matrix generation
- Pathological floating point problems
- Peaceful chess queen armies
- Peano curve
- Pell's equation
- Penney's game
- Pentagram
- Percolation/Bond percolation
- Percolation/Mean cluster density
- Percolation/Mean run density
- Percolation/Site percolation
- Perfect shuffle
- Perfect totient numbers
- Permutation test
- Permutations/Derangements
- Permutations/Rank of a permutation
- Permutations by swapping
- Pernicious numbers
- Phrase reversals
- Pierpont primes
- Pig the dice game/Player
- Pinstripe/Display
- Pinstripe/Printer
- Plasma effect
- Play recorded sounds
- Playfair cipher
- Poker hand analyser
- Polynomial regression
- Polyspiral
- Population count
- Pragmatic directives
- Primality by Wilson's theorem
- Prime conspiracy
- Primes - allocate descendants to their ancestors
- Primorial numbers
- Proper divisors
- Pseudo-random numbers/Combined recursive generator MRG32k3a
- Pseudo-random numbers/PCG32
- Pseudo-random numbers/Xorshift star
- Pythagoras tree
- Pythagorean quadruples

### R

- RCRPG
- RIPEMD-160
- RPG attributes generator
- RSA code
- Ramanujan's constant
- Ramer-Douglas-Peucker line simplification
- Range consolidation
- Ranking methods
- Rare numbers
- Rate counter
- Read a file character by character/UTF8
- Recaman's sequence
- Reflection/Get source
- Reflection/List methods
- Reflection/List properties
- Rendezvous
- Rep-string
- Resistor mesh
- Retrieve and search chat history
- Rosetta Code/Find bare lang tags
- Rosetta Code/Find unimplemented tasks
- Rosetta Code/Rank languages by popularity
- Runtime evaluation
- Runtime evaluation/In an environment

### S

- SHA-256 Merkle tree
- SOAP
- SQL-based authentication
- Safe addition
- Safe primes and unsafe primes
- Sailors, coconuts and a monkey problem
- Scope/Function names and labels
- Scope modifiers
- Self-describing numbers
- Self numbers
- Semiprime
- Send an unknown method call
- Sequence: nth number with exactly n divisors
- Sequence: smallest number greater than previous term with exactly n divisors
- Sequence: smallest number with exactly n divisors
- Sequence of primes by trial division
- Sequence of primorial primes
- Set of real numbers
- Set puzzle
- Sexy primes
- Shoelace formula for polygonal area
- Shortest common supersequence
- Show ASCII table
- Sierpinski pentagon
- Simple database
- Simulate input/Mouse
- Smarandache prime-digital sequence
- Smith numbers
- Solve a Hidato puzzle
- Solve a Holy Knight's tour
- Solve a Hopido puzzle
- Solve a Numbrix puzzle
- Solve the no connection puzzle
- Sort a list of object identifiers
- Sort an outline at every level
- Sort numbers lexicographically
- Sorting Algorithms/Circle Sort
- Sorting algorithms/Cocktail sort with shifting bounds
- Sorting algorithms/Radix sort
- Sorting algorithms/Sleep sort
- Sparkline in unicode
- Speech synthesis
- Spelling of ordinal numbers
- Spinning rod animation/Text
- Split a character string based on change of character
- Square-free integers
- Start from a main routine
- State name puzzle
- Statistics/Basic
- Statistics/Normal distribution
- Stern-Brocot sequence
- Stirling numbers of the first kind
- Stirling numbers of the second kind
- Straddling checkerboard
- Stream merge
- String comparison
- Strip block comments
- Strong and weak primes
- Subleq
- Substitution cipher
- Successive prime differences
- Suffixation of decimal numbers
- Sum and product puzzle
- Sum to 100
- Summarize and say sequence
- Sunflower fractal
- Super-d numbers
- Superellipse
- Superpermutation minimisation

### T

- Table creation/Postal addresses
- Tarjan
- Taxicab numbers
- Teacup rim text
- Terminal control/Cursor movement
- Terminal control/Display an extended character
- Terminal control/Hiding the cursor
- Terminal control/Positional read
- Terminal control/Preserve screen
- Terminal control/Ringing the terminal bell
- Terminal control/Unicode output
- Test integerness
- Textonyms
- The ISAAC Cipher
- The Name Game
- The Twelve Days of Christmas
- Tic-tac-toe
- Tonelli-Shanks algorithm
- Topswops
- Total circles area
- Totient function
- Tree datastructures
- Truncatable primes
- Truth table
- Twelve statements

### U

### V

### W

### Draft tasks without implementation[edit]

These tasks are drafts, meaning they largely need more work to turn them into full tasks. Perhaps you can help by trying to implement them in OCaml (after all, one of the key requirements for a task being non-draft is multiple implementations, preferably in widely different languages) but be aware that this may be difficult because of lack of definition of the task itself.

### A

### B

### C

- CLI-based maze-game
- Card shuffles
- Changeable words
- Chebyshev coefficients
- Chemical calculator
- Chess player
- Cipolla's algorithm
- Code segment unload
- Combinations with repetitions/Square digit chain
- Compiler/Verifying syntax
- Continued fraction/Arithmetic/G(matrix ng, continued fraction n)
- Continued fraction/Arithmetic/G(matrix ng, continued fraction n1, continued fraction n2)
- Count the coins/0-1
- Create an object/Native demonstration
- Curve that touches three points
- Cycle detection

### D

### E

### F

- Fibonacci heap
- Fibonacci matrix-exponentiation
- Find URI in text
- Find first and last set bit of a long integer
- Find if a point is within a triangle
- Find words which odd letters are consonants and even letters are vowels or vice versa
- Finite state machine
- Free polyominoes enumeration
- French Republican calendar

### G

### I

### L

- Latin Squares in reduced form/Randomizing using Jacobson and Matthews’ Technique
- Launch rocket with countdown and acceleration in stdout
- Length of an arc between two angles
- Line circle intersection
- Linux CPU utilization
- Logistic curve fitting in epidemiology
- Longest common prefix
- Longest common suffix
- Longest palindromic substrings

### M

### N

### P

- Pancake numbers
- Parse EBNF
- Parse command-line arguments
- Particle swarm optimization
- Penrose tiling
- Pentomino tiling
- Perceptron
- Permutations with repetitions
- Permutations with some identical elements
- Pisano period
- Polynomial synthetic division
- Powerful numbers
- Price list behind API
- Prime words
- Print debugging statement
- Print itself
- Process SMIL directives in XML data
- Product of divisors
- Pseudo-random numbers/Splitmix64
- Pseudorandom number generator image

### R

- Railway circuit
- Ramsey's theorem
- Random Latin squares
- Range modifications
- Raster bars
- Readline interface
- Recursive descent parser generator
- Remote agent/Agent interface
- Remote agent/Agent logic
- Remote agent/Simulation
- Remove vowels from a string
- Resistance calculator
- Resistance network calculator
- Reverse the gender of a string
- Robots
- Rosetta Code/List authors of task descriptions
- Rosetta Code/Rank languages by number of users
- Rosetta Code/Run examples
- Rosetta Code/Tasks without examples
- Run as a daemon or service

### S

- Safe mode
- Selective file copy
- Self-hosting compiler
- Separate the house number from the street name
- Sierpinski arrowhead curve
- Sierpinski curve
- Sierpinski square curve
- Simulated annealing
- Singly-linked list/Element removal
- Smallest enclosing circle problem
- Snake and Ladder
- Solve a Rubik's Cube
- Solve triangle solitare puzzle
- Solving coin problems
- Sorting algorithms/Cycle sort
- Sorting algorithms/Tree sort on a linked list
- Spoof game
- Square root by hand
- Starting a web browser
- Strassen's algorithm
- Suffix tree
- Sum of divisors

### T

- Table creation
- Tamagotchi emulator
- Tau function
- Tau number
- Terminal control/Restricted width positional input/No wrapping
- Terminal control/Restricted width positional input/With wrapping
- Tetris
- Text between
- Text completion
- Text to HTML
- Three word location
- Time-based one-time password algorithm
- Topological sort/Extracted top item
- Transportation problem
- Twin primes
- Two bullet roulette
- Type detection

### U

### W

## Requiring Attention[edit]

### Examples[edit]

These tasks have implementations in OCaml, but somebody, somewhere, decided that the example implementation was faulty or in some other way requiring attention. If you're familiar with the task and language, please consider reviewing/correcting the example and removing the notice.

### Other pages[edit]

These are other pages related to OCaml which require attention; with your knowledge and assistance, we can improve the quality of the site's content.

### No pages found.

## Not Considered[edit]

These tasks are not generally counted toward "unimplemented", as somebody, somewhere, decided that OCaml was inappropriate for these tasks, or implementations of them would be unenlightening. Feel free to try your hand at them anyway.

### A

### R

### S

### T

### V

## End of List[edit]

Again, feel free to try your hand at any of the tasks listed on this page.