User:Kevin Reid/Common Lisp tasks: Difference between revisions
Content added Content deleted
m (updates) |
(partial update) |
||
(57 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
This is [[User:Kevin Reid|Kevin Reid]]'s classification of [[tasks not implemented in Common Lisp]], or just poorly done in CL, by what kind of problem they are. |
This is [[User:Kevin Reid|Kevin Reid]]'s ''personal'' classification of [[Reports:tasks not implemented in Common Lisp|tasks not implemented in Common Lisp]], or just poorly done in CL, by what kind of problem they are. 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 18:13, 2 August 2009. When updating this list, consult [http://rosettacode.org/mw/index.php?title=Template:Unimp_body_Common_Lisp&action=history the diffs] since then for what to add/remove. |
|||
<div style="-webkit-column-count: 3"> |
<div style="-webkit-column-count: 3"> |
||
==Basic language features== |
==Basic language features== |
||
* [[Binary |
* [[Binary strings]] |
||
* [[ |
* [[Bitwise IO]] |
||
* [[Exceptions]] |
|||
* [[Scope modifiers]] |
|||
* [[Sort stability]] |
|||
* [[Special characters]] |
* [[Special characters]] |
||
* [[Variables]] |
* [[Variables]] |
||
* [[Y combinator]] |
|||
===Data structures=== |
===Data structures=== |
||
* [[Arrays]] |
|||
* [[Collections]] |
|||
* [[Doubly-Linked List]] |
|||
* [[Doubly-Linked List (element insertion)]] |
|||
* [[Doubly-Linked List (element)]] |
|||
* [[FIFO]] |
|||
* [[FIFO (usage)]] |
|||
* [[Playing Cards]] |
|||
* [[Singly-Linked List (element insertion)]] |
|||
* [[Singly-Linked List (element)]] |
|||
* [[Singly-Linked List (traversal)]] |
|||
* [[Stack]] |
|||
==Algorithms== |
|||
* [[Bogosort]] |
|||
* [[Bubble Sort]] |
|||
* [[Cocktail Sort]] |
|||
* [[Combinations]] |
|||
* [[Counting sort]] |
|||
* [[Ethiopian Multiplication]] |
|||
* [[Gnome sort]] |
|||
* [[Heapsort]] |
|||
* [[Huffman codes]] |
|||
* [[Knuth shuffle]] |
|||
* [[LZW compression]] |
|||
* [[Permutation Sort]] |
|||
* [[Point in polygon (ray casting algorithm)]] |
|||
* [[Selection sort]] |
|||
* [[Shell sort]] |
|||
==Algorithmic problems== |
|||
* [[Closest pair problem]] |
|||
* [[Knapsack Problem]] |
|||
* [[Longest Common Subsequence]] |
|||
* [[Maximum subsequence]] |
|||
* [[Median]] |
|||
* [[Mode]] |
|||
* [[Non Continuous Subsequences]] |
|||
* [[Probabilistic Choice]] |
|||
* [[Pyramid of numbers]] |
* [[Pyramid of numbers]] |
||
* [[Spiral]] |
|||
* [[Sudoku Solver]] |
|||
* [[Top Rank Per Group]] |
|||
* [[Topological (dependency) sort]] |
|||
==Miscellaneous programs== |
==Miscellaneous programs== |
||
* [[ |
* [[Execute SNUSP]] |
||
* [[Arithmetic Evaluator]] |
|||
* [[Bulls and Cows]] |
|||
* [[Conway's Game of Life]] |
|||
* [[Look-and-say sequence]] |
|||
* [[Monty Hall simulation]] |
|||
* [[One dimensional cellular automata]] |
|||
* [[:Category:RCHQ9+|RCHQ9+]] |
|||
* [[:Category:RCSNUSP|RCSNUSP]] |
|||
* [[SEDOL]] |
* [[SEDOL]] |
||
==Mathematics== |
==Mathematics== |
||
* [[Formal Power Series]] |
|||
* [[Polynomial long division]] |
|||
* [[Standard Deviation]] |
|||
===Matrices=== |
===Matrices=== |
||
* [[Matrix exponentiation operator]] |
* [[Matrix exponentiation operator]] |
||
* [[Reduced row echelon form]] |
* [[Reduced row echelon form]] |
||
===Integers=== |
===Integers=== |
||
* [[Long Multiplication]] |
|||
* [[Lucas-Lehmer test]] |
* [[Lucas-Lehmer test]] |
||
* [[Miller-Rabin test]] |
* [[Miller-Rabin test]] |
||
* [[Multiplicative order]] |
* [[Multiplicative order]] |
||
* [[Trial factoring of a Mersenne number]] |
|||
===Numerics=== |
===Numerics=== |
||
* [[Infinity]] |
|||
* [[Gamma function]] |
* [[Gamma function]] |
||
* [[Monte Carlo Simulation]] |
|||
* [[Multiple Regression]] |
* [[Multiple Regression]] |
||
* [[Nth root algorithm]] |
|||
* [[Numerical Integration]] |
|||
* [[Polynomial Fitting]] |
* [[Polynomial Fitting]] |
||
* [[Quadratic Equation]] |
* [[Quadratic Equation]] |
||
* [[ |
* [[Safe addition]] |
||
* [[Sequence of Non-squares]] |
* [[Sequence of Non-squares]] |
||
* [[Verify Distribution Uniformity with Chi-Squared Test]] |
|||
==Concurrency/events== |
==Concurrency/events== |
||
* [[Active object]] |
* [[Active object]] |
||
* [[Atomic updates]] |
* [[Atomic updates]] |
||
* [[Dining philosophers]] |
|||
* [[Event]] |
* [[Event]] |
||
* [[Metered Concurrency]] |
* [[Metered Concurrency]] |
||
* [[Mutex]] |
* [[Mutex]] |
||
* [[Rendezvous]] |
* [[Rendezvous]] |
||
* [[Simple concurrent actions]] |
|||
* [[Synchronous Concurrency]] |
|||
==Type system== |
==Type system== |
||
* [[Constrained Genericity]] |
|||
* [[Parametric Polymorphism]] |
|||
==Object-oriented== |
==Object-oriented== |
||
* [[Abstract type]] |
|||
* [[Adding variables to a class instance at runtime]] |
|||
* [[Delegate]] |
|||
* [[Inheritance]] |
|||
* [[Polymorphic copy]] |
* [[Polymorphic copy]] |
||
* [[Unknown Method]] |
|||
==Text-bashing== |
==Text-bashing== |
||
Line 124: | Line 51: | ||
* [[Data Munging]] |
* [[Data Munging]] |
||
* [[Data Munging 2]] |
* [[Data Munging 2]] |
||
* [[Max Licenses In Use]] |
|||
* [[Tokenizing A String]] |
|||
==File access== |
==File access== |
||
* [[File Modification Time]] |
|||
* [[File Rename]] |
|||
* [[Walk Directory Tree]] |
|||
==FFI/low-level== |
==FFI/low-level== |
||
* [[ |
* [[Arena storage pool]] |
||
* [[Allocator]] |
|||
* [[Basic pointer and reference operations]] |
* [[Basic pointer and reference operations]] |
||
* [[Call function |
* [[Call a function from a foreign language]] |
||
* [[Data Representation - Controlling Fields in a Structure]] |
* [[Data Representation - Controlling Fields in a Structure]] |
||
* [[Data Representation - Getting the Size]] |
|||
* [[Data Representation - Specifying Minimum Size]] |
* [[Data Representation - Specifying Minimum Size]] |
||
* [[Host Introspection]] |
* [[Host Introspection]] |
||
* [[Machine Address]] |
* [[Machine Address]] |
||
* [[Memory Allocation]] |
|||
==Debugging== |
|||
* [[Print a Stack Trace]] |
|||
==OS interfaces== |
==OS interfaces== |
||
* [[Creating a Secure Temporary File]] |
* [[Creating a Secure Temporary File]] |
||
* [[Determine if Only One Instance is Running]] |
* [[Determine if Only One Instance is Running]] |
||
* [[Environment variables]] |
|||
* [[Execute a System Command]] |
|||
* [[Fork Process]] |
|||
* [[Interrupts]] |
* [[Interrupts]] |
||
* [[Program Termination]] |
* [[Program Termination]] |
||
===Sockets=== |
===Sockets=== |
||
* [[Sockets]] |
|||
===Windows=== |
===Windows=== |
||
* [[ |
* [[Active Directory/Connect]] |
||
* [[Search for a |
* [[Active Directory/Search for a user]] |
||
==GUI== |
==GUI== |
||
* [[Creating a Window]] |
|||
* [[Get mouse position]] |
* [[Get mouse position]] |
||
* [[Keyboard macros]] |
* [[Keyboard macros]] |
||
* [[Simple Windowed Application]] |
|||
* [[User Input - graphical]] |
* [[User Input - graphical]] |
||
* [[Window management]] |
* [[Window management]] |
||
* [[ |
* [[Animate a pendulum]] |
||
===Reflective=== |
===Reflective=== |
||
* [[Get Pixel Information]] |
* [[Get Pixel Information]] |
||
Line 175: | Line 85: | ||
==Control flow== |
==Control flow== |
||
* [[Amb]] |
|||
* [[Flow Control Structures]] |
* [[Flow Control Structures]] |
||
* [[Loop/Continue]] |
|||
==Graphics== |
==Graphics== |
||
Line 183: | Line 91: | ||
* [[Plot x, y arrays]] |
* [[Plot x, y arrays]] |
||
===The image-type tasks=== |
===The image-type tasks=== |
||
* [[Bitmap/Bézier curves/Cubic]] |
|||
* [[Basic bitmap storage]] |
|||
* [[Bitmap/Bézier curves/Quadratic]] |
|||
* [[Bresenham's line algorithm]] |
|||
* [[ |
* [[Bitmap/Flood fill]] |
||
* [[ |
* [[Bitmap/Histogram]] |
||
* [[Bitmap/PPM conversion through a pipe]] |
|||
* [[Bitmap/Read a PPM file]] |
|||
* [[Bitmap/Read an image through a pipe]] |
|||
* [[Grayscale image]] |
* [[Grayscale image]] |
||
* [[Image convolution]] |
* [[Image convolution]] |
||
* [[Image histogram]] |
|||
* [[Median filter]] |
* [[Median filter]] |
||
* [[Midpoint circle algorithm]] |
|||
* [[PPM conversion through a pipe]] |
|||
* [[Percentage of difference between 2 images]] |
|||
* [[Quadratic bezier curves]] |
|||
* [[Read image file through a pipe]] |
|||
* [[Read ppm file]] |
|||
* [[Write ppm file]] |
|||
* [[Xiaolin Wu's line algorithm]] |
* [[Xiaolin Wu's line algorithm]] |
||
==Use a library== |
==Use a library== |
||
* [[Distributed program]] |
* [[Distributed program]] |
||
* [[MD5]] |
|||
* [[Pattern Matching]] |
|||
* [[Play recorded sounds]] |
* [[Play recorded sounds]] |
||
* [[Regular expression matching]] |
|||
===HTTP client=== |
===HTTP client=== |
||
* [[Client-Authenticated HTTPS Request]] |
* [[Client-Authenticated HTTPS Request]] |
||
* [[HTTPS Request]] |
|||
* [[HTTPS request with authentication]] |
* [[HTTPS request with authentication]] |
||
* [[Search Yahoo]] |
* [[Search Yahoo]] |
||
Line 221: | Line 120: | ||
* [[Creating a SOAP Client]] |
* [[Creating a SOAP Client]] |
||
===XML=== |
===XML=== |
||
* [[DOM XML Serialization]] |
|||
* [[XML Creation]] |
|||
* [[XML Reading]] |
|||
* [[XML and XPath]] |
* [[XML and XPath]] |
||
===Calendar=== |
===Calendar=== |
||
Line 237: | Line 133: | ||
* [[Evens Sum To Even]] |
* [[Evens Sum To Even]] |
||
* [[Measure relative performance of sorting algorithms implementations]] |
* [[Measure relative performance of sorting algorithms implementations]] |
||
* [[Object Serialization]] |
|||
==Rosetta Code reflection== |
==Rosetta Code reflection== |
||
Line 244: | Line 139: | ||
* [[Sort most popular programming languages]] |
* [[Sort most popular programming languages]] |
||
==To |
==To improve== |
||
* [[Add a variable to a class instance at runtime]] — improve: This should be a per-*instance* change. Use the MOP to generate a subclass and change-class to it. |
|||
* [[Amb]] — improve: Show the continuation version as well (use arnesi?). |
|||
* [[Arithmetic Evaluator]] — improve: I think there could be some simplification by changing to a prefix AST and using the CL operator names (use symbol-function, not eval). |
|||
* [[Basic Animation]] and [[Pendulum Animation]] — improve: Investigate using CLIM. |
|||
* [[Basic bitmap storage]] — improve: review for efficiency (inlining?), necessity of type declarations, idiom |
|||
* [[Closest pair problem]] — improve: Try using complex numbers instead of conses. |
|||
* [[Collections]] — improve: Add some discussion of the characteristics, and include vectors. |
|||
* [[Object Serialization]] — improve: Show other techniques, particularly print/read. |
|||
* [[Pattern Matching]] — improve: See if there's a pattern matching library that offers more-lispy syntax. |
|||
* [[Simple Windowed Application]] — improve: Should be reviewed for niceness by a CLIM expert. |
|||
==Completed== |
|||
<!--COMPLETED--> |
|||
* [[Address Operations]] |
|||
* [[Factors]] |
|||
* [[First-class Numbers]] — While implemented, it does not parallel the function example as intended. |
|||
* [[Roots of a function]] |
|||
* [[Trial factoring of a Mersenne number]] |
|||
<!--ENDCOMPLETED--> |
|||
==To classify== |
|||
Insert new tasks here. |
Insert new tasks here. |
||
<!--INSERT--> |
|||
<!--ENDINSERT--> |
|||
</div> |
</div> |
Latest revision as of 02:24, 31 January 2011
This is Kevin Reid's personal classification of tasks not implemented in Common Lisp, or just poorly done in CL, by what kind of problem they are. The presence of items on this list is managed by Task list updater.e (but is not automatically run); the classification is done manually.
Basic language features
Data structures
Algorithmic problems
Miscellaneous programs
Mathematics
Matrices
Integers
Numerics
- Gamma function
- Multiple Regression
- Polynomial Fitting
- Quadratic Equation
- Safe addition
- Sequence of Non-squares
- Verify Distribution Uniformity with Chi-Squared Test
Concurrency/events
Type system
Object-oriented
Text-bashing
File access
FFI/low-level
- Arena storage pool
- Basic pointer and reference operations
- Call a function from a foreign language
- Data Representation - Controlling Fields in a Structure
- Data Representation - Specifying Minimum Size
- Host Introspection
- Machine Address
OS interfaces
- Creating a Secure Temporary File
- Determine if Only One Instance is Running
- Interrupts
- Program Termination
Sockets
Windows
GUI
Reflective
Control flow
Graphics
The image-type tasks
- Bitmap/Bézier curves/Cubic
- Bitmap/Bézier curves/Quadratic
- Bitmap/Flood fill
- Bitmap/Histogram
- Bitmap/PPM conversion through a pipe
- Bitmap/Read a PPM file
- Bitmap/Read an image through a pipe
- Grayscale image
- Image convolution
- Median filter
- Xiaolin Wu's line algorithm
Use a library
HTTP client
Database
SMTP
SOAP
XML
Calendar
OpenGL
Testing
Miscellaneous other
Rosetta Code reflection
To improve
- Add a variable to a class instance at runtime — improve: This should be a per-*instance* change. Use the MOP to generate a subclass and change-class to it.
- Amb — improve: Show the continuation version as well (use arnesi?).
- Arithmetic Evaluator — improve: I think there could be some simplification by changing to a prefix AST and using the CL operator names (use symbol-function, not eval).
- Basic Animation and Pendulum Animation — improve: Investigate using CLIM.
- Basic bitmap storage — improve: review for efficiency (inlining?), necessity of type declarations, idiom
- Closest pair problem — improve: Try using complex numbers instead of conses.
- Collections — improve: Add some discussion of the characteristics, and include vectors.
- Object Serialization — improve: Show other techniques, particularly print/read.
- Pattern Matching — improve: See if there's a pattern matching library that offers more-lispy syntax.
- Simple Windowed Application — improve: Should be reviewed for niceness by a CLIM expert.
Completed
- Address Operations
- Factors
- First-class Numbers — While implemented, it does not parallel the function example as intended.
- Roots of a function
- Trial factoring of a Mersenne number
To classify
Insert new tasks here.