# Reports:Tasks not implemented in ALGOL 68

**Awareness**

If

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

## Contents

## Not implemented[edit]

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

### A

- ASCII art diagram converter
- AVL tree
- Abbreviations, automatic
- Abelian sandpile model
- Active Directory/Connect
- Active Directory/Search for a user
- Active object
- Algebraic data types
- Almkvist-Giullera formula for pi
- Angle difference between two bearings
- Angles (geometric), normalization and conversion
- Animate a pendulum
- Animation
- Append a record to the end of a text file
- Archimedean spiral
- Arena storage pool
- Arithmetic-geometric mean/Calculate Pi
- Atomic updates
- Average loop length
- Averages/Mean time of day
- Averages/Mode

### B

- Base64 decode data
- Bioinformatics/Sequence mutation
- Biorhythms
- Bitcoin/address validation
- Bitcoin/public point to address
- Bitmap/Bézier curves/Quadratic
- Bitmap/Flood fill
- Bitmap/Histogram
- Bitmap/PPM conversion through a pipe
- Bitmap/Read a PPM file
- Bitmap/Read an image through a pipe
- Bitmap/Write a PPM file
- Brace expansion
- Brazilian numbers
- Break OO privacy
- Brownian tree
- Bulls and cows/Player
- Burrows–Wheeler transform

### C

- Call a function in a shared library
- Call an object method
- Canny edge detector
- Cartesian product of two or more lists
- Catmull–Clark subdivision surface
- Chaocipher
- Chaos game
- Chat server
- Check Machin-like formulas
- Check input device is a terminal
- Check output device is a terminal
- Checkpoint synchronization
- Chernick's Carmichael numbers
- Cheryl's birthday
- Chinese remainder theorem
- Church numerals
- Cistercian numerals
- Closest-pair problem
- Color of a screen pixel
- Color quantization
- Color wheel
- Colorful numbers
- Colour bars/Display
- Colour pinstripe/Display
- Colour pinstripe/Printer
- Combinations with repetitions
- Compare sorting algorithms' performance
- Compile-time calculation
- Compiler/AST interpreter
- Compiler/syntax analyzer
- Compiler/virtual machine interpreter
- Convert decimal number to rational
- Convex hull
- Create a file on magnetic tape
- Create an object at a given address
- Curzon numbers
- Cut a rectangle
- Cyclotomic polynomial

### D

- DNS query
- Date manipulation
- De Bruijn sequences
- Deal cards for FreeCell
- Death Star
- Deconvolution/1D
- Deconvolution/2D+
- Deepcopy
- Deming's funnel
- Determinant and permanent
- Determine if only one instance is running
- Determine if two triangles overlap
- Dice game probabilities
- Dining philosophers
- Display a linear combination
- Display an outline as a nested table
- Distributed programming
- Diversity prediction theorem
- Documentation
- Dominoes
- Draw a clock
- Draw a cuboid
- Draw a pixel
- Draw a rotating cube
- Draw a sphere

### E

- EKG sequence convergence
- Earliest difference between prime gaps
- Eban numbers
- Echo server
- Eertree
- Elementary cellular automaton/Infinite length
- Elementary cellular automaton/Random number generator
- Elliptic Curve Digital Signature Algorithm
- Elliptic curve arithmetic
- Equal prime and composite sums
- Erdös-Selfridge categorization of primes
- Euler's constant 0.5772...
- Events
- Executable library
- Execute a Markov algorithm
- Extensible prime generator
- Extreme floating point values

### F

- FASTA format
- FTP
- Faces from a mesh
- Factorial base numbers indexing permutations of a collection
- Fairshare between two and more
- Faulhaber's formula
- Faulhaber's triangle
- Fermat numbers
- Fibonacci word/fractal
- File size distribution
- Find Chess960 starting position identifier
- 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
- First class environments
- First perfect square in base n with n unique digits
- Fixed length records
- Flipping bits game
- Floyd-Warshall algorithm
- Formal power series
- Fortunate numbers
- Four bit adder
- Four is magic
- Four is the number of letters in the ...
- Fractal tree
- Fraction reduction
- French Republican calendar
- Function frequency
- Functional coverage tree

### G

- GUI/Maximum window dimensions
- GUI component interaction
- GUI enabling/disabling of controls
- Galton box animation
- Generate Chess960 starting position
- Generate random chess position
- Get system command output
- Globally replace text in several files
- Go Fish
- Graph colouring
- Grayscale image
- Greyscale bars/Display

### H

### I

### K

- K-d tree
- K-means++ clustering
- Keyboard input/Flush the keyboard buffer
- Keyboard input/Keypress check
- Keyboard input/Obtain a Y or N response
- Keyboard macros
- Knapsack problem/0-1
- Knapsack problem/Bounded
- Knapsack problem/Continuous
- Knuth's algorithm S
- Knuth's power tree
- Koch curve
- Kolakoski sequence
- Kosaraju
- Kronecker product based fractals

### L

