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

From Rosetta Code
Content added Content deleted
(partial update)
 
(48 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 12:13, 6 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]]
* [[Exceptions]]
* [[Special characters]]
* [[Special characters]]
* [[Variables]]
* [[Variables]]
* [[Y combinator]]
* [[First-class Numbers]]
===Data structures===
===Data structures===
* [[Collections]]

==Algorithms==
* [[Cocktail Sort]]
* [[Combinations]]
* [[Counting sort]]
* [[Gnome sort]]
* [[Huffman codes]]
* [[LZW compression]]
* [[Point in polygon (ray casting algorithm)]]


===Algorithmic problems===
==Algorithmic problems==
* [[Closest pair problem]]
* [[Knapsack Problem]]
* [[Non Continuous Subsequences]]
* [[Pyramid of numbers]]
* [[Pyramid of numbers]]
* [[Spiral]]
* [[Sudoku Solver]]
* [[Top Rank Per Group]]
* [[Topological (dependency) sort]]


==Miscellaneous programs==
==Miscellaneous programs==
* [[Arithmetic Evaluator]]
* [[Execute SNUSP]]
* [[: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===
* [[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==
* [[Active object]]
* [[Active object]]
* [[Atomic updates]]
* [[Atomic updates]]
* [[Dining philosophers]]
* [[Event]]
* [[Event]]
* [[Metered Concurrency]]
* [[Metered Concurrency]]
* [[Mutex]]
* [[Mutex]]
* [[Rendezvous]]
* [[Rendezvous]]
* [[Synchronous Concurrency]]


==Type system==
==Type system==
* [[Parametric Polymorphism]]


==Object-oriented==
==Object-oriented==
* [[Adding variables to a class instance at runtime]]
* [[Polymorphic copy]]
* [[Polymorphic copy]]


Line 84: 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]]
* [[Walk Directory Tree]]


==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 104: Line 66:
* [[Creating a Secure Temporary File]]
* [[Creating a Secure Temporary File]]
* [[Determine if Only One Instance is Running]]
* [[Determine if Only One Instance is Running]]
* [[Fork Process]]
* [[Interrupts]]
* [[Interrupts]]
* [[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]]
* [[Animate a pendulum]]
===Reflective===
===Reflective===
* [[Get Pixel Information]]
* [[Get Pixel Information]]
Line 125: Line 85:


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


Line 132: 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]]


==Use a library==
==Use a library==
* [[Distributed program]]
* [[Distributed program]]
* [[Pattern Matching]]
* [[Play recorded sounds]]
* [[Play recorded sounds]]
===HTTP client===
===HTTP client===
Line 176: 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 184: 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?).
* [[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==
==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.