I've decided to implement cz as a clone of brace for a start, then to improve it after the brace functionality is all done. TODO free memory, e.g. filenames, so it could be used as a library TODO (after brace copy done): - rename cz_so -> cz_lib and cz->lib -> cz_inc - that idea of using pipelines instead of functions is good, a bit like RPN: brace_dir = dirname(dirname(which(cstr_cat("brace", exe)))) vs ("brace" exe) cstr_cat which dirname dirname (brace_dir) set but maybe top-down is easier to understand. # CZ translator # Monday August 4th 2008, Sam Watkins # The translator works by loading entire source files and processing them as a whole. # The translator is initially written in brace, a precursor to CZ, and using its libb. # Once it is fully working, the translator will be tranlated into CZ and using libcz. All apps / programs can have a GUI / TUI / audio, but all apps should work without a UI also, e.g. if GUI is detached they should keep running until explicitly killed / stopped, and it should be possible to reattach to a different GUI / TUI, possibly having different capabilities. Abstract / generic / modular as much as possible. 2011/01/06 14:43 Thu for Cz / Vlisp - use temp vars, not complex expressions