lua-users home
lua-l archive

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


Roberto Ierusalimschy wrote:
Basically, my reasoning is that the simple type check solution would
cover 90% of the demands at a very low cost. In other words, the
gain/cost ratio is excellent for the simple type checker.

The best way to support that claim is with a working prototype. Why
don't you try to implement your idea?

That is true, and a fair request to back up my claims. If I can find the time, my plan would be this:

1) Extend the parser to support type annotations a few places in the grammar: In particular, variable and function declarations.

2) Add a simple typing pass when the syntax tree is built, which has two phased: a) Bubble types up from leaves in the syntax tree in a post-order depth first traversal - i.e. type deduction. b) A second traversal, which checks that the deduced types matches any declared types.

Can you give me a few pointers to where to start? I have never looked at the source code for the compiler. Where can I extend the parser, where can I extend the syntax tree with a type field, and where can I hook up such a new typing pass? Is there an example of a tree traversal somewhere?

Thanks,
Asger Ottar Alstrup