# Reports:Tasks not implemented in Prolog

**Awareness**

If

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

## Contents

## Not implemented[edit]

These are currently not implemented in Prolog. Please implement some if you can. If any tasks are not possible or too complex in Prolog, they should not be on this list. To mark a task as such, add **{{omit from|Prolog}}**, 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, easy
- Abbreviations, simple
- Abelian sandpile model
- Abelian sandpile model/Identity
- Abstract type
- Abundant odd numbers
- Active Directory/Connect
- Active Directory/Search for a user
- Active object
- Add a variable to a class instance at runtime
- Additive primes
- Address of a variable
- Almkvist-Giullera formula for pi
- Angle difference between two bearings
- Angles (geometric), normalization and conversion
- 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
- Arithmetic-geometric mean/Calculate Pi
- Arithmetic/Complex
- Associative array/Merging
- Atomic updates
- Average loop length
- Averages/Mean angle
- Averages/Mean time of day
- Averages/Mode
- Averages/Pythagorean means
- Averages/Root mean square
- Averages/Simple moving average

### B

- Barnsley fern
- Bernoulli numbers
- Bin given limits
- Bioinformatics/Sequence mutation
- Bioinformatics/base count
- Biorhythms
- Bitcoin/address validation
- Bitcoin/public point to address
- Bitmap/Bézier curves/Cubic
- Bitmap/Bézier curves/Quadratic
- Bitmap/Flood fill
- Bitmap/Histogram
- Bitmap/Midpoint circle algorithm
- Bitmap/PPM conversion through a pipe
- Bitmap/Read a PPM file
- Bitmap/Read an image through a pipe
- Bitwise IO
- Bitwise operations
- Boolean values
- Brace expansion
- Brazilian numbers
- Break OO privacy
- Brownian tree
- Burrows–Wheeler transform

### C

- CRC-32
- CUSIP
- Calendar - for "REAL" programmers
- Calkin-Wilf sequence
- Call a function
- Call a function in a shared library
- Call an object method
- Canny edge detector
- Canonicalize CIDR
- Cantor set
- Casting out nines
- Catalan numbers/Pascal's triangle
- Catmull–Clark subdivision surface
- Chaocipher
- Chaos game
- Check Machin-like formulas
- Check input device is a terminal
- Check output device is a terminal
- Checkpoint synchronization
- Cheryl's birthday
- Chinese zodiac
- Cholesky decomposition
- Chowla numbers
- Circles of given radius through two points
- Circular primes
- Cistercian numerals
- Classes
- Color of a screen pixel
- Color quantization
- Color wheel
- Colour bars/Display
- Colour pinstripe/Display
- Colour pinstripe/Printer
- Combinations and permutations
- Command-line arguments
- Commatizing numbers
- Compare sorting algorithms' performance
- Compiler/AST interpreter
- Compiler/code generator
- Compiler/syntax analyzer
- Compiler/virtual machine interpreter
- Conjugate transpose
- Consecutive primes with ascending or descending dfferences
- Constrained genericity
- Continued fraction/Arithmetic/Construct from rational number
- Convert decimal number to rational
- Convex hull
- Count in factors
- Create a file
- Create a file on magnetic tape
- Create a two-dimensional array at runtime
- Create an object at a given address
- Cuban primes
- Cumulative standard deviation
- Currency
- Cut a rectangle
- Cyclotomic polynomial

### D

- DNS query
- Damm algorithm
- Date manipulation
- De Bruijn sequences
- Deal cards for FreeCell
- Death Star
- Deconvolution/1D
- Deconvolution/2D+
- Deepcopy
- Define a primitive data type
- Delegates
- Delete a file
- Deming's Funnel
- Determinant and permanent
- Determine if only one instance is running
- Determine if two triangles overlap
- Dice game probabilities
- Digital root/Multiplicative digital root
- Display a linear combination
- Display an outline as a nested table
- Distributed programming
- Diversity prediction theorem
- Documentation
- Doubly-linked list/Definition
- Doubly-linked list/Element definition
- Doubly-linked list/Element insertion
- Doubly-linked list/Traversal
- Draw a clock
- Draw a pixel
- Draw a rotating cube
- Draw a sphere
- Dynamic variable names

### E

