Added preprocessor compile option. Converted Includes to {i,Folder} format. compile should now return {module,MName} and other operations expect the module name in MName instead of the file path (e.g. analyse(MName) ).