This is Kevin Reid's personal classification of tasks not implemented in E, or just poorly done in E, by what kind of problem they are, or what kind of library/language work should come first. The presence of items on this list is managed by Task list updater.e (but is not automatically run); the classification is done manually.
Contents
- 1 Simple
- 2 Language/library features
- 3 Algorithmic
- 4 GUI
- 5 User interaction (unspecified type)
- 6 Graphics
- 7 Mathematics
- 8 Operating system interfaces
- 9 Small projects
- 10 Large projects
- 11 Rosetta Code processing
- 12 Argue with
- 13 Needs a ... to be done well
- 13.1 Reflection toolkit
- 13.2 User-defined exceptions
- 13.3 Parser library
- 13.4 Iter/accum/stream tools
- 13.5 Vector type
- 13.6 Matrix type
- 13.7 Complex type
- 13.8 Rational type
- 13.9 Calendar
- 13.10 Stream IO
- 13.11 Operating system interfaces
- 13.12 FFI
- 13.13 Database
- 13.14 Protocol/language implementations
- 13.15 Miscellaneous
- 14 Needs improvement
- 15 Special cases
- 16 Notable omits
- 17 Completed
- 18 To classify
Simple[edit]
- Doubly-linked list/Traversal
- Evaluate binomial coefficients
- Hailstone sequence
- Hamming numbers
- Map range
- Range expansion
- Strip block comments
- Strip comments from a string
Language/library features[edit]
- Anonymous recursion
- Extreme floating point values
- Flow-control structures
- JSON (2 ways: terml and deJSONKit)
- Literals/Floating point
- Narcissist
- Parallel calculations
- Random number generator (device)
- Random number generator (included)
- Reverse a string
- String concatenation
Algorithmic[edit]
- Arena storage pool (Covers both implementing an allocator, and using it to allocate physical memory... Do the first part perhaps.)
- Best shuffle
- Catmull–Clark subdivision surface
- Combinations with repetitions
- Closest-pair problem
- Equilibrium index
- Find common directory path
- Find the missing permutation
- Knapsack problem/0-1
- Knapsack problem/Bounded
- Knapsack problem/Continuous
- Long multiplication
- Longest common subsequence
- Maze generation
- Maze solving
- N-queens problem
- Non-continuous subsequences
- Permutations
- Ray-casting algorithm
- Sorting algorithms/Bead sort
- Sorting algorithms/Comb sort
- Sorting algorithms/Pancake sort
- Sorting algorithms/Radix sort
- Sorting algorithms/Stooge sort
GUI[edit]
- GUI component interaction
- GUI enabling/disabling of controls
- Keyboard macros
- Minesweeper game
- Mouse position
- Window management
- Play recorded sounds (classified here because we can borrow Java facilities in the EoJ case)
- User input/Graphical
- Wireworld
Reflective[edit]
User interaction (unspecified type)[edit]
- Guess the number
- Guess the number/With feedback
- Guess the number/With feedback (player)
- Number reversal game
Graphics[edit]
- Brownian tree
- Constrained random points on a circle
- Dragon curve
- Fractal tree
- Plot coordinate pairs
- Image noise
Using Basic bitmap storage[edit]
- Bitmap/Bézier curves/Cubic
- Bitmap/Bézier curves/Quadratic
- Image convolution
- Bitmap/Histogram
- Grayscale image
- Median filter
- Bitmap/Midpoint circle algorithm
- Bitmap/PPM conversion through a pipe
- Bitmap/Read a PPM file
- Bitmap/Read an image through a pipe
- Xiaolin Wu's line algorithm
Other pixel processing[edit]
Mathematics[edit]
- Formal power series (similar to Polynomial long division)
- Averages/Median (research better algorithms)
- Deconvolution/1D
- Deconvolution/2D+
- Hofstadter-Conway $10,000 sequence
- Simple quaternion type and operations
- Truncatable primes
Integers[edit]
- Factors of an integer
- Lucas-Lehmer test
- Multiplicative order
- Factors of a Mersenne number
- Seven-sided dice from five-sided dice
Numerics[edit]
- Gamma function
- Polynomial regression
- Multiple regression
- Roots of a quadratic function
- Roots of a function
- Sequence of non-squares
- Verify distribution uniformity/Naive
- Verify distribution uniformity/Chi-squared test
Operating system interfaces[edit]
Small projects[edit]
- 24 game
- Forest fire
- Four bit adder
- Horizontal sundial calculations
- Inverted index
- Luhn test of credit card numbers
- Permutation test
- Price fraction
- Problem of Apollonius
- Soundex
- Stem-and-leaf plot
- Sutherland-Hodgman polygon clipping
- Variable-length quantity
Large projects[edit]
- 24 game/Solve
- Bulls and cows/Player
- Execute a Markov algorithm
- Execute SNUSP
- Go Fish
- Huffman coding
- LZW compression
- MD5/Implementation
- Monty Hall problem
- Number names
- Pascal's triangle/Puzzle
- RCRPG
- Roman numerals
- Stable marriage problem
- Sudoku
- Text processing/1
- Text processing/2
- Thiele's interpolation formula
Rosetta Code processing[edit]
Argue with[edit]
Needs a ... to be done well[edit]
Reflection toolkit[edit]
User-defined exceptions[edit]
Parser library[edit]
- Arithmetic evaluation ought to use one even if it's not technically required. (improve)
Iter/accum/stream tools[edit]
- Multiple distinct objects (improve: needs better answer than accumulator)
- ...and many other tasks to improve
Vector type[edit]
Matrix type[edit]
Complex type[edit]
Rational type[edit]
Calendar[edit]
- Day of the week
- Date manipulation
- Date format
- Discordian date
- Five weekends
- Holidays related to Easter
- Leap year
Stream IO[edit]
Console input[edit]
- A+B
- Keyboard Input/Determine if a key has been pressed at the terminal
- Keyboard Input/Flush the keyboard buffer
- Keyboard Input/Obtain a Y or N response
- Menu
- Input loop
- Create a two-dimensional array at runtime
- User input/Text
Sockets[edit]
- Chat server
- Echo server
- Sockets
- Hostname (improve: done by shell command, but should be done internally)
Operating system interfaces[edit]
- Secure temporary file
- Fork
- Handle a signal
- Morse code — involves playing a sound
- Time a function (improve: done EoJ; needs cross-platform)
- Terminal control/Clear the screen
- Terminal control/Determine the height and width of the terminal window
- Terminal control/Moving the cursor to a specific location on the screen
Windows[edit]
FFI[edit]
- Call a function in a shared library
- Call a foreign-language function
- Call a function from a foreign language
- OpenGL
- Host introspection (currently omitted)
- Create an object at a given address (currently omitted)
Database[edit]
Protocol/language implementations[edit]
HTTP client[edit]
XML[edit]
- XML/Output
- XML/Input
- XML/XPath (improve: needs revisiting when E-XML is better)
Miscellaneous[edit]
- Formatted numeric output
- Write float arrays to a text file (same as Formatted Output)
- Regular expressions (need agreement on regexp substitution and regexp search-as-opposed-to-match)
- Sort stability (Need to find/write the documentation on this)
- Stack traces (cross-impl agreement)
Needs improvement[edit]
- Dynamic variable names (improve: Once environment-
with
is builtin, show using it together withinterp.setTopScope
) - E-on-Java is flagged for something
- Non-decimal radices/Input — Don't use __ methods
- Optional parameters — map-patterns
- Power set — show dynamically constructed set
- Stair-climbing puzzle
Special cases[edit]
- Compare sorting algorithms' performance — waiting on Shell sort, Plot x, y arrays, Write float arrays to a text file, Polynomial regression
Notable omits[edit]
- Rendezvous (Hard to define what this means in E. Intervat perhaps? Is currently marked omit.)
Completed[edit]
To classify[edit]
Insert new tasks here.