- LU decomposition
- LZW compression
- Last letter-first letter
- Latin Squares in reduced form
- Latin Squares in reduced form/Randomizing using Jacobson and Matthews’ Technique
- Legendre prime counting function
- Levenshtein distance/Alignment
- List rooted trees
- Long literals, with continuations
- Long primes
- Longest increasing subsequence
- Loops/Wrong ranges
- Lucky and even lucky numbers

### M

- MAC vendor lookup
- MD4
- MD5/Implementation
- Machine code
- Magic squares of singly even order
- Main step of GOST 28147-89
- Make directory path
- Mastermind
- Matrix chain multiplication
- Matrix digital rain
- Mayan calendar
- Mayan numerals
- Maze generation
- Maze solving
- Median filter
- Merge and aggregate datasets
- Metallic ratios
- Metronome
- Mind boggling card trick
- Minesweeper game
- Minimal steps down to 1
- Minkowski question-mark function
- Modified random distribution
- Monads/List monad
- Morse code
- Mouse position
- Multi-base primes
- Multiple regression
- Munching squares
- Musical scale
- Mutex

### N

### O

### P

- P-Adic numbers, basic
- P-Adic square roots
- P-value correction
- Palindromic gapful numbers
- Pancake numbers
- Paraffins
- Parallel brute force
- Parallel calculations
- Parameterized SQL statement
- Parametric polymorphism
- Parse an IP Address
- Particle fountain
- Partition an integer x into n primes
- Partition function P
- Password generator
- Peaceful chess queen armies
- Peano curve
- Pell numbers
- Penney's game
- Pentagram
- Pentomino tiling
- Percentage difference between images
- Percolation/Bond percolation
- Percolation/Mean cluster density
- Percolation/Mean run density
- Percolation/Site percolation
- Peripheral drift illusion
- Perlin noise
- Permutation test
- Permutations/Derangements
- Permutations/Rank of a permutation
- Pig the dice game
- Pig the dice game/Player
- Pinstripe/Display
- Pinstripe/Printer
- Pisano period
- Plasma effect
- Play recorded sounds
- Playfair cipher
- Poker hand analyser
- Polynomial long division
- Polyspiral
- Primes - allocate descendants to their ancestors
- Primorial numbers
- Priority queue
- Problem of Apollonius
- Pseudo-random numbers/Combined recursive generator MRG32k3a
- Pythagoras tree
- Pythagorean triples

### R

- RCRPG
- RIPEMD-160
- Ramanujan's constant
- Ramanujan primes/twins
- Ramer-Douglas-Peucker line simplification
- Random Latin squares
- Random number generator (device)
- Range consolidation
- Ranking methods
- Rare numbers
- Rate counter
- Ray-casting algorithm
- Read a configuration file
- Read a file character by character/UTF8
- Recaman's sequence
- Record sound
- Reflection/Get source
- Reflection/List methods
- Reflection/List properties
- Rendezvous
- Repunit primes
- Resistor mesh
- Respond to an unknown method call
- Retrieve and search chat history
- Rhonda numbers
- Rosetta Code/Count examples
- Rosetta Code/Find bare lang tags
- Rosetta Code/Find unimplemented tasks
- Rosetta Code/Fix code tags
- Rosetta Code/Rank languages by number of users

### S

- SHA-1
- SHA-256
- SHA-256 Merkle tree
- SOAP
- SQL-based authentication
- Safe addition
- Sailors, coconuts and a monkey problem
- Same fringe
- Search in paragraph's text
- Secure temporary file
- Send an unknown method call
- Send email
- Sequence: nth number with exactly n divisors
- Sequence of primorial primes
- Set consolidation
- Set of real numbers
- Set puzzle
- Set right-adjacent bits
- Sexy primes
- Show the epoch
- Sierpinski arrowhead curve
- Sierpinski pentagon
- Sierpinski square curve
- Sierpinski triangle/Graphical
- Simple database
- Simple turtle graphics
- Simple windowed application
- Simulate input/Keyboard
- Simulate input/Mouse
- Singleton
- Sleeping Beauty problem
- Smallest number k such that k+2^m is composite for all m less than k
- Snake
- Sockets
- Sokoban
- Solve a Hidato puzzle
- 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 disjoint sublist
- Sort numbers lexicographically
- Sort stability
- Sorting Algorithms/Circle Sort
- Sorting algorithms/Bead sort
- Sorting algorithms/Cocktail sort with shifting bounds
- Sorting algorithms/Patience sort
- Sorting algorithms/Permutation sort
- Sorting algorithms/Sleep sort
- Sorting algorithms/Strand sort
- Sparkline in unicode
- Speech synthesis
- Spelling of ordinal numbers
- Square form factorization
- Stable marriage problem
- Stack traces
- State name puzzle
- Statistics/Basic
- Statistics/Normal distribution
- Stem-and-leaf plot
- Strassen's algorithm
- Strip block comments
- Substitution cipher
- Subtractive generator
- Suffixation of decimal numbers
- Sum and product puzzle
- Summarize and say sequence
- Super-d numbers
- Superellipse
- Superpermutation minimisation
- Sutherland-Hodgman polygon clipping

