Language variant system

Issue #13 new
Antoine Pietri created an issue

I would like to be able to add a "variant" attribute to languages.

  • There always should be a "default" variant, so if you call the "c" language without specifying a variant you should always gate a sane default generic C behavior
  • This could be used to put versions of languages, compilators, ....

Examples of variants I can think of:

  • ('cxx', 'gcc-5.2')
  • ('python', 'cpython-2.8')
  • ('python', 'pypi')
  • ('fsharpc', 'fsharpc-4.1')

The problem I see with this approach is that we're giving more flexibility to the users but we're complexifying too much everything: if you want to use different versions of different languages, you'll have to add different paths, different packages, and this won't fit in the easy approach "everything is packaged, we just pacman -S everything and call the binaries from the paths". We'll have to add configuration for the paths of the binaries, the language description will leak in the configuration and it might become a problem.

The other option is to keep everything as part of the name. We have Python and C++, and if someone wants to add a fancy compiler he can add a 'c++14-clang' language.

Design comments on this are welcome!

Comments (0)

  1. Log in to comment