# 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

- AVL tree
- Abundant, deficient and perfect number classifications
- Active Directory/Connect
- Active Directory/Search for a user
- Active object
- Aliquot sequence classifications
- Almost prime
- Amicable pairs
- Angle difference between two bearings
- Animate a pendulum
- Animation
- Append a record to the end of a text file
- Apply a digital filter (direct form II transposed)
- Archimedean spiral
- Arena storage pool
- Atomic updates
- Average loop length

### B

### C

- CSV data manipulation
- CUSIP
- Calendar
- Calendar - for "REAL" programmers
- Canny edge detector
- Carmichael 3 strong pseudoprimes
- Casting out nines
- Chaos game
- Chat server
- Checkpoint synchronization
- Chinese zodiac
- Circles of given radius through two points
- Color of a screen pixel
- 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
- Cramer's rule
- Create a file on magnetic tape
- Create an object at a given address
- Cut a rectangle

### D

- Date manipulation
- Death Star
- Deconvolution/1D
- Deconvolution/2D+
- Delegates
- Department Numbers
- Digital root
- Digital root/Multiplicative digital root
- Dinesman's multiple-dwelling problem
- Dining philosophers
- Discordian date
- Doubly-linked list/Definition
- Doubly-linked list/Traversal
- Draw a cuboid
- Draw a pixel
- Draw a rotating cube
- Draw a sphere
- Dutch national flag problem
- Dynamic variable names

### E

### F

- FTP
- Factors of a Mersenne number
- Farey sequence
- Fibonacci n-step number sequences
- Fibonacci word
- Fibonacci word/fractal
- Find largest left truncatable prime in a given base
- Find palindromic numbers in both binary and ternary bases
- Find the intersection of two lines
- First class environments
- Floyd-Warshall algorithm
- Formal power series
- Function frequency
- Function prototype

### G

### H

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

### K

- K-d tree
- K-means++ clustering
- Kaprekar numbers
- Kernighans large earthquake problem
- Keyboard input/Flush the keyboard buffer
- Keyboard input/Keypress check
- Keyboard input/Obtain a Y or N response
- Keyboard macros
- Knapsack problem/Bounded
- Knight's tour
- Kolakoski sequence
- Kronecker product
- Kronecker product based fractals

### L

### M

- MAC Vendor Lookup
- MD4
- MD5/Implementation
- Machine code
- Mad Libs
- Magic squares of doubly even order
- Magic squares of odd order
- Magic squares of singly even order
- Main step of GOST 28147-89
- Make directory path
- Matrix arithmetic
- Maximum triangle path sum
- Maze solving
- Memory allocation
- Metaprogramming
- Metered concurrency
- Metronome
- Miller–Rabin primality test
- Move-to-front algorithm
- Multifactorial
- Multiple regression
- Multiplicative order
- Multisplit
- Munchausen numbers

### N

### P

- 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
- Pascal's triangle/Puzzle
- Pascal matrix generation
- Password generator
- Pathological floating point problems
- Penney's game
- Pentagram
- Percolation/Bond percolation
- Percolation/Mean cluster density
- Percolation/Mean run density
- Percolation/Site percolation
- Perfect shuffle
- Permutation test
- Permutations/Derangements
- Permutations/Rank of a permutation
- Permutations by swapping
- Pernicious numbers
- Phrase reversals
- Pig the dice game/Player
- Pinstripe/Display
- Pinstripe/Printer
- Plasma effect
- Play recorded sounds
- Poker hand analyser
- Polynomial regression
- Polyspiral
- Population count
- Pragmatic directives
- Primes - allocate descendants to their ancestors
- Primorial numbers
- Pythagoras tree
- Pythagorean quadruples

### R

- RCRPG
- RIPEMD-160
- RSA code
- Ramer-Douglas-Peucker line simplification
- Ranking methods
- Rate counter
- 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

- SOAP
- SQL-based authentication
- Safe addition
- Sailors, coconuts and a monkey problem
- Scope/Function names and labels
- Scope modifiers
- Self-describing numbers
- Self-referential sequence
- Semiprime
- Send an unknown method call
- Sequence of primes by trial division
- Set of real numbers
- Set puzzle
- Shoelace formula for polygonal area
- Sierpinski pentagon
- Simple database
- Simulate input/Mouse
- 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
- Sorting algorithms/Radix sort
- Sorting algorithms/Sleep sort
- Sparkline in unicode
- Speech synthesis
- Split a character string based on change of character
- Start from a main routine
- State name puzzle
- Statistics/Basic
- Statistics/Normal distribution
- Stern-Brocot sequence
- Straddling checkerboard
- Stream Merge
- String comparison
- String prepend
- Strip block comments
- Subleq
- Sum and Product Puzzle
- Sum to 100
- Superellipse

