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

From Rosetta Code
Content added Content deleted
(create CL tasks page like User:Kevin Reid/E tasks)
 
(partial update)
 
(59 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, 31 July 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]]
* [[Defining Primitive Data Types]]
* [[Exceptions]]
* [[Exceptions Through Nested Calls]]
* [[Jensen's Device]]
* [[Named parameters]]
* [[Scope modifiers]]
* [[Sort stability]]
* [[Special characters]]
* [[Special characters]]
* [[Variables]]
* [[Variables]]
* [[Y combinator]]
===Data structures===
===Data structures===
* [[Arrays]]
* [[Collections]]
* [[Creating a Hash from Two Arrays]]
* [[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===
==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==
* [[Anagrams]]
* [[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]]
* [[Rational Arithmetic]]
* [[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]]
* [[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]]
* [[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]]
* [[Global Singleton]]
* [[Inheritance]]
* [[Polymorphic copy]]
* [[Polymorphic copy]]
* [[Unknown Method]]


==Text-bashing==
==Text-bashing==
Line 131: 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==
* [[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 - 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==
* [[Command Line Arguments]]
* [[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===
* [[Connect to Active Directory]]
* [[Active Directory/Connect]]
* [[Search for a User in Active Directory]]
* [[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]]
* [[Xlib simple window]]
* [[Animate a pendulum]]
===Reflective===
===Reflective===
* [[Get Pixel Information]]
* [[Get Pixel Information]]
Line 183: Line 85:


==Control flow==
==Control flow==
* [[Amb]]
* [[Flow Control Structures]]
* [[Flow Control Structures]]
* [[Loop/Continue]]


==Graphics==
==Graphics==
Line 191: 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]]
* [[Cubic bezier curves]]
* [[Bitmap/Flood fill]]
* [[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 229: 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 245: 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 reflextion==
==Rosetta Code reflection==
* [[Count programming examples]]
* [[Count programming examples]]
* [[Find unimplemented tasks]]
* [[Find unimplemented tasks]]
* [[Sort most popular programming languages]]
* [[Sort most popular programming languages]]


==To review==
==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

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.