Glossary
Some terms used in the Tatin documentation
- beta
-
A package with a text description in its patch.
(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
- Contrary to normal usage, a dependency of a package
foo
is another package on whichfoo
depends. - 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
, theedit
flag 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-alpha-1 ⍝ beta apltree-Foo-1.0.2-alpha-1+127 ⍝ beta
- 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 Library
- A child folder
Maintenance/
of the the Tatin server installation folder, containing maintenance scripts. - 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:
#._tatin
and⎕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
#.MarkAPL
containing 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 its URL.
-
Tatin is installed with
tatin
andtatin-test
as 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.3
A 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.)