RosettaCodeData/Lang/Lua/00DESCRIPTION

380 lines
11 KiB
Text
Raw Permalink Normal View History

{{language|Lua
2013-06-05 21:47:54 +00:00
|exec=interpreted
|strength=strong
|safety=safe
|express=implicit
|checking=dynamic
|gc=yes
|site=http://www.lua.org
|LCT=yes
2015-02-20 00:35:01 -05:00
|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.
2015-02-20 00:35:01 -05:00
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.
2015-02-20 00:35:01 -05:00
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==
2018-06-22 20:57:24 +00:00
* [[wp:Lua_%28programming_language%29|Wikipedia:Lua (programming language)]]
==Unimplemented programming tasks==
Output from [[Find_unimplemented_tasks]] :
2019-09-12 10:33:56 -07:00
Lua has 355 unimplemented programming tasks:
2018-06-22 20:57:24 +00:00
15 puzzle solver
2048
4-rings or 4-squares puzzle
9 billion names of God the integer
AKS test for primes
2019-09-12 10:33:56 -07:00
Abbreviations, automatic
Abbreviations, easy
Abbreviations, simple
2018-06-22 20:57:24 +00:00
Active Directory/Connect
Active Directory/Search for a user
Active object
2018-08-17 15:15:24 +01:00
Address of a variable
2018-06-22 20:57:24 +00:00
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
CatmullClark subdivision surface
Chat server
Check Machin-like formulas
Checkpoint synchronization
Chinese zodiac
Cholesky decomposition
2019-09-12 10:33:56 -07:00
Church Numerals
2018-06-22 20:57:24 +00:00
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
2018-08-17 15:15:24 +01:00
Compile-time calculation
2018-06-22 20:57:24 +00:00
Compiler/AST interpreter
Compiler/code generator
Compiler/lexical analyzer
Compiler/syntax analyzer
Compiler/virtual machine interpreter
Conjugate transpose
2018-08-17 15:15:24 +01:00
Constrained genericity
2018-06-22 20:57:24 +00:00
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
2019-09-12 10:33:56 -07:00
Currency
2018-06-22 20:57:24 +00:00
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
2019-09-12 10:33:56 -07:00
EKG sequence convergence
2018-06-22 20:57:24 +00:00
Eertree
Egyptian division
Egyptian fractions
Element-wise operations
Elementary cellular automaton
Enforced immutability
Equilibrium index
2019-09-12 10:33:56 -07:00
Euler's identity
2018-06-22 20:57:24 +00:00
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
2019-09-12 10:33:56 -07:00
Four is magic
2018-08-17 15:15:24 +01:00
Four is the number of letters in the ...
2018-06-22 20:57:24 +00:00
Fractran
Function frequency
GUI component interaction
GUI enabling/disabling of controls
2018-08-17 15:15:24 +01:00
GUI/Maximum window dimensions
2018-06-22 20:57:24 +00:00
Galton box animation
Gaussian elimination
2019-09-12 10:33:56 -07:00
Generate random chess position
2018-06-22 20:57:24 +00:00
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
2018-08-17 15:15:24 +01:00
History variables
2018-06-22 20:57:24 +00:00
Hofstadter Figure-Figure sequences
Hofstadter Q sequence
Honeycombs
Horizontal sundial calculations
Host introspection
Hough transform
Hunt The Wumpus
Image convolution
Image noise
2019-09-12 10:33:56 -07:00
Index finite lists of positive integers
2018-06-22 20:57:24 +00:00
Inheritance/Single
Integer overflow
Inverted index
Inverted syntax
Jaro distance
2019-09-12 10:33:56 -07:00
Jewels and Stones
2018-06-22 20:57:24 +00:00
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
2019-09-12 10:33:56 -07:00
Knuth's power tree
2018-06-22 20:57:24 +00:00
Kolakoski sequence
LU decomposition
2019-09-12 10:33:56 -07:00
Largest number divisible by its digits
2018-06-22 20:57:24 +00:00
Last letter-first letter
2019-09-12 10:33:56 -07:00
Law of cosines - triples
2018-06-22 20:57:24 +00:00
Long multiplication
2019-09-12 10:33:56 -07:00
Long primes
2018-06-22 20:57:24 +00:00
Loops/Increment loop index within loop body
2019-09-12 10:33:56 -07:00
Loops/Wrong ranges
2018-06-22 20:57:24 +00:00
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
MillerRabin primality test
2019-09-12 10:33:56 -07:00
Mind boggling card trick
2018-06-22 20:57:24 +00:00
Minesweeper game
Modular exponentiation
Modular inverse
Mouse position
Multiple regression
Multiplicative order
Narcissist
Natural sorting
Nautical bell
Negative base numbers
2019-09-12 10:33:56 -07:00
Nested templated data
2018-06-22 20:57:24 +00:00
Non-continuous subsequences
Nonoblock
Nonogram solver
Numeric error propagation
OLE Automation
Object serialization
Odd word problem
2018-08-17 15:15:24 +01:00
OpenWebNet Password
2018-06-22 20:57:24 +00:00
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
2018-08-17 15:15:24 +01:00
RPG Attributes Generator
2018-06-22 20:57:24 +00:00
RSA code
Ramer-Douglas-Peucker line simplification
Random number generator (device)
Ranking methods
Rate counter
Ray-casting algorithm
2019-09-12 10:33:56 -07:00
Recaman's sequence
2018-06-22 20:57:24 +00:00
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
2018-08-17 15:15:24 +01:00
Scope/Function names and labels
Sequence of primorial primes
2018-06-22 20:57:24 +00:00
Set consolidation
Set of real numbers
Set puzzle
2019-09-12 10:33:56 -07:00
Shortest common supersequence
2018-06-22 20:57:24 +00:00
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
2019-09-12 10:33:56 -07:00
Spelling of ordinal numbers
2018-08-17 15:15:24 +01:00
Spinning rod animation/Text
2019-09-12 10:33:56 -07:00
Square but not cube
2018-06-22 20:57:24 +00:00
Start from a main routine
State name puzzle
Stream Merge
Subtractive generator
Sum and Product Puzzle
Sum to 100
Superellipse
2019-09-12 10:33:56 -07:00
Superpermutation minimisation
2018-06-22 20:57:24 +00:00
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
2018-08-17 15:15:24 +01:00
Variable-length quantity
2018-06-22 20:57:24 +00:00
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]]