User:Kevin Reid/E tasks: Difference between revisions

From Rosetta Code
Content added Content deleted
(completed task, also better link for diffs)
(update by script + manual)
 
(55 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This is [[User:Kevin Reid]]'s classification of [[Tasks not implemented 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.

As of 19 May 2009, at 16:05. When updating this list, consult [http://rosettacode.org/w/index.php?title=Template:Unimp_body_E&action=history the diffs since then] for what to add/remove.


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


==Simple==
==Should go ahead and do==
* [[Doubly-linked list/Traversal]]
===Simple===
* [[Evaluate binomial coefficients]]
* [[FIFO (usage)]]
* [[File Modification Time]]
* [[Hailstone sequence]]
* [[File Rename]]
* [[Hamming numbers]]
* [[File Size]]
* [[Map range]]
* [[Flow Control Structures]]
* [[Range expansion]]
* [[Loop Structures]]
* [[Strip block comments]]
* [[Strip comments from a string]]
* [[Special characters]]
* [[Sum of squares]]

===Complex===
* [[Bulls and Cows]]
* [[Anagrams]]
* [[Column Aligner]]
* [[Bogosort]]
* [[Conway's Game of Life]]
* [[Eval]]
* [[Prime decomposition]]
* [[Run-length encoding]] (borrow look-and-say code)
* [[Sierpinski carpet]]
* [[Sierpinski triangle]]
* [[Top Rank Per Group]]
* [[Zig Zag]]
* [[Spiral]]


==Language/library features==
===Data structures===
* [[Doubly-Linked List]]
* [[Anonymous recursion]]
* [[Extreme floating point values]]
* [[Doubly-Linked List (element insertion)]]
* [[Formal Power Series]]
* [[Flow-control structures]]
* [[JSON]] (2 ways: terml and deJSONKit)
* [[Playing Cards]]
* [[Literals/Floating point]]
* [[Singly-Linked List (traversal)]]
* [[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.)
* [[Closest pair problem]]
* [[Cocktail Sort]]
* [[Best shuffle]]
* [[Catmull–Clark subdivision surface]]
* [[Counting sort]]
* [[Combinations with repetitions]]
* [[Gnome sort]]
* [[Knapsack Problem]]
* [[Closest-pair problem]]
* [[Long Multiplication]]
* [[Equilibrium index]]
* [[Longest Common Subsequence]]
* [[Find common directory path]]
* [[Find the missing permutation]]
* [[Maximum subsequence]]
* [[Knapsack problem/0-1]]
* [[Non Continuous Subsequences]]
* [[Permutation Sort]]
* [[Knapsack problem/Bounded]]
* [[Knapsack problem/Continuous]]
* [[Quicksort]]
* [[Selection sort]]
* [[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==
==Type algebra/staticness==
* [[GUI component interaction]]
* [[Abstract type]]
* [[GUI enabling/disabling of controls]]
* [[Parametric Polymorphism]]
* [[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===
* [[Color of a screen pixel]]
* [[Simulate input/Keyboard]]
* [[Simulate input/Mouse]]


==User interaction (unspecified type)==
==Object-oriented/inheritance==
* [[Inheritance]]
* [[Guess the number]]
* [[Guess the number/With feedback]]

* [[Guess the number/With feedback (player)]]
==Control flow we don't have==
* [[Amb]]
* [[Number reversal game]]

==Probably messy==
* [[Convert an integer into words]]
* [[One dimensional cellular automata]]
* [[Reversing a string]]
* [[Rot-13]]


==Graphics==
==Graphics==
* [[Bresenham's line algorithm]]
* [[Brownian tree]]
* [[Constrained random points on a circle]]
* [[Cubic bezier curves]]
* [[Dragon curve]]
* [[Dragon curve]]
* [[Midpoint circle algorithm]]
* [[Fractal tree]]
* [[Plot x, y arrays]]
* [[Plot coordinate pairs]]
* [[Quadratic bezier curves]]
* [[Image noise]]
===Using [[Basic bitmap storage]]===
* [[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===
* [[Hough transform]]



==Numerics==
==Mathematics==
* [[Gamma function]]
* [[Formal power series]] (similar to [[Polynomial long division]])
* [[Greatest common divisor]]
* [[Averages/Median]] (research better algorithms)
* [[Happy Number]]
* [[Deconvolution/1D]]
* [[Deconvolution/2D+]]
* [[Hofstadter-Conway $10,000 sequence]]
* [[Simple quaternion type and operations]]
* [[Truncatable primes]]
===Integers===
* [[Factors of an integer]]
* [[Lucas-Lehmer test]]
* [[Lucas-Lehmer test]]
* [[Miller-Rabin test]]
* [[Multiplicative order]]
* [[Multiplicative order]]
* [[Factors of a Mersenne number]]
* [[Pascal's Triangle]]
* [[Seven-sided dice from five-sided dice]]
* [[Perfect Numbers]]
===Numerics===
* [[Polynomial Fitting]]
* [[Quadratic Equation]]
* [[Gamma function]]
* [[Polynomial regression]]
* [[Multiple regression]]
* [[Roots of a quadratic function]]
* [[Roots of a function]]
* [[Roots of a function]]
* [[Sequence of Non-squares]]
* [[Sequence of non-squares]]
* [[Verify distribution uniformity/Naive]]
* [[Shell sort]]
* [[Verify distribution uniformity/Chi-squared test]]
* [[Trial factoring of a Mersenne number]]

==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==
* [[Code Tag Fixer]]
* [[24 game/Solve]]
* [[Count programming examples]]
* [[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]]
* [[Roman Numerals]]
* [[Number names]]
* [[Pascal's triangle/Puzzle]]
* [[Sort most popular programming languages]]
* [[RCRPG]]
* [[Roman numerals]]
* [[Stable marriage problem]]
* [[Sudoku]]
* [[Text processing/1]]
* [[Text processing/2]]
* [[Thiele's interpolation formula]]

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


==Argue with==
==Argue with==
* [[Determine if Only One Instance is Running]]
* [[Determine if only one instance is running]]
* [[Max Licenses In Use]]


</div>
==Contortions==
----
* [[Evens Sum To Even]]

* [[Man or boy test]]


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


==Needs a ... to be done well==
==Needs a ... to be done well==


===Reflection toolkit===
===Reflection toolkit===
* [[Adding variables to a class instance at runtime]]
* [[Add a variable to a class instance at runtime]]

===User-defined exceptions===
* [[Exceptions/Catch an exception thrown in a nested call]]


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


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


===Image type===
===Vector type===
* [[Basic bitmap storage]]
* [[Dot product]]
* [[Flood fill]]
* [[Image convolution]]
* [[Image histogram]]
* [[Grayscale image]]
* [[Median filter]]
* [[Percentage of difference between 2 images]]
* [[PPM conversion through a pipe]]
* [[Read image file through a pipe]]
* [[Read ppm file]]
* [[Write ppm file]]
* [[Xiaolin Wu's line algorithm]]


===Matrix type===
===Matrix type===
* [[Matrix Transpose]]
* [[Matrix transposition]]
* [[Matrix exponentiation operator]]
* [[Matrix-exponentiation operator]]
* [[Matrix multiplication]]
* [[Matrix multiplication]]
* [[Reduced row echelon form]]
* [[Reduced row echelon form]]


===Complex type===
===Complex type===
* [[Complex numbers]]
* [[Arithmetic/Complex]]
* [[Mandelbrot set]]
* [[Mandelbrot set]]
* [[Roots of unity]]
* [[Roots of unity]]


===Rational type===
===Rational type===
* [[Rational Arithmetic]]
* [[Arithmetic/Rational]]


===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===
* [[Basic input loop]]
* [[Bitwise IO]]
====Console input====
* [[Bit oriented IO]]
* [[User Input]]
* [[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====
====Sockets====
* [[Echo Server]]
* [[Chat server]]
* [[Echo server]]
* [[Sockets]]
* [[Sockets]]
* [[Hostname]] (improve: done by shell command, but should be done internally)


===Operating system interfaces===
===Operating system interfaces===
* [[Creating a Secure Temporary File]]
* [[Secure temporary file]]
* [[Discover the Hostname]]
* [[Fork]]
* [[Fork Process]]
* [[Handle a signal]]
* [[Morse code]] — involves playing a sound
* [[Host Introspection]]
* [[Time a function]] (improve: done EoJ; needs cross-platform)
* [[Interrupts]]
* [[Terminal control/Clear the screen]]
* [[Query Performance]]
* [[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===
* [[Call function in shared library]]
* [[Call a function in a shared library]]
* [[Call a foreign-language function]]
* [[Call a function from a foreign language]]
* [[OpenGL]]
* [[OpenGL]]
* [[Host introspection]] (currently omitted)
* [[Create an object at a given address]] (currently omitted)


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


===Protocol/language implementations===
===Protocol/language implementations===
* [[Connect to Active Directory]]
* [[Active Directory/Connect]]
* [[Creating a SOAP Client]]
* [[Active Directory/Search for a user]]
* [[SOAP]]
* [[HTTPS request with authentication]]
* [[SQL-Based Authentication]]
* [[Send email]]
* [[Search Yahoo]]
* [[Window creation/X11]]
====HTTP client====
* [[Search for a User in Active Directory]]
* [[XML Creation]]
* [[HTTPS]]
* [[XML Reading]]
* [[HTTPS/Authenticated]]
* [[HTTPS/Client-authenticated]]
* [[XML and XPath]]
* [[Xlib simple window]]
* [[Yahoo! search interface]]
====XML====
* [[XML/Output]]
* [[XML/Input]]
* [[XML/XPath]] (improve: needs revisiting when E-XML is better)


===Miscellaneous===
===Miscellaneous===
* [[Formatted Numeric Output]]
* [[Formatted numeric output]]
* [[Print a Stack Trace]]
* [[Write float arrays to a text file]] (same as Formatted 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==
* [[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==
* [[Compare sorting algorithms' performance]] — waiting on [[Shell sort]], [[Plot x, y arrays]], [[Write float arrays to a text file]], [[Polynomial regression]]

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

==Completed==
<!--COMPLETED-->
<!--ENDCOMPLETED-->


==To review==
==To classify==
Insert new tasks here.
* [[Data Munging]]
<!--INSERT-->
* [[Data Munging 2]]
<!--ENDINSERT-->
* [[Exceptions]]
* [[Exceptions Through Nested Calls]]
* [[Measure relative performance of sorting algorithms implementations]]
* [[Power Set]]
* [[Regular expression matching]]
* [[SEDOL]]
* [[Sort an array of composite structures]]
* [[Two-dimensional array (runtime)]]


</div>
</div>

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.