# Reports:Tasks not implemented in PL/I

**Awareness**

If

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

## Contents

## Not implemented[edit]

These are currently not implemented in PL/I. Please implement some if you can. If any tasks are not possible or too complex in PL/I, they should not be on this list. To mark a task as such, add **{{omit from|PL/I}}**, 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
- Abbreviations, easy
- Abbreviations, simple
- Abelian sandpile model
- Abelian sandpile model/Identity
- Abstract type
- Abundant odd numbers
- Accumulator factory
- Active Directory/Connect
- Active Directory/Search for a user
- Active object
- Add a variable to a class instance at runtime
- Aliquot sequence classifications
- Almkvist-Giullera formula for pi
- Almost prime
- Anagrams/Deranged anagrams
- Angle difference between two bearings
- Angles (geometric), normalization and conversion
- Animate a pendulum
- Animation
- Anonymous recursion
- Anti-primes
- Append a record to the end of a text file
- Apply a digital filter (direct form II transposed)
- Approximate equality
- Arbitrary-precision integers (included)
- Archimedean spiral
- Arithmetic-geometric mean/Calculate Pi
- Arithmetic evaluation
- Associative array/Iteration
- Associative array/Merging
- Atomic updates
- Attractive numbers
- Average loop length

### B

- Babbage problem
- Balanced ternary
- Barnsley fern
- Base64 decode data
- Bell 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/Histogram
- Bitmap/PPM conversion through a pipe
- Bitmap/Read an image through a pipe
- Box the compass
- Brace expansion
- Brazilian numbers
- Break OO privacy
- Brownian tree
- Bulls and cows
- Bulls and cows/Player
- Burrows–Wheeler transform

### C

- CSV to HTML translation
- CUSIP
- Calculating the value of e
- Calkin-Wilf sequence
- Call a function
- Call a function in a shared library
- Call an object method
- Canny edge detector
- Canonicalize CIDR
- Cantor set
- Cartesian product of two or more lists
- Casting out nines
- Catalan numbers/Pascal's triangle
- Catamorphism
- 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
- Chinese zodiac
- Chowla numbers
- Church numerals
- Circular primes
- Cistercian numerals
- Classes
- Closures/Value capture
- Color of a screen pixel
- Color quantization
- Color wheel
- Colour bars/Display
- Colour pinstripe/Display
- Colour pinstripe/Printer
- Combinations
- Combinations and permutations
- Combinations with repetitions
- Commatizing numbers
- Compare sorting algorithms' performance
- Compiler/AST interpreter
- Compiler/code generator
- Compiler/lexical analyzer
- Compiler/syntax analyzer
- Compiler/virtual machine interpreter
- Concurrent computing
- Constrained genericity
- Continued fraction/Arithmetic/Construct from rational number
- Convex hull
- Copy stdin to stdout
- Count the coins
- Cramer's rule
- Create a file on magnetic tape
- Create an object at a given address
- Cuban primes
- Currency
- Currying
- Cut a rectangle
- Cyclotomic polynomial

### D

- DNS query
- Damm algorithm
- 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
- Department numbers
- Determinant and permanent
- Determine if a string has all the same characters
- Determine if a string has all unique characters
- Determine if a string is collapsible
- Determine if a string is squeezable
- Determine if only one instance is running
- Determine if two triangles overlap
- Dijkstra's algorithm
- Dinesman's multiple-dwelling problem
- Dining philosophers
- Discordian date
- Display a linear combination
- Display an outline as a nested table
- Distributed programming
- Diversity prediction theorem
- Draw a clock
- Draw a cuboid
- Draw a pixel
- Draw a rotating cube
- Draw a sphere
- Dutch national flag problem
- Dynamic variable names

### E

