# 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
- 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
- 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
- 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 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 Digital Signature Algorithm
- Emirp primes
- Entropy/Narcissist
- Euler's sum of powers conjecture
- Events
- Executable library
- Exponentiation with infix operators in (or operating on) the base
- 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
- French Republican calendar
- 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
- Generate Chess960 starting position
- Generate random chess position
- 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
- Mind boggling card trick
- Minimal steps down to 1
- Minkowski question-mark function
- Modified random distribution
- 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-Adic numbers, basic
- P-Adic square roots
- P-value correction
- Padovan n-step number sequences
- Padovan sequence
- Palindrome dates
- Palindromic gapful numbers
- Pancake 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
- 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
- RSA code
- Ramanujan's constant
- Ramer-Douglas-Peucker line simplification
- Random Latin squares
- Random sentence from book
- 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 number of users
- 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
- Square Form Factorization
- 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
- Tau function
- Tau number
- 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
- Tree from nesting levels
- 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
- Change e letters to i in words
- Changeable words
- Chebyshev coefficients
- Chemical calculator
- Chess player
- Cipolla's algorithm
- Code segment unload
- Combinations with repetitions/Square digit chain
- Common list elements
- Common sorted list
- Compiler/Verifying syntax
- Consecutive Primes With Ascending Or Descending Differences
- 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
- Cousin primes
- Create an object/Native demonstration
- Cubic Special Primes
- Curve that touches three points
- Cycle detection

### D

### F

- Fibonacci heap
- Fibonacci matrix-exponentiation
- Find URI in text
- Find first and last set bit of a long integer
- Find first missing positive
- Find if a point is within a triangle
- Find prime n for that reversed n is also prime
- Find prime numbers of the form n*n*n+2
- Find words which contains all the vowels
- Find words which contains more than 3 e vowels
- Find words which contains most consonants
- Find words which first and last three letters are equals
- Find words with alternating vowels and consonants
- Finite state machine
- Free polyominoes enumeration
- Frobenius numbers

### 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

- N-body problem
- NYSIIS
- Names to numbers
- Neighbour primes
- Next special primes
- Nice primes
- Numbers divisible by their individual digits, but not by the product of their digits.
- Numbers which binary and ternary digit sum are prime
- Numbers with equal rises and falls
- Numbers with prime digits whose sum is 13
- Numerical integration/Adaptive Simpson's method

### O

### P

- Palindromic primes
- Parse EBNF
- Parse command-line arguments
- Particle swarm optimization
- Penrose tiling
- Pentomino tiling
- Perceptron
- Permutations with repetitions
- Permutations with some identical elements
- Piprimes
- Pisano period
- Polynomial synthetic division
- Powerful numbers
- Practical numbers
- Price list behind API
- Prime triplets
- Prime words
- Primes which sum of digits is 25
- Primes with digits in nondecreasing order
- 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
- 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/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
- Shift list elements to left by 3
- Show the (decimal) value of a number of 1s appended with a 3, then squared
- Sierpinski arrowhead curve
- Sierpinski curve
- Sierpinski square curve
- Simulated annealing
- Singly-linked list/Element removal
- Smallest enclosing circle problem
- Smallest numbers
- Smallest power of 6 whose decimal expansion contains n
- Smallest square that begins with n
- 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
- Special Divisors
- Special factorials
- Spoof game
- Square root by hand
- Starting a web browser
- Strange numbers
- Strange plus numbers
- Strange unique prime triplets
- Strassen's algorithm
- Substring primes
- Suffix tree
- Sum of divisors
- Sum of the digits of n is substring of n
- Summarize primes

### T

- Table creation
- Tamagotchi emulator
- 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
- Two identical strings
- 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.