### T

- Table creation/Postal addresses
- Taxicab numbers
- 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
- Thue-Morse
- Tic-tac-toe
- Topswops
- Total circles area
- Truncatable primes
- Truth table
- Twelve statements

### U

### V

### W

### Draft tasks without implementation[edit]

These tasks as 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

- A* search algorithm
- ASCII art diagram converter
- Abbreviations, automatic
- Abbreviations, easy
- Abbreviations, simple
- Addition-chain exponentiation
- Addition chains
- Arithmetic coding/As a generalized change of radix
- Aspect Oriented Programming
- Assertions in design by contract
- AudioAlarm
- Audio Overlap Loop
- Audio frequency generator

### B

### C

- Calculating the value of e
- Cantor set
- Card shuffles
- Chaocipher
- Chebyshev coefficients
- Chess player
- Chess player/Move generation
- Chess player/Program options and user interface
- Chess player/Search and evaluation
- Cipolla's algorithm
- Code segment unload
- Color wheel
- Combinations with repetitions/Square Digit Chain
- Continued fraction/Arithmetic/G(matrix NG, Contined Fraction N)
- Continued fraction/Arithmetic/G(matrix NG, Contined Fraction N1, Contined Fraction N2)
- Convex hull
- Create an object/Native demonstration
- Currency
- Cycle detection

### D

### E

### F

- Faulhaber's formula
- Faulhaber's triangle
- Feigenbaum constant calculation
- Fibonacci heap
- File extension is in extensions list
- File size distribution
- Find URI in text
- Find duplicate files
- Find first and last set bit of a long integer
- Find the intersection of a line with a plane
- Finite state machine
- Fivenum
- Four is magic
- Four is the number of letters in the ...
- Free polyominoes enumeration
- French Republican calendar
- Functional coverage tree

### G

### I

- I.Q. Puzzle
- IPC via named pipe
- IRC gateway
- Idiomatically determine all the characters that can be used for symbols
- Idiomatically determine all the lowercase and uppercase letters
- Imaginary base numbers
- Implicit type conversion
- Index finite lists of positive integers
- Input/Output for Lines of Text
- Input/Output for Pairs of Numbers
- Integer roots

### L

### M

- Magic 8-Ball
- Make a backup file
- Markov chain text generator
- Mastermind
- Matrix chain multiplication
- Mersenne primes
- Modular arithmetic
- Monads/List monad
- Monads/Maybe monad
- Monads/Writer monad
- Montgomery reduction
- Morpion solitaire
- Most frequent k chars distance
- Multi-dimensional array
- Multidimensional Newton-Raphson method
- Musical scale

### O

### P

### R

- Railway circuit
- Ramsey's theorem
- Read a file character by character/UTF8
- Readline interface
- Recursive descent parser generator
- Reflection/List methods
- Remote agent/Agent interface
- Remote agent/Agent logic
- Remote agent/Simulation
- 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 sorted by average lines of code
- Rosetta Code/Tasks without examples
- Run as a daemon or service

### S

- Selective File Copy
- Self-hosting compiler
- Separate the house number from the street name
- Sequence of primorial primes
- Shortest common supersequence
- Simulated annealing
- Sine wave
- Singly-linked list/Element removal
- Snake
- Snake And Ladder
- Solve a Rubik's Cube
- Solving coin problems
- Sorting Algorithms/Circle Sort
- Sorting algorithms/Cycle sort
- Sorting algorithms/Tree sort on a linked list
- Spelling of ordinal numbers
- Spoof game
- Starting a web browser
- Substitution Cipher
- Suffix tree
- Superpermutation minimisation

### T

- Table creation
- Tamagotchi emulator
- Tarjan
- Terminal control/Restricted width positional input/No wrapping
- Terminal control/Restricted width positional input/With wrapping
- Tetris
- Text between
- Text to HTML
- Time-based One-time Password Algorithm
- Tonelli-Shanks algorithm
- Topological sort/Extracted top item
- Transportation problem
- Two Sum
- Type detection

### U

### V

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