- EKG sequence convergence
- Eban numbers
- Echo server
- Eertree
- Egyptian division
- Egyptian fractions
- Elementary cellular automaton
- Elementary cellular automaton/Infinite length
- Elementary cellular automaton/Random Number Generator
- Elliptic Curve Digital Signature Algorithm
- Elliptic curve arithmetic
- Empty directory
- Entropy/Narcissist
- Environment variables
- Equilibrium index
- Euler's identity
- Euler's sum of powers conjecture
- Events
- Evolutionary algorithm
- Executable library
- Execute Brain****
- Execute HQ9+
- Execute SNUSP
- Execute a Markov algorithm
- Execute a system command
- 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
- Factors of a Mersenne number
- Fairshare between two and more
- Farey sequence
- Faulhaber's formula
- Faulhaber's triangle
- Feigenbaum constant calculation
- Fermat numbers
- Fibonacci word/fractal
- File extension is in extensions list
- File modification time
- File size distribution
- Find common directory path
- 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
- Find the intersection of two lines
- Find the last Sunday of each month
- Find the missing permutation
- First-class functions
- 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
- Floyd-Warshall algorithm
- Forest fire
- Formal power series
- Four is magic
- Four is the number of letters in the ...
- Fractal tree
- Fraction reduction
- Fractran
- French Republican calendar
- Function composition
- Function frequency
- Functional coverage tree
- Fusc sequence

### G

- GUI/Maximum window dimensions
- GUI component interaction
- GUI enabling/disabling of controls
- Galton box animation
- Gapful numbers
- General FizzBuzz
- Generate Chess960 starting position
- Generate random chess position
- Get system command output
- Globally replace text in several files
- Go Fish
- Graph colouring
- Greyscale bars/Display
- Guess the number
- Guess the number/With feedback
- Guess the number/With feedback (player)

### H

### I

- IBAN
- ISBN13 check digit
- I before E except after C
- Idiomatically determine all the characters that can be used for symbols
- Idiomatically determine all the lowercase and uppercase letters
- Image convolution
- Imaginary base numbers
- Increasing gaps between consecutive Niven numbers
- Index finite lists of positive integers
- Inheritance/Multiple
- Inheritance/Single
- Integer overflow
- Interactive programming
- Intersecting number wheels
- Inverted index
- Inverted syntax
- Isqrt (integer square root) of X

### J

### K

- K-d tree
- K-means++ clustering
- Kernighans large earthquake problem
- Keyboard input/Flush the keyboard buffer
- Keyboard input/Keypress check
- Keyboard macros
- Knapsack problem/0-1
- Knapsack problem/Bounded
- Knapsack problem/Unbounded
- Knight's tour
- Knuth's algorithm S
- Knuth's power tree
- Koch curve
- Kolakoski sequence
- Kosaraju
- Kronecker product
- Kronecker product based fractals

### L

- Lah numbers
- Langton's ant
- Largest number divisible by its digits
- Largest proper divisor of n
- Last letter-first letter
- Latin Squares in reduced form
- Latin Squares in reduced form/Randomizing using Jacobson and Matthews’ Technique
- Law of cosines - triples
- Leonardo numbers
- Levenshtein distance/Alignment
- List comprehensions
- List rooted trees
- Long literals, with continuations
- Long primes
- Long year
- Longest common subsequence
- Longest common substring
- Longest increasing subsequence
- Look-and-say sequence
- Loops/Increment loop index within loop body
- Loops/With multiple ranges
- Lucas-Lehmer test
- Lucky and even lucky numbers
- Lychrel numbers

### M

- MAC Vendor Lookup
- MD4
- MD5
- MD5/Implementation
- Machine code
- Magic 8-ball
- Magic squares of doubly even order
- Magic squares of singly even order
- Main step of GOST 28147-89
- Make directory path
- Mandelbrot set
- Mastermind
- Matrix-exponentiation operator
- Matrix chain multiplication
- Matrix digital rain
- Mayan numerals
- Maze solving
- McNuggets problem
- Median filter
- Merge and aggregate datasets
- Mertens function
- Metallic ratios
- Metaprogramming
- Metered concurrency
- Metronome
- Mian-Chowla sequence
- Miller–Rabin primality test
- Mind boggling card trick
- Minesweeper game
- Minimal steps down to 1
- Minkowski question-mark function
- Modified random distribution
- Modular arithmetic
- Modular exponentiation
- Monads/List monad
- Monads/Maybe monad
- Monads/Writer monad
- Monte Carlo methods
- Mouse position
- Multi-dimensional array
- Multiple distinct objects
- Multiple regression
- Multiplicative order
- Multisplit
- Munchausen numbers
- Musical scale
- Mutex

