occam-open-cli 5.0.29 → 5.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -30
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -7,8 +7,6 @@
|
|
|
7
7
|
- [Introduction](#introduction)
|
|
8
8
|
- [Installation](#installation)
|
|
9
9
|
- [Usage](#usage)
|
|
10
|
-
- [Versioning](#versioning)
|
|
11
|
-
- [Signatures](#signatures)
|
|
12
10
|
- [Contact](#contact)
|
|
13
11
|
|
|
14
12
|
## Introduction
|
|
@@ -87,34 +85,6 @@ In these cases `open` will recover the underlying GitHub repository from the pac
|
|
|
87
85
|
|
|
88
86
|
Both Occam and the Open Mathematics site are works in progress, as indeed is `open`. The remainder of this readme file gives some of the current thinking on versioning and so forth that has yet to be implemented.
|
|
89
87
|
|
|
90
|
-
## Versioning
|
|
91
|
-
|
|
92
|
-
Versioning is taken out of the user's hands in order to avoid problems. A package is defined as P=(V,Z) where V is the version and Z is a compressed file containing the files. Version numbers are bumped whenever packages are published, ideally according to the following rules:
|
|
93
|
-
|
|
94
|
-
* Let P be a package, namely a project that is published or about to be published. Packages are published incrementally, thus P<sub>0</sub>,P<sub>1</sub>,...P<sub>n</sub>.
|
|
95
|
-
|
|
96
|
-
* Let V(P) be the version of a package P and let V<sub>n</sub> be equivalent to V(P<sub>n</sub>). Versions are sequences (M,m,p) where M is the major version number, m the minor version number and p the patch number.
|
|
97
|
-
|
|
98
|
-
* Let ∑(P) be the signature of a package, yet to be defined, and let ∑<sub>n</sub> be equivalent to ∑(P<sub>n</sub>).
|
|
99
|
-
|
|
100
|
-
* The versions V<sub>0</sub>, V<sub>1</sub>,... V<sub>n</sub> of any package P, where V<sub>k</sub>=(M,n,p), are defined by the following formal rules:
|
|
101
|
-
- V<sub>0</sub> = (0,0,0)
|
|
102
|
-
- if ∑<sub>k+1</sub>=∑<sub>k</sub> then V<sub>k+1</sub>=(M,n,p+1)
|
|
103
|
-
- if ∑<sub>k+1</sub>⊃∑<sub>k</sub> then V<sub>k+1</sub>=(M,n+1,0)
|
|
104
|
-
- if ∑<sub>k+1</sub>⊉∑<sub>k</sub> then V<sub>k+1</sub>=(M+1,0,0)
|
|
105
|
-
|
|
106
|
-
Intuitively, if the signature doesn't change, the patch number is bumped; if the new signature encloses the old, the minor version number is bumped; otherwise the major version number is bumped. This is in line with other versioning systems such as [semver](http://semver.org/). It is again worth stressing that the version is not defined by the user nor stored in a project meta file. It will be calculated according to the above rules whenever new packages are published, in order to avoid mistakes and deliberate oversights (the author in particular being often guilty of this).
|
|
107
|
-
|
|
108
|
-
Given V=(M,m,.) and V'=(M',m',.), a partial ordering ⩽ can be defined by the following rule:
|
|
109
|
-
|
|
110
|
-
* if V⩽V' then either M<M' or M=M' and m⩽m'
|
|
111
|
-
|
|
112
|
-
Note that for the moment there is no concept of a signature, see below, thus only patch numbers are ever bumped with each new release.
|
|
113
|
-
|
|
114
|
-
### Signatures
|
|
115
|
-
|
|
116
|
-
Roughly speaking, the signature of a package would be the union of the signatures of all the rules, axioms, definitions, theorems, etc that it contains. The signature of any of these elements would completely characterise it from the outside. If two rules shared identical premises and conclusion, for example, regardless of the details of their proofs, they would have the same signature. A precise definition is less than straightforward because grammars play a role in exactly how statements, which make up premises and conclusions, can be considered to be the same. Changing an element's label would also change its signature.
|
|
117
|
-
|
|
118
88
|
## Contact
|
|
119
89
|
|
|
120
90
|
* james.smith@openmathematics.org
|
package/package.json
CHANGED