|
1 | | -# About |
| 1 | +# About MoonScript |
2 | 2 |
|
3 | | -<!-- TODO: write document |
| 3 | +MoonScript was created by [Leaf Corcoran][leafo] as a more streamlined and "friendlier" alternative to [Lua][lua], a popular scripting language known for its speed and embeddability. |
| 4 | +Often described as "CoffeeScript for Lua," MoonScript's design philosophy centers on readability and ease of use, aiming to reduce the verbosity of Lua while retaining its core strengths. |
| 5 | +It achieves this by transpiling its code directly into standard Lua, meaning it can run on any platform that supports a Lua interpreter. |
4 | 6 |
|
5 | | - This document contains a short introduction to the language. |
| 7 | +The primary function of MoonScript is to provide a more elegant and developer-friendly syntax for writing code that ultimately runs as Lua. |
| 8 | +It introduces features not native to Lua, such as classes, list comprehensions, and a more intuitive syntax for table manipulation. |
| 9 | +By compiling to Lua, it allows developers to leverage the vast ecosystem of existing Lua libraries and frameworks without modification, offering the best of both worlds: a modern, expressive syntax with the performance and portability of a well-established language. |
6 | 10 |
|
7 | | - The introduction should be relatively brief and touch upon what |
8 | | - makes the language interesting (and possibly unique). The goal |
9 | | - is to help students decide if they want to join this track. |
| 11 | +Due to its nature as a Lua preprocessor, MoonScript finds its home in many of the same domains as Lua itself. |
| 12 | +It is particularly popular in game development, especially within game engines that use Lua for scripting, such as LÖVE 2D and Defold. |
| 13 | +Its concise syntax allows for faster development and easier maintenance of game logic. |
| 14 | +Beyond gaming, it is also used in web development, with frameworks like Lapis (which was also created by the author of MoonScript) and OpenResty, and for general-purpose scripting and application development. |
10 | 15 |
|
11 | | - The contents of this document are displayed on the track page, |
12 | | - provided the student has not joined the track. |
| 16 | +To learn more about MoonScript, the official website at [moonscript.org][moon] is the best starting point. |
| 17 | +The community, while smaller than that of more mainstream languages, is active on platforms like [GitHub][github] and [Discord][discord]. |
| 18 | +For those familiar with Lua, the transition is often smooth, as MoonScript's syntax is designed to be intuitive and easy to pick up. |
13 | 19 |
|
14 | | - See https://exercism.org/docs/building/tracks/docs for more information. --> |
| 20 | +[leafo]: https://leafo.net |
| 21 | +[lua]: https://exercism.org/tracks/lua/about |
| 22 | +[moon]: https://moonscript.org |
| 23 | +[github]: https://github.com/leafo/moonscript |
| 24 | +[discord]: https://discord.gg/Y75ZXrD |
0 commit comments