User:Kevin Reid/Common Lisp tasks: Difference between revisions

From Rosetta Code
Content added Content deleted
(long multiplication fixed)
(partial update)
 
(28 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 00:13, 8 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 string manipulation functions]]
* [[Binary strings]]
* [[Bit oriented IO]]
* [[Bitwise IO]]
* [[Special characters]]
* [[Special characters]]
* [[Variables]]
* [[Variables]]
===Data structures===
===Data structures===
* [[Collections]]


==Algorithmic problems==
==Algorithmic problems==
* [[Closest pair problem]]
* [[Knapsack Problem]]
* [[Pyramid of numbers]]
* [[Pyramid of numbers]]
* [[Spiral]]
* [[Sudoku Solver]]


==Miscellaneous programs==
==Miscellaneous programs==
* [[Execute SNUSP]]
* [[:Category:RCSNUSP|RCSNUSP]]
* [[SEDOL]]
* [[SEDOL]]


==Mathematics==
==Mathematics==
* [[Formal Power Series]]
* [[Polynomial long division]]
* [[Standard Deviation]]
===Matrices===
===Matrices===
* [[Matrix exponentiation operator]]
* [[Matrix exponentiation operator]]
Line 35: Line 25:
* [[Miller-Rabin test]]
* [[Miller-Rabin test]]
* [[Multiplicative order]]
* [[Multiplicative order]]
* [[Trial factoring of a Mersenne number]]

===Numerics===
===Numerics===
* [[Gamma function]]
* [[Gamma function]]
* [[Multiple Regression]]
* [[Multiple Regression]]
* [[Numerical Integration]]
* [[Polynomial Fitting]]
* [[Polynomial Fitting]]
* [[Quadratic Equation]]
* [[Quadratic Equation]]
* [[Roots of a function]]
* [[Safe addition]]
* [[Sequence of Non-squares]]
* [[Sequence of Non-squares]]
* [[Verify Distribution Uniformity with Chi-Squared Test]]


==Concurrency/events==
==Concurrency/events==
Line 53: Line 41:
* [[Mutex]]
* [[Mutex]]
* [[Rendezvous]]
* [[Rendezvous]]
* [[Synchronous Concurrency]]


==Type system==
==Type system==
Line 64: Line 51:
* [[Data Munging]]
* [[Data Munging]]
* [[Data Munging 2]]
* [[Data Munging 2]]
* [[Max Licenses In Use]]


==File access==
==File access==
* [[File Modification Time]]
* [[File Rename]]


==FFI/low-level==
==FFI/low-level==
* [[Address Operations]]
* [[Arena storage pool]]
* [[Allocator]]
* [[Basic pointer and reference operations]]
* [[Basic pointer and reference operations]]
* [[Call function in shared library]]
* [[Call a function from a foreign language]]
* [[Data Representation - Controlling Fields in a Structure]]
* [[Data Representation - Controlling Fields in a Structure]]
* [[Data Representation - Specifying Minimum Size]]
* [[Data Representation - Specifying Minimum Size]]
Line 86: Line 69:
* [[Program Termination]]
* [[Program Termination]]
===Sockets===
===Sockets===
* [[Sockets]]
===Windows===
===Windows===
* [[Connect to Active Directory]]
* [[Active Directory/Connect]]
* [[Search for a User in Active Directory]]
* [[Active Directory/Search for a user]]


==GUI==
==GUI==
* [[Get mouse position]]
* [[Get mouse position]]
* [[Keyboard macros]]
* [[Keyboard macros]]
* [[Simple Windowed Application]]
* [[User Input - graphical]]
* [[User Input - graphical]]
* [[Window management]]
* [[Window management]]
* [[Pendulum Animation]]
* [[Animate a pendulum]]
===Reflective===
===Reflective===
* [[Get Pixel Information]]
* [[Get Pixel Information]]
Line 104: Line 85:


==Control flow==
==Control flow==
* [[Amb]]
* [[Flow Control Structures]]
* [[Flow Control Structures]]


Line 111: Line 91:
* [[Plot x, y arrays]]
* [[Plot x, y arrays]]
===The image-type tasks===
===The image-type tasks===
* [[Bitmap/Bézier curves/Cubic]]
* [[Bresenham's line algorithm]]
* [[Cubic bezier curves]]
* [[Bitmap/Bézier curves/Quadratic]]
* [[Flood fill]]
* [[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]]
* [[PPM conversion through a pipe]]
* [[Quadratic bezier curves]]
* [[Read image file through a pipe]]
* [[Read ppm file]]
* [[Xiaolin Wu's line algorithm]]
* [[Xiaolin Wu's line algorithm]]


Line 154: 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 162: Line 140:


==To improve==
==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.
* [[Basic bitmap storage#Common Lisp]] — review for efficiency (inlining?), necessity of type declarations, idiom
* [[Amb]] — improve: Show the continuation version as well (use arnesi?).
* [[Adding variables to a class instance at runtime#Common Lisp]] — This should be a per-*instance* change. Use the MOP to generate a subclass and change-class to it.
* [[Arithmetic Evaluator#Common Lisp]] — I think there could be some simplification by changing to a prefix AST and using the CL operator names (use symbol-function, not eval).
* [[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.
* [[Pattern Matching#Common Lisp]] — See if there's a pattern matching library that offers more-lispy syntax.
* [[Basic bitmap storage]] — improve: review for efficiency (inlining?), necessity of type declarations, idiom
* [[Basic Animation]] and [[Pendulum Animation]] — Investigate using CLIM.
* [[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==
==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

Concurrency/events

Type system

Object-oriented

Text-bashing

File access

FFI/low-level

OS interfaces

Sockets

Windows

GUI

Reflective

Control flow

Graphics

The image-type tasks

Use a library

HTTP client

Database

SMTP

SOAP

XML

Calendar

OpenGL

Testing

Miscellaneous other

Rosetta Code reflection

To improve

Completed

To classify

Insert new tasks here.