A while ago I talked about persistent DSL caching. I was asked why my solution was not a builtin part of Rhino DSL.
The reason for that is that this is actually a not so simple problem. Let me point out a few of the issues that are non obvious.
- Need to handle removal of scripts
- Need to handle updating scripts
- Need to handle new scripts
Those are easy, sort of, but what about this one?
- Need to handle DSL updates
When you are in development mode, you really need to know that changing the way the DSL behaves would also invalidate any cache.
I like to keep a very high bar of quality on the software I make, and there is a fine distinction between one off attempts and reusable ones. One off attempts can be hackish and stupid. Reusable implementations should be written properly.
And no, there isn't anything overly complex here. Just time to test all bases.
Anyone feels like sumbiting a patch?