380 lines
11 KiB
Plaintext
380 lines
11 KiB
Plaintext
{{language|Lua
|
||
|exec=interpreted
|
||
|strength=strong
|
||
|safety=safe
|
||
|express=implicit
|
||
|checking=dynamic
|
||
|gc=yes
|
||
|site=http://www.lua.org
|
||
|LCT=yes
|
||
|bnf=http://www.lua.org/manual/5.1/manual.html}}{{Codepad}}{{CompileOnline}}{{language programming paradigm|Object-oriented}}The Lua (pronounced LOO-ah) [[programming language]] is a lightweight, [[reflective programming|reflective]], [[imperative programming|imperative]] and [[procedural programming|procedural]] language, designed as a scripting language with extensible semantics as a primary goal.
|
||
The name is derived from the Portuguese word for moon.
|
||
|
||
Lua is commonly described as a "multi-[[:Category:Programming Paradigms|paradigm]]" language, providing a small set of general features that can be extended to fit different problem types, rather than providing a more complex and rigid specification to match a single paradigm.
|
||
Lua, for instance, does not contain explicit support for inheritance, but allows it to be implemented relatively easily with metatables.
|
||
Similarly, Lua allows programmers to implement namespaces, classes, and other related features using its single table implementation; first class functions allow the employment of many powerful techniques from functional programming; and full lexical scoping allows fine-grained information hiding to enforce the principle of least privilege.
|
||
|
||
In general, Lua strives to provide flexible meta-features that can be extended as needed, rather than supply a feature-set specific to one programming paradigm.
|
||
As a result, the base language is light—in fact, the full reference interpreter is only about 150KB compiled—and easily adaptable to a broad range of applications.
|
||
|
||
==Citations==
|
||
* [[wp:Lua_%28programming_language%29|Wikipedia:Lua (programming language)]]
|
||
|
||
==Unimplemented programming tasks==
|
||
Output from [[Find_unimplemented_tasks]] :
|
||
|
||
Lua has 355 unimplemented programming tasks:
|
||
15 puzzle solver
|
||
2048
|
||
4-rings or 4-squares puzzle
|
||
9 billion names of God the integer
|
||
AKS test for primes
|
||
Abbreviations, automatic
|
||
Abbreviations, easy
|
||
Abbreviations, simple
|
||
Active Directory/Connect
|
||
Active Directory/Search for a user
|
||
Active object
|
||
Address of a variable
|
||
Aliquot sequence classifications
|
||
Anagrams/Deranged anagrams
|
||
Animation
|
||
Append a record to the end of a text file
|
||
Apply a digital filter (direct form II transposed)
|
||
Arbitrary-precision integers (included)
|
||
Archimedean spiral
|
||
Arena storage pool
|
||
Arithmetic-geometric mean/Calculate Pi
|
||
Atomic updates
|
||
Average loop length
|
||
Balanced ternary
|
||
Best shuffle
|
||
Bitcoin/address validation
|
||
Bitcoin/public point to address
|
||
Bitmap/Bresenham's line algorithm
|
||
Bitmap/Bézier curves/Cubic
|
||
Bitmap/Bézier curves/Quadratic
|
||
Bitmap/Flood fill
|
||
Bitmap/Midpoint circle algorithm
|
||
Bitmap/PPM conversion through a pipe
|
||
Bitmap/Read an image through a pipe
|
||
Bitwise IO
|
||
Brace expansion
|
||
Break OO privacy
|
||
Bulls and cows/Player
|
||
Call a function in a shared library
|
||
Canny edge detector
|
||
Carmichael 3 strong pseudoprimes
|
||
Casting out nines
|
||
Catmull–Clark subdivision surface
|
||
Chat server
|
||
Check Machin-like formulas
|
||
Checkpoint synchronization
|
||
Chinese zodiac
|
||
Cholesky decomposition
|
||
Church Numerals
|
||
Circles of given radius through two points
|
||
Closest-pair problem
|
||
Color of a screen pixel
|
||
Color quantization
|
||
Colour bars/Display
|
||
Colour pinstripe/Display
|
||
Colour pinstripe/Printer
|
||
Combinations and permutations
|
||
Commatizing numbers
|
||
Compare sorting algorithms' performance
|
||
Compile-time calculation
|
||
Compiler/AST interpreter
|
||
Compiler/code generator
|
||
Compiler/lexical analyzer
|
||
Compiler/syntax analyzer
|
||
Compiler/virtual machine interpreter
|
||
Conjugate transpose
|
||
Constrained genericity
|
||
Constrained random points on a circle
|
||
Continued fraction
|
||
Continued fraction/Arithmetic/Construct from rational number
|
||
Convert decimal number to rational
|
||
Create a file on magnetic tape
|
||
Create an object at a given address
|
||
Currency
|
||
Cut a rectangle
|
||
Death Star
|
||
Deconvolution/2D+
|
||
Define a primitive data type
|
||
Delegates
|
||
Determine if only one instance is running
|
||
Digital root/Multiplicative digital root
|
||
Dining philosophers
|
||
Discordian date
|
||
Distributed programming
|
||
Documentation
|
||
Doubly-linked list/Definition
|
||
Doubly-linked list/Element definition
|
||
Doubly-linked list/Element insertion
|
||
Doubly-linked list/Traversal
|
||
Draw a cuboid
|
||
Draw a pixel
|
||
Draw a rotating cube
|
||
Dutch national flag problem
|
||
EKG sequence convergence
|
||
Eertree
|
||
Egyptian division
|
||
Egyptian fractions
|
||
Element-wise operations
|
||
Elementary cellular automaton
|
||
Enforced immutability
|
||
Equilibrium index
|
||
Euler's identity
|
||
Events
|
||
Executable library
|
||
Extend your language
|
||
Extensible prime generator
|
||
FTP
|
||
Factors of a Mersenne number
|
||
Find common directory path
|
||
Find largest left truncatable prime in a given base
|
||
Find palindromic numbers in both binary and ternary bases
|
||
Floyd-Warshall algorithm
|
||
Four is magic
|
||
Four is the number of letters in the ...
|
||
Fractran
|
||
Function frequency
|
||
GUI component interaction
|
||
GUI enabling/disabling of controls
|
||
GUI/Maximum window dimensions
|
||
Galton box animation
|
||
Gaussian elimination
|
||
Generate random chess position
|
||
Go Fish
|
||
Greyscale bars/Display
|
||
HTTPS/Client-authenticated
|
||
Handle a signal
|
||
Hash join
|
||
Hello world/Line printer
|
||
Hello world/Web server
|
||
Hickerson series of almost integers
|
||
History variables
|
||
Hofstadter Figure-Figure sequences
|
||
Hofstadter Q sequence
|
||
Honeycombs
|
||
Horizontal sundial calculations
|
||
Host introspection
|
||
Hough transform
|
||
Hunt The Wumpus
|
||
Image convolution
|
||
Image noise
|
||
Index finite lists of positive integers
|
||
Inheritance/Single
|
||
Integer overflow
|
||
Inverted index
|
||
Inverted syntax
|
||
Jaro distance
|
||
Jewels and Stones
|
||
Joystick position
|
||
Julia set
|
||
K-d tree
|
||
K-means++ clustering
|
||
Keyboard input/Flush the keyboard buffer
|
||
Keyboard input/Keypress check
|
||
Keyboard input/Obtain a Y or N response
|
||
Keyboard macros
|
||
Knapsack problem/0-1
|
||
Knapsack problem/Bounded
|
||
Knapsack problem/Continuous
|
||
Knuth's algorithm S
|
||
Knuth's power tree
|
||
Kolakoski sequence
|
||
LU decomposition
|
||
Largest number divisible by its digits
|
||
Last letter-first letter
|
||
Law of cosines - triples
|
||
Long multiplication
|
||
Long primes
|
||
Loops/Increment loop index within loop body
|
||
Loops/Wrong ranges
|
||
Lucas-Lehmer test
|
||
Lucky and even lucky numbers
|
||
Lychrel numbers
|
||
MD5/Implementation
|
||
Machine code
|
||
Mad Libs
|
||
Main step of GOST 28147-89
|
||
Maze solving
|
||
Median filter
|
||
Memory allocation
|
||
Memory layout of a data structure
|
||
Metered concurrency
|
||
Metronome
|
||
Miller–Rabin primality test
|
||
Mind boggling card trick
|
||
Minesweeper game
|
||
Modular exponentiation
|
||
Modular inverse
|
||
Mouse position
|
||
Multiple regression
|
||
Multiplicative order
|
||
Narcissist
|
||
Natural sorting
|
||
Nautical bell
|
||
Negative base numbers
|
||
Nested templated data
|
||
Non-continuous subsequences
|
||
Nonoblock
|
||
Nonogram solver
|
||
Numeric error propagation
|
||
OLE Automation
|
||
Object serialization
|
||
Odd word problem
|
||
OpenWebNet Password
|
||
Paraffins
|
||
Parallel Brute Force
|
||
Parallel calculations
|
||
Parametric polymorphism
|
||
Parametrized SQL statement
|
||
Parse an IP Address
|
||
Parsing/RPN to infix conversion
|
||
Parsing/Shunting-yard algorithm
|
||
Partition an integer X into N primes
|
||
Pascal's triangle/Puzzle
|
||
Pathological floating point problems
|
||
Pattern matching
|
||
Pentagram
|
||
Percentage difference between images
|
||
Percolation/Bond percolation
|
||
Percolation/Mean cluster density
|
||
Percolation/Mean run density
|
||
Percolation/Site percolation
|
||
Permutation test
|
||
Permutations/Rank of a permutation
|
||
Pig the dice game/Player
|
||
Pinstripe/Printer
|
||
Play recorded sounds
|
||
Plot coordinate pairs
|
||
Polymorphic copy
|
||
Polynomial long division
|
||
Polynomial regression
|
||
Pragmatic directives
|
||
Primes - allocate descendants to their ancestors
|
||
Primorial numbers
|
||
Problem of Apollonius
|
||
Pythagoras tree
|
||
Pythagorean quadruples
|
||
Pythagorean triples
|
||
QR decomposition
|
||
RCRPG
|
||
RPG Attributes Generator
|
||
RSA code
|
||
Ramer-Douglas-Peucker line simplification
|
||
Random number generator (device)
|
||
Ranking methods
|
||
Rate counter
|
||
Ray-casting algorithm
|
||
Recaman's sequence
|
||
Record sound
|
||
Reflection/Get source
|
||
Reflection/List methods
|
||
Reflection/List properties
|
||
Rendezvous
|
||
Rep-string
|
||
Resistor mesh
|
||
Retrieve and search chat history
|
||
Rosetta Code/Count examples
|
||
Rosetta Code/Find bare lang tags
|
||
Rosetta Code/Rank languages by popularity
|
||
Runge-Kutta method
|
||
S-Expressions
|
||
SEDOLs
|
||
SOAP
|
||
SQL-based authentication
|
||
Safe addition
|
||
Sailors, coconuts and a monkey problem
|
||
Same Fringe
|
||
Scope modifiers
|
||
Scope/Function names and labels
|
||
Sequence of primorial primes
|
||
Set consolidation
|
||
Set of real numbers
|
||
Set puzzle
|
||
Shortest common supersequence
|
||
Sierpinski carpet
|
||
Sierpinski pentagon
|
||
Sierpinski triangle
|
||
Simple database
|
||
Simulate input/Keyboard
|
||
Simulate input/Mouse
|
||
Singleton
|
||
Singly-linked list/Element definition
|
||
Singly-linked list/Element insertion
|
||
Singly-linked list/Traversal
|
||
Sokoban
|
||
Solve a Hidato puzzle
|
||
Solve a Hopido puzzle
|
||
Solve a Numbrix puzzle
|
||
Solve the no connection puzzle
|
||
Sorting algorithms/Heapsort
|
||
Sorting algorithms/Radix sort
|
||
Sorting algorithms/Strand sort
|
||
Sparkline in unicode
|
||
Speech synthesis
|
||
Spelling of ordinal numbers
|
||
Spinning rod animation/Text
|
||
Square but not cube
|
||
Start from a main routine
|
||
State name puzzle
|
||
Stream Merge
|
||
Subtractive generator
|
||
Sum and Product Puzzle
|
||
Sum to 100
|
||
Superellipse
|
||
Superpermutation minimisation
|
||
Taxicab numbers
|
||
Terminal control/Coloured text
|
||
Terminal control/Cursor movement
|
||
Terminal control/Cursor positioning
|
||
Terminal control/Dimensions
|
||
Terminal control/Hiding the cursor
|
||
Terminal control/Inverse video
|
||
Terminal control/Positional read
|
||
Terminal control/Preserve screen
|
||
Terminal control/Unicode output
|
||
Ternary logic
|
||
The ISAAC Cipher
|
||
The Name Game
|
||
Thiele's interpolation formula
|
||
Topic variable
|
||
Topological sort
|
||
Total circles area
|
||
Tree traversal
|
||
Truth table
|
||
Twelve statements
|
||
URL parser
|
||
Ulam spiral (for primes)
|
||
Unicode strings
|
||
Update a configuration file
|
||
Use another language to call a function
|
||
User input/Graphical
|
||
Vampire number
|
||
Variable size/Get
|
||
Variable size/Set
|
||
Variable-length quantity
|
||
Verify distribution uniformity/Chi-squared test
|
||
Verify distribution uniformity/Naive
|
||
Video display modes
|
||
Vigenère cipher/Cryptanalysis
|
||
Visualize a tree
|
||
Vogel's approximation method
|
||
Walk a directory/Recursively
|
||
Water collected between towers
|
||
Window creation/X11
|
||
Window management
|
||
Word search
|
||
World Cup group stage
|
||
Write to Windows event log
|
||
Xiaolin Wu's line algorithm
|
||
Yahoo! search interface
|
||
Yin and yang
|
||
Zebra puzzle
|
||
Zeckendorf arithmetic
|
||
|
||
See also [[Reports:Tasks_not_implemented_in_Lua]] |