Glossary¶
Some terms used in the Tatin documentation
- beta
-
A package with a text description in its patch number. It's a pre-release of a package.
(See version and examples of full package ID.)
- build number
-
Tatin assigns each version a build number, in chronological sequence.
This is not part of the version. Tatin treats two packages that differ only in build number as the same version of the same package.
(See examples of full package ID.)
- constant
- A niladic function or a variable. (Same syntax, but the former is immutable.)
- dependency
- A dependency of a package
foois another package on whichfoodepends. - flag
-
The meaning depends on context:
- In the API or configuration, a boolean; a flag is ‘set’ with 1.
- In the user commands, a parameter without a corresponding value: for example in
]TATIN.PackageConfig -edit, theeditflag is set.
- full package ID
-
A package is uniquely identified by its full package ID: group, name, and version.
Group, name and version are separated by hyphens. When shown, a build number is separated from the patch by a plus sign.
Some examples:
apltree-Foo-1.0.0 apltree-Foo-1.0.1+123 apltree-Foo-1.0.1-beta-1 ⍝ beta apltree-Foo-1.0.2-fix_708+127 ⍝ beta fixing issue 708 - fully qualified namespace
- A reference beginning with
#.or⎕SE. - Known Registries
-
Registries specified in your user settings
A registry scan searches known registries with a priority above zero, in descending order of priority.
- Maintenance Folder
- Either a child folder
Maintenance/of the Tatin server installation folder, containing maintenance scripts, or a child folderMaintenance/of the Tatin client installation folder. - package alias
- A short name you can use locally as an alternative to a full package ID. (Allows you to work with multiple versions of the same package.)
- package cache
-
A namespace that holds the contents of a package.
By convention there are two:
#._tatinand⎕SE._tatin. Both are referred to by objects in the workspace; neither should be named in your code. - package ID
-
A case-insensitive pattern for matching against full package names: the name of a package, possibly also including its group; major version number; major and minor version numbers; or major and minor version and patch numbers. Examples:
'MarkAPL' ⍝ name 'aplteam-MarkAPL' ⍝ group-name 'MarkAPL-11' ⍝ name-major 'APLTEAM-MARKAPL-12.1' ⍝ group-name-major-minor 'MarkAPL-13.1.2' ⍝ name-major-minor-patch 'aplteam-MarkAPL-13.1.2' ⍝ group-name-major-minor-patch - package space
-
The namespace in which the package is actually stored.
For example, if Tatin loads package MarkAPL 13.1.0, it creates a namespace
#.MarkAPLcontaining references to the objects in MarkAPL’s API. Those references point to objects in the package space, where Tatin puts the actual MarkAPL objects, e.g.#._tatin.aplteam_MarkAPL_13_1_0 - parameter space
- A namespace of variables representing parameters.
- Plodder
-
A generalized HTTP server, used by Tatin, based on Rumba and Conga.
For details see https://github.com/aplteam/Plodder
- registry alias
- A short name you can use locally as an alternative to the registry's URL or path.
- Tatin is installed with
tatinandtatin-testas aliases for the Principal Registry and the Test Server. - string
- A character vector, e.g.
'abc def' - strings
- A vector of strings, e.g.
'abc' 'def' - version
-
A version follows the conventions of Semantic Versioning and comprises major and minor versions (integers) and a patch, separated by periods, e.g.
1.0.3A patch is also an integer, but may be followed by a hyphen and a text description, indicating a beta version, e.g.
1.0.3-trial.A new
- major version marks a breaking change
- minor version marks a non-breaking change
- patch marks a change in implementation
(See examples of full package ID.)