- EKG sequence convergence
- Eban numbers
- Echo server
- Eertree
- Element-wise operations
- Elementary cellular automaton/Infinite length
- Elementary cellular automaton/Random Number Generator
- Elliptic Curve Digital Signature Algorithm
- Elliptic curve arithmetic
- Emirp primes
- Empty program
- Enforced immutability
- Entropy/Narcissist
- Esthetic numbers
- Euler method
- Evaluate binomial coefficients
- Events
- Exceptions/Catch an exception thrown in a nested call
- Executable library
- Execute HQ9+
- Execute SNUSP
- Exponentiation order
- Exponentiation with infix operators in (or operating on) the base
- Extend your language
- Extensible prime generator
- Extreme floating point values

### F

- FASTA format
- FTP
- Faces from a mesh
- Factorial base numbers indexing permutations of a collection
- Factorions
- Fairshare between two and more
- Faulhaber's formula
- Feigenbaum constant calculation
- Fermat numbers
- Fibonacci n-step number sequences
- Fibonacci word
- Fibonacci word/fractal
- File extension is in extensions list
- File input/output
- File modification time
- File size
- File size distribution
- Find Chess960 starting position identifier
- Find duplicate files
- Find if a point is within a triangle
- Find largest left truncatable prime in a given base
- Find limit of recursion
- Find palindromic numbers in both binary and ternary bases
- Find the intersection of a line with a plane
- Find the intersection of two lines
- Find the last Sunday of each month
- Find the missing permutation
- First-class functions/Use numbers analogously
- 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
- Flow-control structures
- Forest fire
- Fork
- Formal power series
- Formatted numeric output
- Fortunate numbers
- Forward difference
- Four is magic
- Four is the number of letters in the ...
- Fraction reduction
- French Republican calendar
- Function frequency
- Function prototype
- Functional coverage tree

### G

- GUI/Maximum window dimensions
- Gamma function
- Gapful numbers
- Gauss-Jordan matrix inversion
- Gaussian elimination
- Generate Chess960 starting position
- Generate random chess position
- Generator/Exponential
- Get system command output
- Globally replace text in several files
- Go Fish
- Graph colouring
- Grayscale image
- Greyscale bars/Display

### H

- HTTPS
- HTTPS/Authenticated
- HTTPS/Client-authenticated
- Halt and catch fire
- Handle a signal
- Haversine formula
- Hello world/Line printer
- Hello world/Newbie
- Hello world/Newline omission
- Hello world/Standard error
- Here document
- Heronian triangles
- Hickerson series of almost integers
- Hilbert curve
- History variables
- Hofstadter-Conway $10,000 sequence
- Hofstadter Q sequence
- Holidays related to Easter
- Horizontal sundial calculations
- Host introspection
- Hostname
- Hough transform
- Humble numbers

### I

- IBAN
- ISBN13 check digit
- I before E except after C
- Idiomatically determine all the characters that can be used for symbols
- Image convolution
- Image noise
- Imaginary base numbers
- Increasing gaps between consecutive Niven numbers
- Index finite lists of positive integers
- Infinity
- Inheritance/Multiple
- Inheritance/Single
- Input loop
- Integer comparison
- Integer overflow
- Intersecting number wheels
- Introspection
- Inverted index
- Isqrt (integer square root) of X
- Iterated digits squaring

### J

### K

### L

- LU decomposition
- LZW compression
- Largest proper divisor of n
- Last Friday of each month
- Latin Squares in reduced form
- Latin Squares in reduced form/Randomizing using Jacobson and Matthews’ Technique
- Legendre prime counting function
- Leonardo numbers
- Levenshtein distance/Alignment
- Linear congruential generator
- List rooted trees
- Literals/Floating point
- Literals/Integer
- Long literals, with continuations
- Longest string challenge
- Loops/Break
- Loops/Continue
- Loops/Increment loop index within loop body
- Loops/Nested
- Loops/Wrong ranges
- Lucky and even lucky numbers
- Ludic numbers
- Luhn test of credit card numbers

### M

