Reports:Tasks not implemented in Prolog
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
- Address of a variable
- 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
- 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
- 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 arithmetic
- Emirp primes
- Empty program
- Enforced immutability
- Entropy/Narcissist
- Euler method
- Evaluate binomial coefficients
- Events
- Exceptions/Catch an exception thrown in a nested call
- Executable library
- Execute HQ9+
- Execute SNUSP
- Exponentiation order
- 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 duplicate files
- 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
- Forward difference
- Four is magic
- Four is the number of letters in the ...
- Fraction reduction
- 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
- 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
- Identity matrix
- 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
- Last Friday of each month
- Latin Squares in reduced form
- 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
- 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 numerals
- McNuggets problem
- Median filter
- Memory allocation
- Memory layout of a data structure
- Merge and aggregate datasets
- Metallic ratios
- Metered concurrency
- Metronome
- Mian-Chowla sequence
- Mind boggling card trick
- Minimal steps down to 1
- Minkowski question-mark function
- Monads/List monad
- Monads/Maybe monad
- Monads/Writer monad
- Monte Carlo methods
- Monty Hall problem
- Morse code
- Mouse position
- Move-to-front algorithm
- Multi-dimensional array
- Multifactorial
- Multiple distinct objects
- Multiple regression
- Multiplicative order
- Munchausen numbers
- Musical scale
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
- Numeric error propagation
- Numerical and alphabetical suffixes
- Numerical integration
- Numerical integration/Gauss-Legendre Quadrature
O
P
- P-value correction
- Palindrome dates
- Paraffins
- Parallel brute force
- Parametric polymorphism
- Parametrized SQL statement
- Parse an IP Address
- Parsing/RPN to infix conversion
- Parsing/Shunting-yard algorithm
- Partition function P
- 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
- 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/Xorshift star
- Pythagoras tree
- Pythagorean quadruples
R
- RCRPG
- RIPEMD-160
- RPG attributes generator
- RSA code
- Ramanujan's constant
- Ramer-Douglas-Peucker line simplification
- Random number generator (device)
- Random number generator (included)
- Random numbers
- 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 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
- Simple database
- Simulate input/Keyboard
- Simulate input/Mouse
- Singleton
- Singly-linked list/Element definition
- Singly-linked list/Element insertion
- Singly-linked list/Traversal
- 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
- Stack traces
- Start from a main routine
- Statistics/Basic
- Statistics/Normal distribution
- Stem-and-leaf plot
- Stern-Brocot sequence
- Straddling checkerboard
- 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
- 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
- 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
- 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
- Trigonometric functions
- Truncate a file
U
V
- Validate International Securities Identification Number
- Vampire number
- Variable-length quantity
- Variable size/Get
- Variable size/Set
- Vector
- 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
- Walk a directory/Recursively
- Water collected between towers
- Web scraping
- Weird numbers
- Window creation/X11
- Window management
- Wireworld
- Word search
- Word wheel
- 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
- 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
- Curve that touches three points
- Cycle detection
D
E
F
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 suffix
- Longest palindromic substrings
M
N
P
- Pancake numbers
- Parse EBNF
- Particle swarm optimization
- Penrose tiling
- Pentomino tiling
- Perceptron
- Permutations with repetitions
- Permutations with some identical elements
- Pisano period
- Polynomial synthetic division
- Powerful numbers
- Price list behind API
- Prime words
- Print debugging statement
- Print itself
- Process SMIL directives in XML data
- Product of divisors
- Proof
- Pseudo-random numbers/Splitmix64
- Pseudorandom number generator image
R
- Railway circuit
- Ramsey's theorem
- Random Latin squares
- 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
- Robots
- Rosetta Code/List authors of task descriptions
- Rosetta Code/Rank languages by number of users
- 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
- Sierpinski curve
- Sierpinski square curve
- Simulated annealing
- Sine wave
- Singly-linked list/Element removal
- Smallest enclosing circle problem
- Snake
- Snake and Ladder
- Solve a Rubik's Cube
- Solving coin problems
- Sorting algorithms/Cycle sort
- Sorting algorithms/Tree sort on a linked list
- Spoof game
- Square root by hand
- Starting a web browser
- Strassen's algorithm
- Subset sum problem
- Suffix tree
- Sum data type
- Sum of divisors
T
- Table creation
- Tamagotchi emulator
- Tau function
- Tau number
- 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 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.