### T

- Take notes on the command line
- Tarjan
- Taxicab numbers
- Teacup rim text
- Terminal control/Coloured text
- Terminal control/Cursor movement
- Terminal control/Cursor positioning
- Terminal control/Dimensions
- Terminal control/Display an extended character
- Terminal control/Hiding the cursor
- Terminal control/Inverse video
- Terminal control/Positional read
- Terminal control/Preserve screen
- Terminal control/Ringing the terminal bell
- Terminal control/Unicode output
- Test a function
- Text processing/2
- Tic-tac-toe
- Time a function
- Tonelli-Shanks algorithm
- Top rank per group
- Topic variable
- Topological sort
- Topswops
- Total circles area
- Tree datastructures
- Tree from nesting levels
- Truncate a file
- Twelve statements
- Two bullet roulette

### U

### V

- Validate International Securities Identification Number
- Vampire number
- Van der Corput sequence
- Variable-length quantity
- Variable size/Set
- Verhoeff algorithm
- Verify distribution uniformity/Chi-squared test
- Verify distribution uniformity/Naive
- Video display modes
- Vigenère cipher/Cryptanalysis
- Vogel's approximation method
- Voronoi diagram

### 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 ALGOL 68 (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
- ADFGVX cipher
- Addition-chain exponentiation
- Addition chains
- Air mass
- Anagram generator
- Arithmetic coding/As a generalized change of radix
- Arithmetic derivative
- Aspect oriented programming
- Assertions in design by contract
- Audio alarm
- Audio frequency generator
- Audio overlap loop
- Autogram checker

### B

### C

- CLI-based maze-game
- Card shuffles
- Changeable words
- Chebyshev coefficients
- Checksumcolor
- Chemical calculator
- Chess player
- Cipolla's algorithm
- Code segment unload
- Combinations with repetitions/Square digit chain
- Common list elements
- Common sorted list
- Compiler/Preprocessor
- 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
- Create your own text control codes
- Cross compilation
- Curve that touches three points
- Cycle detection
- Cycles of a permutation

### D

- Data Encryption Standard
- Dating agency
- Day of the week of Christmas and New Year
- Days between dates
- Decimal floating point number to binary
- Decision tables
- Diophantine linear system solving
- Discrete Fourier transform
- Distinct palindromes within decimal numbers
- Distribution of 0 digits in factorial series
- Divide a rectangle into a number of unequal triangles
- Doubly-linked list/Element removal
- Draw pixel 2

### E

### F

### G

### I

### L

### M

### N

### P

- Parse EBNF
- Parse command-line arguments
- Particle swarm optimization
- Penrose tiling
- Perceptron
- Permutations with some identical elements
- Permuted multiples
- Polynomial synthetic division
- Powerful numbers
- Practical numbers
- Price list behind API
- Print debugging statement
- Print itself
- Process SMIL directives in XML data
- Pseudorandom number generator image

### R

- Railway circuit
- Ramanujan primes
- Ramsey's theorem
- Range modifications
- Raster bars
- Readline interface
- Recursive descent parser generator
- Red black tree sort
- Remote agent/Agent interface
- Remote agent/Agent logic
- Remote agent/Simulation
- Resistance calculator
- Resistance network calculator
- Reverse the gender of a string
- Reverse the order of lines in a text file while preserving the contents of each line
- Robots
- Rosetta Code/List authors of task descriptions
- Rosetta Code/Run examples
- Rosetta Code/Tasks without examples
- Round-robin tournament schedule
- Run as a daemon or service

### S

- Safe mode
- Sanitize user input
- Segmentation fault protection
- Separate the house number from the street name
- Sierpinski curve
- Simulated annealing
- Sine wave
- Smallest enclosing circle problem
- Solve a Rubik's cube
- Solve equations with substitution method
- Solve hanging lantern problem
- Solve triangle solitare puzzle
- Solving coin problems
- Sorting algorithms/Cycle sort
- Sorting algorithms/Tree sort on a linked list
- Special factorials
- Spoof game
- Square root by hand
- Starting a web browser
- Strange numbers
- Subset sum problem
- Suffix tree
- Sum of divisors
- Sunflower fractal

### T

- Table creation
- Tamagotchi emulator
- Terminal control/Restricted width positional input/No wrapping
- Terminal control/Restricted width positional input/With wrapping
- Tetris
- Text completion
- Text to HTML
- The ISAAC cipher
- Three word location
- Time-based one-time password algorithm
- Topological sort/Extracted top item
- Transliterate English text using the Greek alphabet
- Transportation problem
- Type detection

### U

### W

## Requiring Attention[edit]

### Examples[edit]

These tasks have implementations in ALGOL 68, 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 ALGOL 68 which require attention; with your knowledge and assistance, we can improve the quality of the site's content.

## Not Considered[edit]

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

## End of List[edit]

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