Frege/frege-interpreter

don't use explicit Global construction

Ingo60 opened this issue · 1 comments

In function standardOptions, there should be no explicit construction of a Global

It would be better to use frege.compiler.common.CompilerOptions.standardGlobal and update the thing to your liking afterwards using the record update syntax.

Reason: whenever Global or one of its sub-components changes, the FregeInterpreter code will not compile as it stands. What is worse, it won't run with a fregec.jar where I have added some additional field somewhere.

However, I think it would be possible to have that binary compatibility as long as I don't remove a field you are using. For, the getter, update and change functions should work regardless of the actual shape of the class.

This is indeed bad but I think there was a reason: standardGlobal used to be private or perhaps I wasn't just aware of record update syntax at that time. Anyway it is fixed now. Thanks for pointing it out.