On Wed, May 9, 2018 at 12:18 PM, Lorenzo Donati
<lorenzodonatibz@tiscali.it> wrote:
On 09/05/2018 18:24, Egor Skriptunoff wrote:
On Tue, May 8, 2018 at 11:11 AM, Dirk Laurie wrote:
When the right-hand side of an assignment is an anonymous function, I
nowadays put a semicolon after the final "end" to distinguish it from
other uses of 'end'. Do you like the idea or hate it?
Some programming languages (e.g PL/SQL) have distinct syntax for "end"
depending on the statement:
if ... end if;
for k in 1..5 loop ... end loop;
case ... end case;
function FuncName ... end FuncName;
I often comment the end of scopes that span over about 15-20 lines, especially when there are multiple nested scopes. For example
if ....
for ...
-- blah
end -- for
function MyFunc(....)
-- more blah
end -- function MyFunc
end -- if
You get the gist of it.
It helps a lot when debugging or refactoring code.
I wouldn't mind if Lua allowed an optional syntax for specifying what "end" ends; optional but enforced if used, i.e. an error would be issued if (say) "end for" didn't end a for structure.
A file processor that marks up all the end statements for you would be more useful I think. It could also be used to see logic errors. Martin has an autoldoc project that would be a good fit for that kind of thing.
I can't say if it would be too heavy for the compiler or if a nice syntax could be devised that didn't render the grammar too complicated
For example:
end for (ambiguous)
vs.
end for;
vs.
end ---for (semantic comments?)
vs.
end ::for:: (fake label? ambiguous)
vs.
<choose your poison!>
Just rambling, not a well fleshed-out RFE anyway.
Do you want to achieve the same goal by appending a semicolon to "end"?
Cheers!
-- Lorenzo