inkytonik / kiama

A Scala library for language processing.
Mozilla Public License 2.0
47 stars 15 forks source link

Drop runtime reflection in Config #4

Closed b-studios closed 4 years ago

b-studios commented 4 years ago

It appears runtime reflection is not necessary here. Dropping it removes a dependency on the Scala compiler, speeds up start-up times significantly and allows Kiama projects to be compiled ahead-of-time using sbt-native-image.

b-studios commented 4 years ago

@inkytonik why is the tag necessary? Deleting it did not affect the Effekt compiler code base and allowed me to compile it AOT.

inkytonik commented 4 years ago

Thanks for the contribution! IIRC, the type tag was necessary when using a previous version of the Scallop command-line processing library. But apparently it's not required now, so it should all go as you suggest.

b-studios commented 4 years ago

Great, thanks for merging!