Aranha repository layout
The idea of this page is to rough out the layout of the [arch] repository in which Aranha will reside.
Notes
Aranha cribs code from two major places. Firstly the Lua 5.1 tree. Into which we will be adding several changes which while they could stand-alone and be useful to others, really they will be for Aranha. (You can find those .LanguageModifications on the Wiki) Secondly Aranha will be cribbing code from (although not using in its entirety) the FastCGI? devkit.
Aranha will comprise three major modules.
Aranha Brancowill be the actual language implementation. Based on [Lua] (5.1 most likely) but with several language changes documented on the .LanguageModifications page.Aranha Azulwill be the core. It will provide everything which cannot be left to extensions. This is things like the FastCGI? listener, the cache system and the core request model.Aranha Azulwill also contain the class system and other fundamentals which are compiled into the executable.Aranha Verdewill be the system modules. They will be implemented as extensions and also module-type wrappers for all the functionality presented by the core. Since the very core of Aranha will have to fire off the request handling in the Lua land at some point, thearanha.requestmodule offers the a method to do this. You *can* override it from the Lua end during the preload phase, but we'd recommend against it.Aranha Verdealso contains things like the make system tools and compiler subcommands for the system.Aranha Vermelhawill be the vendor-supplied extension modules. These are implemented exactly how a user might implement a module for distribution. They will contain things such asaranha.dbi.coreandaranha.dbi(OO variant on the top). Alsoaranha.gd2andaranha.md5. All modules supplied inAranha Vermelhawill be in thearanha.*namespace. This namespace is reserved for the Aranha team.
The three modules together will comprise Aranha.
The first two modules will need each other in order to build. Or rather, Aranha Azul and Aranha Verde must reside in the same tree in terms of building. The actual link is purely that Aranha Verde will need to be compiled by the compiler built in Aranha Azul and that Aranha Azul will need the results of compiling Aranha Verde in order to produce the final aranha.fcgi binary.