
Speed up compiles and reduce dependencies
By James Sahaj, Project Manager for Synergy .NET compiler
In version 9 of the Synergy compiler, we introduced the concept of prototyping. Prototyping enables a developer to check calls against definitions of routines or classes. We have heard from many of our users that this feature alone found many bugs they didn’t even know they had in their code, catching bugs at compile time that may never otherwise have been discovered.
Since that release, we’ve made this feature more flexible. The original v9 prototype files, with a .dbh extension, contain code that looks just like the source code, minus the implementation. Because these files are text based, the compiler needs to parse the files in order to import the prototypes, which can make an application with a lot of prototypes compile more slowly and cause the compiler to use more memory. In addition, the types used in those prototypes must be fully resolved, causing additional dependencies between prototype files. This forces a developer to import potentially far more namespaces than are being used in the application.
Click here to read the full article