Open
Milestone started on Sep 25, 2024

DkCoder projects can optionally add version modules with backwards compatibility

Something like:

  • If DkHelloScript_Std.V2 is the latest version, then author can write DkHelloScript_Std.V1 to be backwards-compatible wrapper of DkHelloScript_Std.V2.
  • Can be V<semantic version so V1 is major version 1.
  • Auto-generated: DkHelloScript_Std.V1_ is the latest major version 1, and DkHelloScript_Std.V_ is latest of all versions.

It would be nice if the initial V1 does not require a V1/ subdirectory. Instead, have a special module versions__.ml that implements all of the concrete versions (ex. V1 and V2) in terms of the current library's source code. But the library signature for a given version needs to be available for separate compilation (speed!) ... they cannot be inferred from the .mli of the library tree. So, we do need V1/ and V2/ directories containing only the .mli if versions__.ml is defined.

Logic is centered in LibraryOutlines0.of_module_units

  • Work items 0
  • Merge requests 0
  • Participants 0
  • Labels 0
Loading
Loading
Loading
Loading
50% complete
50%
Start date
Sep 25, 2024
From
Sep 25 2024
Due date
No due date (607 days elapsed)
0
Work items 0
Open: 0 Closed: 0
None
Total weight
None
0
Merge requests 0
Open: 0 Closed: 0 Merged: 0
0
Releases
None
Reference: diskuv%"DkCoder projects can optionally add version modules with backwards compatibility"