lua-users home
lua-l archive

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

On Fri, 4 Jul 2014 15:01:52 -0300
Carlos Pita <> wrote:

> PS: at the risk of not getting precise answers for my more technical
> questions, I would like to hear your opinions about the need of
> metaprogramming in lua. As scheme, lua provides powerful basic
> mechanisms that lend themselves to implement new control structures,
> programming paradigms, etc. This often implies boilerplate code that
> cannot always be abstracted out into reusable functions (maybe because
> the function calling syntax isn't ideal for the specific construct,
> maybe because the function calling semantics is inadequate).

I don't know.

But I sure want to hear what you and everyone else have to say. When
somebody has a faster, more accurate or more secure way of writing
programs, I'm all ears.

From here on down I'll give some disjoint opinions not at all specific
to Lua...

I use templates with tokens a lot. Data for my program that prints
diplomas for students who have taken my Troubleshooting Course consists
of a non-compressed .svg file, with tokens where the student name, the
customer name, and the dates should be. A second piece of data is a
Yaml file with the customer name, dates, and an array of student names.
My program mailmerges the two and spits out diplomas for everyone.

The late 1980's featured the fastest developing Rapid Application
Development environment I've ever seen: Clarion 2.1. Developed much
faster than Rails or the various other frameworks. Faster than
Delphi and Powerbuilder and all those 1990's RADs. Basically, you just
laid out forms with database fields, applied any field specific logic
on the field, and you were done. Creating a 4 table app in a day,
starting with no database or anything else, was no problem at all. Can
you imagine what that capability did for a freelance programmer?

The way Clarion 2.1 worked was they had a "Model File", which was a
template with all sorts of tokens that told Clarion both how to shape
the Clarion user interface for the programmer, and how to interpret
what the programmer laid out in his forms, menus, reports, and special
source code files. People a lot smarter than I could change the Model
Files to change the whole look of Clarion programs, or the way the
development environment worked.

There's an outline processor called Leo, in which you outline your app,
run a process, and it's a Python program. Unfortunately, to the best of
my knowledge, it works only with Python.

Anyway, you brought up one heck of an interesting topic, and I hope
there are a lot more responses.


Steve Litt                *
Troubleshooting Training  *  Human Performance