4 ms·
A minor hobby of mine is collecting proposed changes for Lua. Let me make sure I have these right: - some syntax like js arrow function (this is tough because
by anonymoushn 6y ago
A minor hobby of mine is collecting proposed changes for Lua. Let me make sure I have these right:
- some syntax like js arrow function (this is tough because {} are not block delimiters, maybe single-expression lambdas like in python? I kind of hate those though.)
- `??` operator which does the same thing as `or` except when the left operand is exactly `false`
- `?:` operator. Should this evaluate to exactly one value or any number of values? e.g. x?2,3:4,5
I recently encountered a library that addresses some of the first need: https://github.com/starwing/luaiter#the-selector-interface https://github.com/starwing/luaiter#the-selector-interface
- mingodad 6y agoAlso there is https://github.com/mingodad/ljs https://github.com/mingodad/ljs that changed the parser to accept a Javascript like syntax, including https://github.com/mingodad/ljsjit https://github.com/mingodad/ljsjit for LuaJit and includes a tool to automatically convert lua to ljs https://github.com/mingodad/ljs/tree/master/lua2ljs https://github.com/mingodad/ljs/tree/master/lua2ljs and did several project conversions to check that it's feasible and works (see the readme).
- Pxtl 6y agoExactly. Theoretically I could get this stuff by using Moonscript, but then I'm using a somewhat esoteric language that brings in a lot of other very unusual ideas. Although for ternary, I honestly think the "if/elseif/else can be used as an expression" has always been my favorite syntax. Or the CASE...WHEN syntax of SQL.
- anonymoushn 6y agoSome compile-to-lua languages include if expressions, but they commonly compile to IIFEs to support evaluating to a number of values other than 1. It's troublesome. I think the bytecode can express what you want.