Adding compiler macros and fixing some environment stuff so I can then
go fix the function selection problem
I think I may have function sorting fixed so that we dont keep searching
for functions if we already have one with a perfect match
Woo! We are in business. I am pretty sure function compilation is done
now.
I need to have a look at error handling to make sure it still works
Found some issues with the error passing from the function spec check
and compile process so I have reworked compile-form and an few other
bits so this behaves itself. All looks good so I will move back to
environments and implementing more special functions.
Functions compile! Currently this is only in %make-function so it can
use it in standard lisp, but I will add labels next.