### N

- N-smooth numbers
- Named parameters
- Naming conventions
- Narcissist
- Natural sorting
- Negative base numbers
- Nested function
- Nested templated data
- Next highest int from digits
- Nim game
- Nimber arithmetic
- Non-continuous subsequences
- Non-transitive dice
- Nonoblock
- Nonogram solver
- Numeric error propagation
- Numerical and alphabetical suffixes

### O

### P

- P-Adic numbers, basic
- P-Adic square roots
- P-value correction
- Padovan n-step number sequences
- Padovan sequence
- Palindrome dates
- Palindromic gapful numbers
- Pancake numbers
- Paraffins
- Parallel brute force
- Parallel calculations
- Parametric polymorphism
- Parametrized SQL statement
- Parse an IP Address
- Partial function application
- Partition an integer x into n primes
- Partition function P
- Pascal's triangle/Puzzle
- Password generator
- Pathological floating point problems
- Pattern matching
- Peaceful chess queen armies
- Peano curve
- Pell's equation
- Penney's game
- 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
- Permutations/Derangements
- Permutations/Rank of a permutation
- Permutations by swapping
- Pierpont primes
- Pig the dice game
- Pig the dice game/Player
- Pinstripe/Display
- Pinstripe/Printer
- Pisano period
- Plasma effect
- Play recorded sounds
- Playfair cipher
- Playing cards
- Plot coordinate pairs
- Poker hand analyser
- Polymorphic copy
- Polymorphism
- Polynomial long division
- Polynomial regression
- Polyspiral
- Population count
- Primality by Wilson's theorem
- Prime conspiracy
- Primes - allocate descendants to their ancestors
- Primorial numbers
- Priority queue
- Program name
- 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 Latin squares
- Random number generator (device)
- Random sentence from book
- Range consolidation
- Ranking methods
- Rare numbers
- Rate counter
- Ray-casting algorithm
- Read a file character by character/UTF8
- Recaman's sequence
- Record sound
- Reduced row echelon form
- Reflection/Get source
- Reflection/List methods
- Regular expressions
- Remove lines from a file
- Rename a file
- Rendezvous
- Repeat
- Resistor mesh
- Respond to an unknown method call
- Retrieve and search chat history
- 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
- Runtime evaluation
- Runtime evaluation/In an environment

### S

- S-expressions
- 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 modifiers
- Search a list of records
- Secure temporary file
- Self-describing numbers
- Self numbers
- 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 primes by trial division
- Sequence of primorial primes
- Set
- Set of real numbers
- Set puzzle
- Seven-sided dice from five-sided dice
- Sexy primes
- Shell one-liner
- Shoelace formula for polygonal area
- Shortest common supersequence
- Show ASCII table
- Sierpinski pentagon
- Sierpinski triangle/Graphical
- Simple database
- Simple windowed application
- Simulate input/Keyboard
- Simulate input/Mouse
- Singleton
- Sleeping Beauty problem
- Smarandache prime-digital sequence
- Smith numbers
- Sockets
- Sokoban
- 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
- Sort an array of composite structures
- Sort an outline at every level
- Sort disjoint sublist
- Sort numbers lexicographically
- Sort stability
- Sort three variables
- Sorting Algorithms/Circle Sort
- Sorting algorithms/Cocktail sort with shifting bounds
- Sorting algorithms/Patience sort
- Sorting algorithms/Permutation sort
- Sorting algorithms/Radix sort
- Sorting algorithms/Sleep sort
- Sparkline in unicode
- Speech synthesis
- Spelling of ordinal numbers
- Spinning rod animation/Text
- Split a character string based on change of character
- Square-free integers
- Square Form Factorization
- Square but not cube
- Stable marriage problem
- Stair-climbing puzzle
- Start from a main routine
- State name puzzle
- Statistics/Normal distribution
- Stem-and-leaf plot
- Stern-Brocot sequence
- Stirling numbers of the first kind
- Stirling numbers of the second kind
- Straddling checkerboard
- Strassen's algorithm
- Stream merge
- String comparison
- Strong and weak primes
- Subleq
- Substitution cipher
- 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

