muforth
moonscript
muforth | moonscript | |
---|---|---|
2 | 35 | |
127 | 3,126 | |
- | - | |
9.3 | 4.4 | |
3 months ago | 6 months ago | |
Forth | Lua | |
GNU General Public License v3.0 or later | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
muforth
-
Forth: The programming language that writes itself: The Web Page
Is Google down again? Bummer.
FORTH is still used to bring up new silicon because of its tiny core, you only need a couple of working assembly instructions to bootstrap yourself into a working system, you could do this entirely in cache or a small static RAM if you don't have a working memory controller yet.
It is also used all over the place in embedded controllers, https://arduino-forth.com/ , http://www.piclist.com/techref/microchip/language/forths.htm , https://github.com/nimblemachines/muforth , from PICs to ARMs and everything in between.
You won't see a lot of hype around it and repos tend to be old because they 'just work', typically a user of such a system would download it and customize it to the point that sharing it would be pointless, the whole idea is to extend the language to become the application.
-
muforth
From the github README: "muforth is a small, simple, fast, indirect-threaded code (ITC) Forth intended for use as a cross-compiler for microcontrollers and other embedded devices. It is written in C and its core is very portable. Because of its Forth nature, it is naturally extensible, scriptable, and customizable."
moonscript
-
Why Fennel?
Now I like lua, and think single pass is the way to go for interpreted, since you don't have the disadvantage of a slow compile time no matter how big your codebase gets, BUT its not great to write in. things like +=, ++, are not possible, which means the only solution is to transpile into it, which has led to some good languages like moonscript[0], teal[1] which offers static type checking, an absolute must as your codebase grows.
[0]: https://moonscript.org/
-
Forth: The programming language that writes itself: The Web Page
That can be very productive and clever, but be - and stay - aware that such polyglot solutions tend to be maintenance headaches in the longer run.
There is a really nice open source project out there that allows you to train your hearing and your sightreading, but it's written in the authors own language which in turn compiles to JavaScript and the headache to set up their toolchain is such that I haven't bothered fixing any of the bugs that I'm aware of (and there are plenty).
https://sightreading.training/
https://github.com/leafo/sightreading.training
It's written in a language called 'Moonscript':
https://github.com/leafo/moonscript
Which compiles to Lua. Which compiles to JS.
Madness. Nice madness, but still, it stopped me from being a contributor.
-
Lua: The Little Language That Could
RE: the cost of switching at this point, what about languages that compile to Lua? Like https://moonscript.org/. That would let you keep the legacy code, no?
-
Trying to make a website with Lapis
In the case of Lapis, it is actually written in Moonscript, which needs a few more things.
- Launch HN: Moonrepo (YC W23) – Open-source build system
- Using Lua with C++
-
Using other languages
There's also some languages made to compile straight to Lua: - MoonScript is the most popular Lua wrapper - it's built to be more Python-like, featuring indentation-based scopes, function calls without parentheses, lambda syntax, list comprehension, and much more. - Yuescript is a modern update to MoonScript that adds more features (I haven't used it myself, so I'm not entirely sure exactly how it differs from MS). - Teal is a version of Lua that adds static typing for better code standards.
-
Best Websites For Coders
A programmer-friendly language that compiles to Lua.
- data types in function definition
-
A MiniTron In 47 Lines
This is a sample code for learning, written in Moonscript for TIC-80:
What are some alternatives?
sightreading.training - 🎹 Sight reading training tool
Yuescript - A Moonscript dialect compiles to Lua.
MiniForth - A tiny Forth I built in a week. Blog post: https://www.thanassis.space/miniforth.html
nelua-lang - Minimal, efficient, statically-typed and meta-programmable systems programming language heavily inspired by Lua, which compiles to C and native code.
goforth - A fully compiled and forth-like language including a small virtual machine.
TypeScriptToLua - Typescript to lua transpiler. https://typescripttolua.github.io/
factor - Factor programming language
luau - A fast, small, safe, gradually typed embeddable scripting language derived from Lua
third - Third, a small Forth compiler for 8086 DOS
TIC-80 - TIC-80 is a fantasy computer for making, playing and sharing tiny games.
LuaJIT - Mirror of the LuaJIT git repository
nvim-lspconfig - Quickstart configs for Nvim LSP