File: intro.xml

package info (click to toggle)
gap-utils 0.93-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 1,504 kB
  • sloc: xml: 2,167; javascript: 155; makefile: 105
file content (170 lines) | stat: -rw-r--r-- 5,043 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
<!-- ------------------------------------------------------------------- -->
<!--                                                                     -->
<!--  intro.xml            Utils documentation            Chris Wensley  -->
<!--                                                                     -->
<!--  Copyright (C) 2015-2018, The GAP Group                             --> 
<!--                                                                     -->
<!-- ------------------------------------------------------------------- -->

<?xml version="1.0" encoding="UTF-8"?> 

<Chapter Label="chap-intro">

<Heading>Introduction</Heading>

The &Utils; package provides a space for utility functions from a variety 
of &GAP; packages to be collected together into a single package. 
In this way it is hoped that they will become more visible 
to other package authors. 
This package was first distributed as part of the &GAP; 4.8.2 distribution. 
<P/> 

The package is loaded with the command
<Example>
<![CDATA[
gap> LoadPackage( "utils" ); 
]]>
</Example>
<P/>
Functions have been transferred from the following packages: 
<List>
<Item>
Conversion of a &GAP; group to a &Magma; output string, taken from various 
sources including <File>other.gi</File> in the main library. 
</Item>
</List>
<P/>
Transfer is complete (for now) for functions from the following packages:
<List>
<Item>
&AutoDoc; <Cite Key="AutoDoc" /> (with function names changed);
</Item>
<Item>
&ResClasses; <Cite Key="ResClasses" />;
</Item>
<Item>
&RCWA; <Cite Key="RCWA" />;
</Item>
<Item>
&XMod; <Cite Key="XMod" />.
</Item>
</List>
<P/>

The package may be obtained either as a compressed <Code>.tar</Code> file 
or as a <Code>.zip</Code> file, <File>utils-version_number.tar.gz</File>,
by ftp from one of the following sites: 
<List>
<Item>
the &Utils; GitHub release site: 
<URL>https://gap-packages.github.io/utils/</URL>. 
</Item>
<Item>
any &GAP; archive, e.g. 
<URL>https://www.gap-system.org/Packages/packages.html</URL>; 
</Item>
</List> 
<Index>GitHub repository</Index> 
The package also has a GitHub repository at: 
<URL>https://github.com/gap-packages/utils</URL>. 
<P/> 


Once the package is loaded, the manual <Code>doc/manual.pdf</Code> 
can be found in the documentation folder. 
The <Code>html</Code> versions, with or without &MathJax;, 
may be rebuilt as follows: 
<P/>
<Example>
<![CDATA[
gap> ReadPackage( "utils", "makedoc.g" ); 
]]>
</Example>
<P/>
It is possible to check that the package has been installed correctly
by running the test files (which terminates the &GAP; session): 
<P/>
<Example>
<![CDATA[
gap> ReadPackage( "utils", "tst/testall.g" );
Architecture: . . . . . 
testing: . . . . . 
. . . 
#I  No errors detected while testing
]]>
</Example>
<P/>

Note that functions listed in this manual that are currently 
in the process of being transferred 
are only read from the source package &Home; (say), 
and so can only be used if &Home; has already been loaded. 
There are no such functions in transition at present.


<Section Label="sect-author-info"> 
<Heading>Information for package authors</Heading> 

A function (or collection of functions) is suitable for transfer 
from a package &Home; to &Utils; 
if the following conditions are satisfied. 
<List>
<Item>
The function is sufficiently non-specialised so that it might be of use 
to other authors.
</Item>
<Item>
The function does not depend on the remaining functions in &Home; 
</Item>
<Item>
The function does not do what can already be done with a &GAP; library function. 
</Item>
<Item>
Documentation of the function and test examples are available. 
</Item>
<Item>
When there is more than one active author of &Home;, they should all be aware 
(and content) that the transfer is taking place. 
</Item>
</List> 
<P/>

Authors of packages may be reluctant to let go of their utility functions. 
The following principles may help to reassure them. 
(Suggestions for more items here are welcome.) 

<List>
<Item> 
A function that has been transferred to &Utils; will not be changed 
without the approval of the original author. 
</Item>
<Item>
The current package maintainer has every intention of continuing 
to maintain &Utils;. 
In the event that this proves impossible, the &GAP; development team 
will surely find someone to take over. 
</Item>
<Item>
Function names will not be changed unless specifically requested by 
&Home;'s author(s) or unless they have the form 
<C>HOME_FunctionName</C>. 
</Item>
<Item>
In order to speed up the transfer process, only functions from one package
will be in transition at any given time.  
Hopefully a week or two will suffice for most packages. 
</Item>
<Item>
Any package author who transfers a function to &Utils; will become 
an author of &Utils;. 
(In truth, &Utils; does not have <E>authors</E>, 
just a large number of <E>contributors</E>.) 
</Item>
</List>
<P/>
The process for transferring utility functions from &Home; to &Utils; 
is described in Chapter <Ref Chap="chap-transfer" />.

</Section> 

</Chapter>