Hello Graham,
Thank you for your commnts. Oh, for sure, tinkering with plain is just an interim step along the (long...) road. A very minimal "harness setup" to write minimal code --- to play with the various LuaTeX API functions via GNU's gdb debugger. By building a small test environment/playground from scratch, including compiling LuaTeX, and hacking together a basic TDS, gives me a way to learn about stuff like kpathsea etc.
Besides the gdb part, this is pretty much how I "learned" LuaTeX (still on my path). I suggest you stay with plain, then add features as you go along: * write your own font handler (see the bluewiki page) - LuaTeX supports many different kinds of fonts * write your own kpathsea module (and thus replace kpathsea) * do a nodelist traversal and find out about the different node types * create a nodelist and write it out to TeX (node.write(...)) * use tex.linebreak() for creating a paragraph. ... Hans' font stuff is rather advanced and therefore complex (IIRC > 10000 lines of code), so don't try to understand it as your first exercise. There is no need to use ConTeXt if all you want is knowledge of the LuaTeX API. If you understand german or use google translate, have a look at http://www.luatex.de Patrick