- MAC Vendor Lookup
- MD4
- MD5
- 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
- Magnanimous numbers
- Main step of GOST 28147-89
- Make directory path
- Man or boy test
- Map range
- Matrix-exponentiation operator
- Matrix chain multiplication
- Matrix digital rain
- Mayan calendar
- Mayan numerals
- McNuggets problem
- Median filter
- Memory allocation
- Memory layout of a data structure
- Metallic ratios
- Metered concurrency
- Metronome
- Mian-Chowla sequence
- Mind boggling card trick
- Minimal steps down to 1
- Minimum positive multiple in base 10 using only 0 and 1
- Minkowski question-mark function
- Modified random distribution
- Monads/List monad
- Monads/Maybe monad
- Monads/Writer monad
- Monte Carlo methods
- Monty Hall problem
- Morse code
- Motzkin numbers
- Mouse position
- Move-to-front algorithm
- Multi-dimensional array
- Multifactorial
- Multiple distinct objects
- Multiple regression
- Multiplicative order
- Munchausen numbers
- Musical scale
- Möbius function

### N

- N-smooth numbers
- Naming conventions
- Narcissist
- Narcissistic decimal number
- Natural sorting
- Nautical bell
- Negative base numbers
- Nested function
- Nested templated data
- Next highest int from digits
- Non-decimal radices/Convert
- Non-decimal radices/Input
- Non-decimal radices/Output
- Non-transitive dice
- Nonoblock
- Null object
- Numbers with equal rises and falls
- Numeric error propagation
- Numerical and alphabetical suffixes
- Numerical integration
- Numerical integration/Gauss-Legendre Quadrature

### O

### P

- P-Adic numbers, basic
- P-Adic square roots
- P-value correction
- Padovan n-step number sequences
- Padovan sequence
- Palindrome dates
- Pancake numbers
- Paraffins
- Parallel brute force
- Parametric polymorphism
- Parametrized SQL statement
- Parse an IP Address
- Parsing/RPN to infix conversion
- Parsing/Shunting-yard algorithm
- Pascal matrix generation
- Pathological floating point problems
- Peaceful chess queen armies
- Pell's equation
- Pentagram
- Percentage difference between images
- Percolation/Bond percolation
- Percolation/Mean cluster density
- Percolation/Mean run density
- Percolation/Site percolation
- Perfect shuffle
- Perfect totient numbers
- Perlin noise
- Permutation test
- Permutations/Derangements
- Permutations/Rank of a permutation
- Permutations by swapping
- Pernicious numbers
- Phrase reversals
- Pi
- Pig the dice game
- Pig the dice game/Player
- Pinstripe/Display
- Pinstripe/Printer
- Pisano period
- Plasma effect
- Play recorded sounds
- Playfair cipher
- Plot coordinate pairs
- Pointers and references
- Polymorphic copy
- Polynomial long division
- Polynomial regression
- Polyspiral
- Population count
- Pragmatic directives
- Price fraction
- Primality by Wilson's theorem
- Primes - allocate descendants to their ancestors
- Primorial numbers
- Probabilistic choice
- Problem of Apollonius
- Pseudo-random numbers/Combined recursive generator MRG32k3a
- Pseudo-random numbers/PCG32
- Pseudo-random numbers/Splitmix64
- Pseudo-random numbers/Xorshift star
- Pythagoras tree
- Pythagorean quadruples

### R

- RCRPG
- RIPEMD-160
- RPG attributes generator
- RSA code
- Ramanujan's constant
- Ramanujan primes/twins
- Ramer-Douglas-Peucker line simplification
- Random Latin squares
- Random number generator (device)
- Random number generator (included)
- Random numbers
- Random sentence from book
- Ranking methods
- Rare numbers
- Rate counter
- Ray-casting algorithm
- Read a configuration file
- Read a file character by character/UTF8
- Read a file line by line
- Read a specific line from a file
- Read entire file
- Real constants and functions
- Recaman's sequence
- Record sound
- Reduced row echelon form
- Reflection/Get source
- Reflection/List methods
- Reflection/List properties
- Regular expressions
- Remove lines from a file
- Rename a file
- Rendezvous
- Resistor mesh
- Respond to an unknown method call
- Retrieve and search chat history
- Return multiple values
- Reverse words in a string
- Roots of a function
- Roots of a quadratic function
- 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
- Rosetta Code/Rank languages by popularity
- Runge-Kutta method
- Runtime evaluation
- Runtime evaluation/In an environment

### S

