lua-users home
lua-l archive

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


My course is a graduate computer science course, but one of my goals is to explore Lua as a possible working language for a revision of our core undergraduate course on Programming Language Organization in 2014.  Because my current course will have mostly MS in CS students, I can let them do quite a bit of work on their own. But I need to stay enough ahead of the students to organize the course reasonably and guide students away from any dead ends and perhaps toward my long-term goal.  

Because it is a graduate course, however, I do want it to explore deeply and widely in the Lua universe.

My first program (after a bit of play in the REPL)  during the past week is a Lua version of the interpreter from Chapter 1 of Sam Kamin's 1990 textbook Programming Languages: An Interpreter-Based Approach.  I used LPEG to implement the parser for this toy language (a simple Lisp-like syntax with only "integer data) with capture functions to build the symbol table and an intermediate representation (which is essentially an abstract syntax tree for the input expression).  Before the semester begins, I hope to be able to use this base to implement a couple other of Kamin's  toy languages and thereby determine how I should  restructure the base to be more generic and modular.

- Conrad


On Jul 24, 2013, at 11:44 AM, Ralph Hempel <rhempel@bmts.com> wrote:
> You might want to tell the list what level of course you are planning to teach. If it's introductory computer science, stick with one language and stick to the bare core of Lua with no additional libraries except maybe luafilesystem and luasocket.
> 
> Anything more will just confuse the students.
> 
>> The PiL book and some of the other documents are good.
> 
> I would argue Pil is "great", as in one of the best books since the C manual by K&P or the "Little Schemer".
> 
> Contact me offlist if you're interested in a contact with another prof using Lua for introductory CS for non-CS majors...
> 
> Ralph
>