lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]



On Jun 26, 2014 9:19 PM, "Coda Highland" <chighland@gmail.com> wrote:
>
> On Thu, Jun 26, 2014 at 4:04 PM, Sean Conner <sean@conman.org> wrote:
> >> It's soooo much easier to analyze and comprehend the flow of control in a
> >> simple series of adjoining statements than it is across a series of function
> >> calls, especially recursive calls.
> >
> >   I'll grant you it can feel wierd at first, seeing a bunch of functions all
> > call each other and not blow out the stack, but with exposure, you get used
> > to it.  Heck, people got used to Perl, for crying out loud.
>
> <smug lisp weenie>I was recursing before it was cool.</smug lisp weenie>

If you approach it as a 6502 assembly language programmer, it makes sense too. Instead of writing

    JSR PRINT
    RTS

you peephole-optimize that to

    JMP PRINT

Unix shell programmers will write

    exec lua -lsocket ./foo.lua "$@"

in wrappers. If you read and write code like this long enough, your brain chunks "return f()" as "goto".

I argue that Lua is more clear than Scheme in this regard; in Scheme you have to know where the tail position is by the shape of the special form. "return <function-call-expr>" is explicit.

Jay