proj-oot-ootDevelopmentProcess


Oot's binary will be named with the version number included, with underscores delineating the major/minor/patch versions; eg 'oot1_0_0', 'oot2', etc. The distribution will also include a symlink (or executable that calls another executable, in the case of systems without symlinks) called 'oot' which refers to the most recent Oot version (eg when 'oot2_0_0' comes out, 'oot' will refer to 'oot2_0_0'); and additional symlinks for only specifying major or only major and minor versions (eg so Oot 1.0 will come with oot1_0_0, oot1_0, oot1, and oot, all of which will reference the same thing).

We recommend that no interpreted Oot script reference 'oot', rather, every Oot script should reference the specific major version that they use (eg 'oot1'); this will prevent the script from breaking when a new, backwards-incompatible Oot version is used. An effort will be made for oot to detect and warn when it thinks it has been involked via a script that directly referenced 'oot'.

Variants including minor and patch versions are provided for 'emergency use' when backwards compatibility is not maintained. This should be rare for minor versions and hopefully will never occur for patch versions.

'oot' is provided merely for convenience when typing one-liners on the commandline and when entering the REPL.

---

Rust's 'crater' and Haskell's 'stackage' tries to build large number of library packages to assess how many break under a new language version

---

on website: have pages with links to various people's tutorials

---

official library repo has a fixed license requirement (probably Apache 2, which is probably what the language will be under)

---