try {
CompilerResults results =
workspace.compiler().compileProgram
(proceduresInterface.innerSource(), workspace.world.newProgram(getGlobalVariableNames()),
workspace.getExtensionManager());
workspace.setProcedures(results.proceduresMap());
for (Procedure procedure : workspace.getProcedures().values()) {
if (procedure.fileName.equals("")) {
procedure.setOwner(proceduresInterface);
} else if (procedure.fileName.equals("aggregate")) {
procedure.setOwner(workspace.aggregateManager());