- S-expressions
- SEDOLs
- SHA-1
- SHA-256
- SHA-256 Merkle tree
- SOAP
- SQL-based authentication
- Safe addition
- Safe primes and unsafe primes
- Sailors, coconuts and a monkey problem
- Same fringe
- Scope/Function names and labels
- Scope modifiers
- Search a list of records
- Secure temporary file
- Self numbers
- Semiprime
- Semordnilap
- Send an unknown method call
- Send email
- 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 non-squares
- Sequence of primorial primes
- Set consolidation
- Set of real numbers
- Seven-sided dice from five-sided dice
- Shoelace formula for polygonal area
- Shortest common supersequence
- Show the epoch
- Sierpinski square curve
- Simple database
- Simulate input/Keyboard
- Simulate input/Mouse
- Singleton
- Singly-linked list/Element definition
- Singly-linked list/Element insertion
- Singly-linked list/Traversal
- Sleeping Beauty problem
- Smarandache prime-digital sequence
- Smith numbers
- Sokoban
- Solve a Holy Knight's tour
- Sort an array of composite structures
- Sort an outline at every level
- Sort stability
- Sort three variables
- Sorting Algorithms/Circle Sort
- Sorting algorithms/Bead sort
- Sorting algorithms/Cocktail sort with shifting bounds
- Sorting algorithms/Comb sort
- Sorting algorithms/Counting sort
- Sorting algorithms/Gnome sort
- Sorting algorithms/Heapsort
- Sorting algorithms/Pancake sort
- Sorting algorithms/Radix sort
- Sorting algorithms/Shell sort
- Sorting algorithms/Stooge sort
- Sorting algorithms/Strand sort
- Sparkline in unicode
- Special characters
- Special variables
- Speech synthesis
- Spinning rod animation/Text
- Split a character string based on change of character
- Square-free integers
- Square but not cube
- Square form factorization
- Stack traces
- Start from a main routine
- Statistics/Basic
- Statistics/Normal distribution
- Stem-and-leaf plot
- Stern-Brocot sequence
- Straddling checkerboard
- Strassen's algorithm
- Stream merge
- String append
- String case
- String comparison
- String concatenation
- String length
- Strip control codes and extended characters from a string
- Strong and weak primes
- Subleq
- Subtractive generator
- Successive prime differences
- Suffixation of decimal numbers
- Sum and product puzzle
- Sum to 100
- Summarize and say sequence
- Summarize primes
- Sunflower fractal
- Super-d numbers
- Superellipse
- Superpermutation minimisation
- Sutherland-Hodgman polygon clipping
- Synchronous concurrency
- System time

### T

- Table creation/Postal addresses
- Take notes on the command line
- Tarjan
- Tau function
- Tau number
- Taxicab numbers
- Teacup rim text
- Temperature conversion
- Terminal control/Clear the screen
- 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
- Ternary logic
- Test integerness
- Text processing/1
- Text processing/2
- Text processing/Max licenses in use
- Textonyms
- The ISAAC Cipher
- The sieve of Sundaram
- Thiele's interpolation formula
- Thue-Morse
- Time a function
- Tokenize a string with escaping
- Tonelli-Shanks algorithm
- Topic variable
- Topological sort
- Topswops
- Total circles area
- Totient function
- Trabb Pardo–Knuth algorithm
- Tree datastructures
- Tree from nesting levels
- Trigonometric functions
- Truncate a file
- Twin primes
- Two bullet roulette

### U

- UPC
- URL decoding
- URL encoding
- URL parser
- UTF-8 encode and decode
- Ukkonen’s suffix tree construction
- Ulam spiral (for primes)
- Unbias a random generator
- Unicode strings
- Unix/ls
- Unprimeable numbers
- Untouchable numbers
- Update a configuration file
- Use another language to call a function
- User input/Graphical
- User input/Text

### V

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

### W

- Walk a directory/Non-recursively
- War card game
- Water collected between towers
- Web scraping
- Weird numbers
- Window creation/X11
- Window management
- Wireworld
- Word ladder
- Word search
- Word wheel
- Wordiff
- World Cup group stage
- Write entire file
- Write float arrays to a text file
- Write language name in 3D ASCII
- Write to Windows event log

### 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 Prolog (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
- 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/Simple file inclusion pre processor
- Compiler/Verifying syntax
- Concatenate two primes is also prime
- Conjugate a Latin Verb
- Continued fraction/Arithmetic/G(matrix ng, continued fraction n)
- Continued fraction/Arithmetic/G(matrix ng, continued fraction n1, continued fraction n2)
- Coprime triplets
- Coprimes
- Count how many vowels and consonants occur in a string
- Count the coins/0-1
- Cousin primes
- Create an object/Native demonstration
- Cubic Special Primes
- Curve that touches three points
- Cycle detection
- Cyclops numbers

