2,988
students have developed their OCaml skills on Exercism.

Students
2,988
Submissions
22,497
Mentoring Discussions
1,070

The OCaml track needs attention ⚠️

Building

Build

Use your knowledge to build the OCaml track itself

Build Test Runners

Learn More

Create Test Runners that have the single responsibility of taking a solution, running all tests and returning a standardized output.

Next goal: Get Test Runners to Version 2. OCaml is currently utilising a Version 1 Test Runner. Find out more.

Usage statistics

Total Test Runner Runs
17,372
Test Run Pass Rate
29.5% (5121)
Test Run Fail Rate
66.7% (11594)
Test Run Error Rate
3.8% (657)

Build Analyzers

Learn More

Build an Analyzer for OCaml: Exercism's analyzers automatically assess student's submissions and provide mentor-style commentary.

Next goal: Build an Analyzer. Find out more.

Build Representers

Learn More

Build a Representer: a bit of code that has the single responsibility of taking a solution and returning a normalized representation of it.

Next goal: Build a Representer. Find out more.

Create Practice Exercises

Learn More

Practice Exercises are exercises designed to allow students to solve an arbitrary problem, with the aim of them making use of the concepts they have learned so far.

Next goal: Implement at least 50 practice exercises. Find out more.

Usage statistics

44 active practice exercises
Started
Attempts
Completions
Mentoring requests
Hello World Hello World
1,836
2,892 (avg. 1.6)
1,542 (84.0%)
2 (0.1%)
Leap Leap
1,346
3,076 (avg. 2.3)
900 (66.9%)
250 (18.6%)
Difference of Squares Difference of Squares
648
2,691 (avg. 4.2)
482 (74.4%)
94 (14.5%)
Hamming Hamming
734
3,246 (avg. 4.4)
458 (62.4%)
133 (18.1%)
Nucleotide Count Nucleotide Count
383
1,970 (avg. 5.1)
223 (58.2%)
73 (19.1%)
Raindrops Raindrops
380
908 (avg. 2.4)
312 (82.1%)
72 (18.9%)
RNA Transcription RNA Transcription
329
605 (avg. 1.8)
280 (85.1%)
46 (14.0%)
Acronym Acronym
186
759 (avg. 4.1)
128 (68.8%)
24 (12.9%)
Allergies Allergies
122
235 (avg. 1.9)
75 (61.5%)
7 (5.7%)
Anagram Anagram
249
459 (avg. 1.8)
167 (67.1%)
29 (11.6%)
Binary Search Tree Binary Search Tree
104
369 (avg. 3.5)
60 (57.7%)
0 (0.0%)
Bob Bob
242
489 (avg. 2.0)
194 (80.2%)
42 (17.4%)
ETL ETL
181
317 (avg. 1.8)
151 (83.4%)
30 (16.6%)
Grade School Grade School
177
341 (avg. 1.9)
139 (78.5%)
36 (20.3%)
Pangram Pangram
141
228 (avg. 1.6)
104 (73.8%)
24 (17.0%)
Space Age Space Age
195
252 (avg. 1.3)
148 (75.9%)
29 (14.9%)
Triangle Triangle
163
290 (avg. 1.8)
131 (80.4%)
27 (16.6%)
All Your Base All Your Base
138
194 (avg. 1.4)
88 (63.8%)
8 (5.8%)
Beer Song Beer Song
112
166 (avg. 1.5)
91 (81.3%)
7 (6.3%)
Binary Search Binary Search
122
264 (avg. 2.2)
83 (68.0%)
12 (9.8%)
Luhn Luhn
110
189 (avg. 1.7)
76 (69.1%)
9 (8.2%)
Matching Brackets Matching Brackets
139
245 (avg. 1.8)
98 (70.5%)
19 (13.7%)
Phone Number Phone Number
104
152 (avg. 1.5)
77 (74.0%)
11 (10.6%)
Word Count Word Count
129
227 (avg. 1.8)
99 (76.7%)
11 (8.5%)
Prime Factors Prime Factors
77
119 (avg. 1.5)
55 (71.4%)
7 (9.1%)
Roman Numerals Roman Numerals
62
81 (avg. 1.3)
43 (69.4%)
1 (1.6%)
Run-Length Encoding Run-Length Encoding
78
181 (avg. 2.3)
54 (69.2%)
3 (3.8%)
Say Say
58
51 (avg. 0.9)
35 (60.3%)
3 (5.2%)
Change Change
47
115 (avg. 2.4)
22 (46.8%)
5 (10.6%)
List Ops List Ops
133
290 (avg. 2.2)
99 (74.4%)
29 (21.8%)
Palindrome Products Palindrome Products
44
40 (avg. 0.9)
18 (40.9%)
3 (6.8%)
Rectangles Rectangles
38
74 (avg. 1.9)
16 (42.1%)
2 (5.3%)
Robot Name Robot Name
52
122 (avg. 2.3)
33 (63.5%)
5 (9.6%)
Atbash Cipher Atbash Cipher
48
92 (avg. 1.9)
29 (60.4%)
2 (4.2%)
Bowling Bowling
46
38 (avg. 0.8)
25 (54.3%)
0 (0.0%)
Dominoes Dominoes
37
55 (avg. 1.5)
17 (45.9%)
4 (10.8%)
Minesweeper Minesweeper
49
43 (avg. 0.9)
30 (61.2%)
2 (4.1%)
Connect Connect
42
21 (avg. 0.5)
14 (33.3%)
0 (0.0%)
Custom Set Custom Set
68
105 (avg. 1.5)
31 (45.6%)
9 (13.2%)
Forth Forth
50
108 (avg. 2.2)
21 (42.0%)
1 (2.0%)
Meetup Meetup
36
20 (avg. 0.6)
16 (44.4%)
1 (2.8%)
Hangman Hangman
45
33 (avg. 0.7)
22 (48.9%)
4 (8.9%)
React React
54
279 (avg. 5.2)
16 (29.6%)
0 (0.0%)
Zipper Zipper
58
48 (avg. 0.8)
21 (36.2%)
3 (5.2%)
1 deprecated practice exercises
Started
Attempts
Completions
Mentoring requests
Hexadecimal Hexadecimal
11
18 (avg. 1.6)
11 (100.0%)
2 (18.2%)
85 unimplemented practice exercises
Affine Cipher Affine Cipher
Alphametics Alphametics
Armstrong Numbers Armstrong Numbers
Bank Account Bank Account
Book Store Book Store
Bottle Song Bottle Song
Circular Buffer Circular Buffer
Clock Clock
Collatz Conjecture Collatz Conjecture
Complex Numbers Complex Numbers
Crypto Square Crypto Square
D&D Character D&D Character
DOT DSL DOT DSL
Darts Darts
Diamond Diamond
Error Handling Error Handling
Flatten Array Flatten Array
Food Chain Food Chain
Gigasecond Gigasecond
Go Counting Go Counting
Grains Grains
Grep Grep
High Scores High Scores
House House
ISBN Verifier ISBN Verifier
Isogram Isogram
Killer Sudoku Helper Killer Sudoku Helper
Kindergarten Garden Kindergarten Garden
Knapsack Knapsack
Largest Series Product Largest Series Product
Ledger Ledger
Lens Person Lens Person
Linked List Linked List
Markdown Markdown
Matrix Matrix
Micro Blog Micro Blog
Nth Prime Nth Prime
OCR Numbers OCR Numbers
POV POV
PaaS I/O PaaS I/O
Parallel Letter Frequency Parallel Letter Frequency
Pascal's Triangle Pascal's Triangle
Perfect Numbers Perfect Numbers
Pig Latin Pig Latin
Poker Poker
Protein Translation Protein Translation
Proverb Proverb
Pythagorean Triplet Pythagorean Triplet
Queen Attack Queen Attack
REST API REST API
Rail Fence Cipher Rail Fence Cipher
Rational Numbers Rational Numbers
Resistor Color Resistor Color
Resistor Color Duo Resistor Color Duo
Resistor Color Trio Resistor Color Trio
Reverse String Reverse String
Robot Simulator Robot Simulator
Rotational Cipher Rotational Cipher
SGF Parsing SGF Parsing
Saddle Points Saddle Points
Satellite Satellite
Scale Generator Scale Generator
Scrabble Score Scrabble Score
Secret Handshake Secret Handshake
Series Series
Sieve Sieve
Simple Cipher Simple Cipher
Simple Linked List Simple Linked List
Spiral Matrix Spiral Matrix
Square Root Square Root
State of Tic-Tac-Toe State of Tic-Tac-Toe
Strain Strain
Sublist Sublist
Sum of Multiples Sum of Multiples
Tournament Tournament
Transpose Transpose
Tree Building Tree Building
Twelve Days Twelve Days
Two Bucket Two Bucket
Two-Fer Two-Fer
Variable Length Quantity Variable Length Quantity
Word Search Word Search
Wordy Wordy
Yacht Yacht
Zebra Puzzle Zebra Puzzle