### T

- Table creation/Postal addresses
- Tarjan
- Tau function
- Tau number
- Taxicab numbers
- Teacup rim text
- Terminal control/Clear the screen
- Terminal control/Coloured text
- Terminal control/Cursor movement
- Terminal control/Cursor positioning
- Terminal control/Dimensions
- Terminal control/Hiding the cursor
- Terminal control/Inverse video
- Terminal control/Positional read
- Terminal control/Preserve screen
- Terminal control/Unicode output
- Ternary logic
- Test a function
- Test integerness
- Textonyms
- The ISAAC Cipher
- The Name Game
- The Twelve Days of Christmas
- Thiele's interpolation formula
- Thue-Morse
- Tic-tac-toe
- Tokenize a string with escaping
- Tonelli-Shanks algorithm
- Topic variable
- Topological sort
- Total circles area
- Totient function
- Tree datastructures
- Tree from nesting levels
- Tree traversal
- Truth table
- Twelve statements

### U

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

### V

### W

- Walk a directory/Non-recursively
- Walk a directory/Recursively
- Water collected between towers
- Web scraping
- Weird numbers
- Window creation
- Window creation/X11
- Window management
- Wireworld
- Word frequency
- Word ladder
- Word search
- Word wheel
- World Cup group stage
- Write entire 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 PL/I (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
- Change e letters to i in words
- 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/Simple file inclusion pre processor
- Compiler/Verifying syntax
- Concatenate two primes is also prime
- Consecutive Primes With Ascending Or Descending Differences
- 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

### 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 if a point is within a triangle
- Find prime n for that reversed n is also prime
- Find prime numbers of the form n*n*n+2
- Find words which contains all the vowels
- Find words which contains more than 3 e vowels
- Find words which contains most consonants
- Find words which first and last three letters are equals
- Find words with alternating vowels and consonants
- Finite state machine
- Free polyominoes enumeration
- Frobenius numbers

### G

### I

### L

### M

- Magnanimous numbers
- Make a backup file
- Markov chain text generator
- Maximum difference between adjacent elements of list
- Mayan calendar
- Mersenne primes
- Mine a bitcoin
- Minimum positive multiple in base 10 using only 0 and 1
- Modulinos
- Montgomery reduction
- Morpion solitaire
- Most frequent k chars distance
- Multi-base primes
- Multidimensional Newton-Raphson method
- Multiline shebang
- Möbius function

### N

- N-body problem
- NYSIIS
- Names to numbers
- Native shebang
- Neighbour primes
- Next special primes
- Nice primes
- 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 n in which number 1 occur twice
- Numbers which binary and ternary digit sum are prime
- Numbers which count of divisors is prime
- Numbers with equal rises and falls
- Numbers with prime digits whose sum is 13
- 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
- Parse EBNF
- Parse command-line arguments
- Particle swarm optimization
- Penrose tiling
- Pentomino tiling
- Perceptron
- Permutations with repetitions
- Permutations with some identical elements
- Piprimes
- Polynomial synthetic division
- 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 number
- 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
- Pseudo-random numbers/Splitmix64
- Pseudorandom number generator image

### R

- Railway circuit
- Ramsey's theorem
- Range modifications
- Raster bars
- Readline interface
- Recursive descent parser generator
- Remote agent/Agent interface
- Remote agent/Agent logic
- Remote agent/Simulation
- Remove vowels from a string
- Resistance calculator
- Resistance network calculator
- Reverse the gender of a string
- 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
- 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 arrowhead curve
- Sierpinski curve
- Sierpinski square 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
- Solve triangle solitare puzzle
- 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
- 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 the digits of n is substring of n
- Summarize primes
- Sylvester's sequence

### T

- 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
- Twin primes
- Two bullet roulette
- Two identical strings
- Two sum
- Type detection

### U

### W

## Requiring Attention[edit]

### Examples[edit]

These tasks have implementations in PL/I, 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 PL/I 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 PL/I 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.