### D

- Data Encryption Standard
- Days between dates
- Decimal floating point number to binary
- Decision tables
- Discrete Fourier transform
- Distinct Palindromes within decimal numbers
- Distinct power numbers
- Distribution of 0 Digits in factorial series
- Doomsday rule
- Doubly-linked list/Element removal
- Draw pixel 2

### E

### 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 minimum number of coins that make a given value
- Find prime n such that reversed n is also prime
- Find prime numbers of the form n*n*n+2
- Find words which contain the most consonants
- Find words which contains all the vowels
- Find words which contains more than 3 e vowels
- Find words whose first and last three letters are equal
- Free polyominoes enumeration
- Frobenius numbers

### G

### I

### L

### M

- Make a backup file
- Markov chain text generator
- Maximum difference between adjacent elements of list
- Mine a bitcoin
- Minimum number of cells after, before, above and below NxN squares
- Modulinos
- Montgomery reduction
- Morpion solitaire
- Most frequent k chars distance
- Multi-base primes
- Multidimensional Newton-Raphson method
- Multiline shebang
- Multiton

### N

- N-body problem
- NYSIIS
- Names to numbers
- Native shebang
- Neighbour primes
- Next special primes
- Nice primes
- Number triplets game
- Numbers divisible by their individual digits, but not by the product of their digits.
- Numbers in base-16 representation that cannot be written with decimal digits
- Numbers in base 10 that are palindromic in bases 2, 4, and 16
- Numbers which binary and ternary digit sum are prime
- Numbers whose count of divisors is prime
- Numbers with same digit set in base 10 and base 16
- Numeric separator syntax
- Numerical integration/Adaptive Simpson's method

### P

- Palindromic primes
- Palindromic primes in base 16
- Pandigital prime
- Parse EBNF
- Particle fountain
- Particle swarm optimization
- Penrose tiling
- Pentomino tiling
- Perceptron
- Peripheral drift illusion
- Permutations with repetitions
- Permutations with some identical elements
- Permuted multiples
- Piprimes
- Polynomial synthetic division
- Positive decimal integers with the digit 1 occurring exactly twice
- Powerful numbers
- Practical numbers
- Price list behind API
- Prime numbers p which sum of prime numbers less or equal to p is prime
- Prime numbers which contain 123
- Prime triplets
- Prime words
- Primes which contain only one odd digit
- Primes which sum of digits is 25
- Primes whose first and last number is 3
- Primes with digits in nondecreasing order
- Print debugging statement
- Print itself
- Process SMIL directives in XML data
- Product of divisors
- Proof
- Pseudorandom number generator image

### R

- Railway circuit
- Ramanujan primes
- Ramsey's theorem
- Range modifications
- Raster bars
- Readline interface
- Recursive descent parser generator
- 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
- Run as a daemon or service

### S

- Safe mode
- Sattolo cycle
- 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 curve
- Simple turtle graphics
- Simulated annealing
- Sine wave
- 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
- Snake and Ladder
- Solve a Rubik's Cube
- Solving coin problems
- Sort the letters of string in alphabetical order
- Sorting algorithms/Cycle sort
- Sorting algorithms/Tree sort on a linked list
- Special Divisors
- Special factorials
- Special neighbor primes
- Special pythagorean triplet
- Spoof game
- Square root by hand
- Starting a web browser
- Strange numbers
- Strange plus numbers
- Strange unique prime triplets
- Subset sum problem
- Substring primes
- Suffix tree
- Sum data type
- Sum of divisors
- Sum of elements below main diagonal of matrix
- Sum of first n cubes
- Sum of primes in odd positions is prime
- Sum of the digits of n is substring of n

### 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
- Triplet of three numbers
- Tropical algebra overloading
- Two sum
- Type detection

### U

### W

## Requiring Attention[edit]

### Examples[edit]

These tasks have implementations in Prolog, 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 Prolog 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 Prolog was inappropriate for these tasks, or implementations of them would be unenlightening. Feel free to try your hand at them anyway.

### No pages found.

## End of List[edit]

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