User:Kevin Reid/E tasks: Difference between revisions

From Rosetta Code
Content added Content deleted
(misc redirect-shortenings (some guessed))
(update by script + manual)
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
This is [[User:Kevin Reid|Kevin Reid]]'s ''personal'' classification of [[Reports:tasks not implemented in E|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.
This is [[User:Kevin Reid|Kevin Reid]]'s ''personal'' classification of [[Reports:tasks not implemented in E|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|Task list updater.e]] (but is not automatically run); the classification is done manually.

If you wish to help update this list, please do only these:
* Add new tasks to [[#To classify]].
* Move completed tasks to [[#Completed]]; I will review them.

As of 06:16, 18 August 2009. When updating this list, consult [{{fullurl:Template:Unimp body E|action=history}} the main unimp list's diffs] since then for what to add/move.


<div style="-webkit-column-count: 3">
<div style="-webkit-column-count: 3">


==Simple==
==Language features==
* [[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==
* [[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==
==Algorithmic==
* [[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]]
* [[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]]
* [[Long multiplication]]
* [[Longest common subsequence]]
* [[Longest common subsequence]]
* [[Maze generation]]
* [[Maze solving]]
* [[N-queens problem]]
* [[Non-continuous subsequences]]
* [[Non-continuous subsequences]]
* [[Permutations]]
* [[Point in polygon (ray casting algorithm)]]
* [[Ray-casting algorithm]]
* [[Arena storage pool]] (Covers both implementing an allocator, and using it to allocate physical memory... Do the first part perhaps.)
* [[Sorting algorithms/Bead sort]]
* [[Sorting algorithms/Comb sort]]
* [[Sorting algorithms/Pancake sort]]
* [[Sorting algorithms/Radix sort]]
* [[Sorting algorithms/Stooge sort]]


==GUI==
==GUI==
* [[GUI component interaction]]
* [[GUI enabling/disabling of controls]]
* [[Keyboard macros]]
* [[Keyboard macros]]
* [[Get mouse position]]
* [[Minesweeper game]]
* [[Mouse position]]
* [[Window management]]
* [[Window management]]
* [[Play recorded sounds]] (classified here because we can borrow Java facilities in the EoJ case)
* [[Play recorded sounds]] (classified here because we can borrow Java facilities in the EoJ case)
* [[User input/Graphical]]
* [[User input/Graphical]]
* [[Wireworld]]
===Reflective===
===Reflective===
* [[Color of a screen pixel]]
* [[Color of a screen pixel]]
* [[Simulate key strokes]]
* [[Simulate input/Keyboard]]
* [[Simulate mouse click]]
* [[Simulate input/Mouse]]

==User interaction (unspecified type)==
* [[Guess the number]]
* [[Guess the number/With feedback]]
* [[Guess the number/With feedback (player)]]
* [[Number reversal game]]


==Graphics==
==Graphics==
* [[Brownian tree]]
* [[Constrained random points on a circle]]
* [[Dragon curve]]
* [[Dragon curve]]
* [[Plot x, y arrays]]
* [[Fractal tree]]
* [[Plot coordinate pairs]]
* [[Image noise]]
===Using [[Basic bitmap storage]]===
===Using [[Basic bitmap storage]]===
* [[Bitmap/Bézier curves/Cubic]]
* [[Bitmap/Bézier curves/Cubic]]
* [[Bitmap/Bézier curves/Quadratic]]
* [[Image convolution]]
* [[Image convolution]]
* [[Image histogram]]
* [[Bitmap/Histogram]]
* [[Grayscale image]]
* [[Grayscale image]]
* [[Median filter]]
* [[Median filter]]
* [[Midpoint circle algorithm]]
* [[Bitmap/Midpoint circle algorithm]]
* [[PPM conversion through a pipe]]
* [[Bitmap/PPM conversion through a pipe]]
* [[Quadratic bezier curves]]
* [[Bitmap/Read a PPM file]]
* [[Read image file through a pipe]]
* [[Bitmap/Read an image through a pipe]]
* [[Xiaolin Wu's line algorithm]]
* [[Xiaolin Wu's line algorithm]]
===Other pixel processing===
* [[Hough transform]]



==Mathematics==
==Mathematics==
* [[Formal power series]] (similar to [[Polynomial long division]])
* [[Formal power series]] (similar to [[Polynomial long division]])
* improve [[Median]] (research better algorithms)
* [[Averages/Median]] (research better algorithms)
* [[Deconvolution/1D]]
* [[Deconvolution/2D+]]
* [[Hofstadter-Conway $10,000 sequence]]
* [[Simple quaternion type and operations]]
* [[Truncatable primes]]
===Integers===
===Integers===
* [[Factors of an integer]]
* [[Factors of an integer]]
* [[Lucas-Lehmer test]]
* [[Lucas-Lehmer test]]
* [[Multiplicative order]]
* [[Multiplicative order]]
* [[Trial factoring of a Mersenne number]]
* [[Factors of a Mersenne number]]
* [[Seven-dice from Five-dice]]
* [[Seven-sided dice from five-sided dice]]
===Numerics===
===Numerics===
* [[Gamma function]]
* [[Gamma function]]
Line 63: Line 119:
* [[Verify distribution uniformity/Naive]]
* [[Verify distribution uniformity/Naive]]
* [[Verify distribution uniformity/Chi-squared test]]
* [[Verify distribution uniformity/Chi-squared test]]

==Operating system interfaces==
* [[Globally replace text in several files]]
* [[Hello world/Line printer]]

==Small projects==
* [[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==
==Large projects==
* [[Text processing/1]]
* [[24 game/Solve]]
* [[Text_processing/2]]
* [[Bulls and cows/Player]]
* [[Execute a Markov algorithm]]
* [[RCRPG]]
* [[RCSNUSP]]
* [[Execute SNUSP]]
* [[Huffman codes]]
* [[Go Fish]]
* [[Huffman coding]]
* [[LZW compression]]
* [[LZW compression]]
* [[Monty Hall simulation]]
* [[MD5/Implementation]]
* [[Pyramid of numbers]]
* [[Monty Hall problem]]
* [[Number names]]
* [[Number names]]
* [[Pascal's triangle/Puzzle]]
* [[RCRPG]]
* [[Roman numerals]]
* [[Roman numerals]]
* [[Sudoku Solver]]
* [[Stable marriage problem]]
* [[Sudoku]]
* [[Text processing/1]]
* [[Text processing/2]]
* [[Thiele's interpolation formula]]


==Rosetta Code processing==
==Rosetta Code processing==
* [[Rosetta Code/Fix code tags]]
* [[Rosetta Code/Fix code tags]]
* [[Rosetta Code/Count examples]]
* [[Rosetta Code/Count examples]]
* [[Rosetta Code/Rank languages by popularity]]
* [[Sort most popular programming languages]]


==Argue with==
==Argue with==
Line 102: Line 184:


===Parser library===
===Parser library===
* [[Arithmetic evaluation]] ought to use one even if it's not technically required.
* [[Arithmetic evaluation]] ought to use one even if it's not technically required. (improve)


===Iter/accum/stream tools===
===Iter/accum/stream tools===
* [[N distinct objects]] (needs better answer than accumulator)
* [[Multiple distinct objects]] (improve: needs better answer than accumulator)
* ...and many other tasks to improve
* ...and many other tasks to improve

===Vector type===
* [[Dot product]]


===Matrix type===
===Matrix type===
* [[Matrix transposition]]
* [[Matrix transposition]]
* [[Matrix exponentiation operator]]
* [[Matrix-exponentiation operator]]
* [[Matrix multiplication]]
* [[Matrix multiplication]]
* [[Reduced row echelon form]]
* [[Reduced row echelon form]]
Line 123: Line 208:


===Calendar===
===Calendar===
* [[Yuletide Holiday]]
* [[Day of the week]]
* [[Date manipulation]]
* [[Date manipulation]]
* [[Date format]]
* [[Date format]]
* [[Discordian date]]
* [[Five weekends]]
* [[Holidays related to Easter]]
* [[Leap year]]


===Stream IO===
===Stream IO===
* [[Bitwise IO]]
* [[Bitwise IO]]
====Console input====
====Console input====
* [[Select]]
* [[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]]
* [[Input loop]]
* [[Two-dimensional array (runtime)]]
* [[Create a two-dimensional array at runtime]]
* [[User input/Text]]
* [[User input/Text]]
====Sockets====
====Sockets====
* [[Chat server]]
* [[Echo server]]
* [[Echo server]]
* [[Sockets]]
* [[Sockets]]
* [[Hostname]] (done by shell command, but should be done internally)
* [[Hostname]] (improve: done by shell command, but should be done internally)


===Operating system interfaces===
===Operating system interfaces===
* [[Secure temporary file]]
* [[Secure temporary file]]
* [[Fork]]
* [[Fork]]
* [[Interrupts]]
* [[Handle a signal]]
* [[Morse code]] — involves playing a sound
* [[Query Performance]] (done EoJ; needs cross-platform)
* [[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====
* [[Write to Windows event log]]


===FFI===
===FFI===
Line 150: Line 250:
* [[Call a function from a foreign language]]
* [[Call a function from a foreign language]]
* [[OpenGL]]
* [[OpenGL]]
* [[Create an object at a given address]]
* [[Host introspection]] (currently omitted)
* [[Host introspection]] (currently omitted)
* [[Create an object at a given address]] (currently omitted)


===Database===
===Database===
* [[Table creation]]
* [[Table creation/Postal addresses]]
* [[Table creation/Postal addresses]]
* [[SQL-based authentication]]
* [[SQL-based authentication]]
* [[Parametrized SQL statement]]


===Protocol/language implementations===
===Protocol/language implementations===
* [[Active Directory/Connect]]
* [[Active Directory/Connect]]
* [[Search for a User in Active Directory]]
* [[Active Directory/Search for a user]]
* [[SOAP]]
* [[SOAP]]
* [[Send an email]]
* [[Send email]]
* [[Window creation/X11]]
* [[Window creation/X11]]
====HTTP client====
====HTTP client====
Line 168: Line 268:
* [[HTTPS/Authenticated]]
* [[HTTPS/Authenticated]]
* [[HTTPS/Client-authenticated]]
* [[HTTPS/Client-authenticated]]
* [[Search Yahoo]]
* [[Yahoo! search interface]]
====XML====
====XML====
* [[XML/Output]]
* [[XML/Output]]
* [[XML/Input]]
* [[XML/Input]]
* [[XML/XPath]]
* [[XML/XPath]] (improve: needs revisiting when E-XML is better)


===Miscellaneous===
===Miscellaneous===
* [[Formatted numeric output]]
* [[Formatted numeric output]]
* [[Write float arrays to a text file]] (same as Formatted Output)
* [[Write float arrays to a text file]] (same as Formatted Output)
* [[Regular expression matching]] (need agreement on regexp substitution and regexp search-as-opposed-to-match)
* [[Regular expressions]] (need agreement on regexp substitution and regexp search-as-opposed-to-match)
* [[Sort stability]] (Need to find/write the documentation on this)
* [[Sort stability]] (Need to find/write the documentation on this)
* [[Stack traces]] (cross-impl agreement)
* [[Stack traces]] (cross-impl agreement)


==Needs improvement==
==Needs improvement==
* improve [[Dynamic variable names]] (Once environment-<code>with</code> is builtin, show using it together with <code>interp.setTopScope</code>)
* [[Dynamic variable names]] (improve: Once environment-<code>with</code> is builtin, show using it together with <code>interp.setTopScope</code>)
* [[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==
==Special cases==
* [[Measure relative performance of sorting algorithms implementations]] — waiting on [[Shell sort]], [[Plot x, y arrays]], [[Write float arrays to a text file]], [[Polynomial regression]]
* [[Compare sorting algorithms' performance]] — waiting on [[Shell sort]], [[Plot x, y arrays]], [[Write float arrays to a text file]], [[Polynomial regression]]


==Notable omits==
==Notable omits==
* [[Proof]] wants a 'proof'
* [[Rendezvous]] (Hard to define what this ''means'' in E. Intervat perhaps? Is currently marked omit.)
* [[Rendezvous]] (Hard to define what this ''means'' in E. Intervat perhaps? Is currently marked omit.)



Latest revision as of 18:38, 1 February 2011

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.

Simple

Language/library features

Algorithmic

GUI

Reflective

User interaction (unspecified type)

Graphics

Using Basic bitmap storage

Other pixel processing


Mathematics

Integers

Numerics

Operating system interfaces

Small projects

Large projects

Rosetta Code processing

Argue with




Needs a ... to be done well

Reflection toolkit

User-defined exceptions

Parser library

Iter/accum/stream tools

Vector type

Matrix type

Complex type

Rational type

Calendar

Stream IO

Console input

Sockets

Operating system interfaces

Windows

FFI

Database

Protocol/language implementations

HTTP client

XML

Miscellaneous

Needs improvement

Special cases

Notable omits

  • Rendezvous (Hard to define what this means in E. Intervat perhaps? Is currently marked omit.)

Completed

To classify

Insert new tasks here.