ta0kira / zeolite

Zeolite is a statically-typed, general-purpose programming language.
Apache License 2.0
18 stars 0 forks source link

Figure out how to mitigate future C++ source incompatibilities. #33

Closed ta0kira closed 3 years ago

ta0kira commented 4 years ago

This will be important for modules that have hand-written C++ sources.

Detecting errors using version metadata would be helpful, but there also needs to be a more active approach to preventing errors.

For example, having a base module foo that gets configured to have a public dependency on foo/0.1.1, and putting the C++ sources in the latter instead of the former. (This would require the module author to have some sort of setup script or instructions.)

ta0kira commented 3 years ago

50 is going to make C++ extensions a lot cleaner. Other than that, it's expected that a new version of the compiler means recompiling existing libraries and binaries if there's a major-version update. So, as long as extensions are easy to update, the only remaining issue is how module versioning might be done, but that's something I don't even want to think about.