This is the point: recompiling FPC takes a few seconds. So plugins have no real advantage with FPC.
Not really, Florian. Unless we have the same machine as yours. I still need around 5 minutes on my i3/i5 machine.
See Marco's comment. I'am talking about the compiler only.
The plugins have real advantage in turning the compiler into something else (other than compiling of course), making use of the AST without the need to understand the other part of the compiler.
Why would you need to understand the other parts of the compiler if you use only the node tree (FPC never generates a real AST)?
Just an example from another part: Nico aka _masta_ implemented a lot of arm assembler peephole optimizations without knowing much about the rest of the compiler.
This is the point: recompiling FPC takes a few seconds. So plugins have no real advantage with FPC.
That is a strange point. Plugins should be a well defined and documented interface.
And you think this would be the case of a plugin interface? It is very likely that it changes with every version as well because the compiler supports new features.
Compiler's code is neither documented, nor defined (compiler internals can be changed in anyway). I can take compiler's code and modify it, but when the newer version come out introducing some breaking changes, then what should I do? Should I repeat all the work that I've done all over again for each new version or each new commit?
The same applies for plugins. Nobody would gurantee that a plugin interface does not change if the plugin interface has at least a certain complexity to be usefull.