Ahoj Pavle,
díky za článek. Chápu to správně, že Moonscript je jakoby "opravená a vylepšená" Lua? Má smysl Moonscript upřednostnit před Luou? Jak by se postupovalo na mikrokontrolérech - znamená to nutnost naportovat na mikrokontrolér i transpiler, ne? Jak je to velký "projekt" - běželo by to v pár kB paměti?
Ahoj Petře,
právěže na mikrořadiči stačí nechat klasickou Luu, vyvíjet si kód na velkém PC a pod tím si nechat běžet transpřekladač, který .lua zdrojáky generuje při každé změně .moon zdrojáků. To umí přímo *moonc*, kterému se předá adresář, který má sledovat.
Takže vlastně na mikrořadič přenášíš už generované .lua soubory - které jsou však dost dobře čitelné, kdyby došlo na ladění.
Jinak samotný transpiler vyžaduje LuaJIT, takže s přenosem kamkoli mimo podporované architektury by byl docela problém.
Spis Coffeescript adaptovany na Luu.
Podle jejich webu "The syntax of MoonScript has been heavily inspired by the syntax of CoffeeScript. MoonScript is CoffeeScript for Lua."
Jestli byl puvodni Coffeescript inspirovany Luou nedokazu posoudit.
Hmm CoffeeScript i Dart byly fakt nekdy pred deseti lety hodne popularni, ale dneska si tipnu, ze spousta JS/TS vyvojaru ani ty nazvy nezna. On se totiz i JS hodne posunul dopredu, hlavne od pred ES5 stavu, kdy to nebylo nic moc na vetsi projekty.
"On se totiz i JS hodne posunul dopredu"
jak se pise v clanku, nektera vylepseni byla prevzata z Coffescriptu, nebo alespon inspirovana. Namatkou, sipkove funkce, tridy, sablonove retezce (s trochu jinou syntaxi).
"Hmm CoffeeScript i Dart byly fakt nekdy pred deseti lety hodne popularni"
Coffeescript byl celkem popularni jeste pred peti lety, je v nem napsany treba editor Atom, psaly se v tom rozsireni.
Dart necili ciste na javascript, prosadil na mobilech.
9. 11. 2021, 10:28 editováno autorem komentáře
jj. Jinak zrovna v Atomu v tom mají pěkně psanou specifikaci, dobře čitelné. Například:
https://github.com/atom/atom/blob/10f7d454edb3d61e3c85f6be1c58122b656c295f/spec/compile-cache-spec.coffee