forked from gap-system/gap
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmanualchapters
2328 lines (2297 loc) · 112 KB
/
manualchapters
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
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
classification of items:
-1 release critical, under no circumstances to be published in this form
-2 still embarrassing to publish this
-3 requires decision/discussion:
please think about such an item, add a comment how to work on it,
and assign the item to another class
-4 something missing (so feature does not exist because of lack of doc.)
-5 should be improved in the long run
-6 nice to have, usually cosmetic
% items with a star (*) behind the number involve global changes
% throughout the manual
% items are assigned to a person by putting the initials behind the number
% for items that have been done, replace "-" by "+" and put your initials
% to produce some statistics, use the following command:
% grep "^-" manualchapters | cut -f 1 -d " " | sort | uniq -c
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% When you intend to work on improving a manual chapter then
%% put your name under the ``Who'' line for this chapter
%% (initials should suffice),
%% and enter the date when you started under the ``Started'' line;
%% when you have finished the work on this chapter then enter the date
%% under the ``Finished'' line,
%% and enter comments concerning improvements that are still possible or
%% necessary under the ``Comments'' line.
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Reference Manual
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 1: Preface
% File: ./preface.xml (line 13)
% Who: Thomas Breuer
% Started: January 24, 2008
% Finished: August 06, 2008
% Comments:
+1AK Move the relevant parts to the Reference Manual,
put only a very short paragraph into the Tutorial.
Left only the introduction and then two sections ("The GAP system" and
"Further Information about GAP") reused from the preface to
the reference manual. Chapters in the "manualchapters" file renumbered.
+3cAK Copyright notice: adjust the year?
Made it automatically adjusted using the &RELEASEYEAR; entity
+3cAK Is it really a good idea to include release specific information such as
a detailed list of changes in the beginning of the Tutorial?
(This information is available on the GAP web pages,
and I could imagine a collection of changes w.r.t. older versions being
part of the Reference Manual --really as a reference-- for example as an
appendix chapter.)
I have not tried to beautify the changes list, since the next release
will anyhow have a new list.
TODO: indeed it should be an appendix,
references to this list should be updated
+2AK In the same paragraphs, the importance of packages should be emphasized
more than it is now.
(Perhaps simply add ``see below''?) and recommmend their usage
-6 Should the references to the Reference Manuals and to the web site
(for example section ``Release history and Prefaces'') be turned
into hyperlinks in the HTML version?
+2AK put a note about the temporary preface for beta release which will be
revised later
+1SL revise prefaces: check for consistency - all outdated information
must be updated. This mostly relates to ``Authors and Maintainers''
and ``Acknowledgements'' sections.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 2: About the GAP Reference Manual - REMOVED
% File: ./about.xml (line 10)
% Who: Thomas Breuer
% Started: July 27, 2009
% Finished: July 27, 2009
% Comments:
+1AK ``This is one of four parts of the GAP documentation ..''
This is no longer correct.
+1AK Add a link to the Tutorial in the HTML version.
+1AK ``This manual is divided into chapters. Each chapter is divided into
sections and, within each section, important definitions are numbered.
References are therefore triples.''
Better state that the manual is divided into chapters, sections, and
subsections; this is mentioned also in the chapter about the help system.
+1AK ``in each of the four manuals''
+1FL+MN Resolved by deleting this section! I don't think that any
explanation of this kind is necessary, all of this is self-explanatory
when one reads the manual. (FL)
Manual Conventions:
The statements about boldface, italics, monospace font are not correct.
(And in the old version, the examples were not shown as intended.
Also the description of `Oper', with certain single letters at the end of
the line, is no longer correct. (And again, the old example was wrong.)
adjust to the current situation!
+5FL+MN Became irrelevant because of solution of previous point. (FL)
Several instances of ``in the printed manual'' must be changed.
Note that the old manual was essentially a TeX document --this defines the
term ``printed manual''-- which was used to produce also the online help
and an HTML version; so the PDF (or DVI) version was regarded as the most
important format of the manual.
I don't think that this belongs here. In the beginning there is the
sensible hint to start reading about the help system. (FL)
The new manual should express that there is one source text which is
processed to obtain three variants, and that each format has its strengths
and its limitations.
One such aspect is the way how formulas are shown.
The formulation in the old manual is not very useful:
I would regard the appearance of symbols as equally important as the
appearance of subscripts and superscripts.
+1AK Shouldn't the general information parts from the Preface of the Tutorial
better be moved to the Reference Manual? (yes)
TODO: all preface should go to the beginning of the reference manual
(except list of changes which should go to the appendix). Sections 1.1
and 1.5 of it should be also reused in the tutorial (using INCLUDE
directives in GAPDoc).
+3c ``Pages are numbered consecutively'' --omit this in the HTML version?
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 2: The Help System
% File: ./help.xml (line 12)
% Who: Thomas Breuer
% Started: July 23, 2009
% Finished: July 24, 2009
% Comments:
+2FL Invoking the Help:
``dvi files (produced by &TeX;)'' --replaced by LaTeX
Removed, we no longer (need to) support dvi, use pdf (which often has
hyperlinks).
+2FL Browsing through the Sections:
- ``?< displays the section preceding the previously shown section,
and ?> takes you to the section following the previously shown one.''
--This is not true for GAPDoc format manuals, here the help is subsection
oriented, i. e., if one asks for a particular topic then the corresponding
subsection is opened (not the beginning of the section that contains this
subsection), and if one goes further with ?> then the help is opened at the
following subsection.
changed to "section or subsection"
(This holds also if one has used the pager facilities for moving forwards
to the end of the whole chapter, say.)
GAP cannot know what a user did in his/her (external) pager
- ``?<< takes you back to the first section of the current chapter,
which gives an overview of the sections described in this chapter.''
--Is this really true for all chapters? (Would it be useful to state this
as a rule for writing documentation?)
removed the "overview" statement
+2FL The description of the commands ``?[book:]sections'' and
``?[book:][chapters]'' is not sufficient.
If no book is prescribed then the table of contents of the first book is
shown, quitting the help leads to the table of contents of the second book
and so on.
What is the difference between ``?sections'' and ``?chapters''?
What is the difference between ``?IO:'', ``?IO:sections'', ``?IO:chapters''?
For GAPDoc books there seems to be no difference,
mentioned that for some books ?sections and ?chapters may show the
same full table of contents
that ?IO: and ?IO:chapters are the same was already in the description
for other book such as the book for the `Hopf' package,
there are a ``Table of Chapters'' and a ``Table of Sections''.
yes both were generated with the old style manuals
(BTW, shouldn't it be ``Contents'' rather than ``Content'', in the text of
this section as well as in the displayed help pages?)
it seems that "Content" only occurs in manuals generated by old
versions of GAPDoc, so this is already fixed
+2FL Changing the Help Viewer:
+FL ``dvi: The standard output format of &TeX;. Only useful if &TeX; is
installed on your system.'' --Is &TeX really needed for using xdvi?
removed the 'dvi' and 'ps' parts from the description, we now only
provide pdf
- ``HTML: ... Some books use special symbol fonts for formulae and
need an appropriate web browser for correct display.'' --Which book
formats use symbol fonts? And in this case, is the choice of the browser
the problem or the browser configuration (see below)?
made a bit clearer and put the remark in parentheses (in my eyes
one has to "misconfigure" the browser to display these symbol fonts,
so will not provide more details
+2FL SetHelpViewer:
- ``Furthermore the terminal (window) should use a fixed width font and
we suggest to take one with <C>ISO-8859-1</C> (also called <C>latin1</C>)
encoding.'' --Is this still true?
now suggest terminal with UTF-8 encoding (which is the default on
all modern systems anyway)
- ``Note, that for some books the browser must be configured to use symbol
fonts.'' --Does this hold only for non-GAPDoc books? (Be specific!)
put in parentheses with the formulation "some old manuals"
- Related with the item above:
``Formulae which use symbol fonts may be unreadable.'' --Tell in which
formats symbol fonts may appear.
also put in parentheses
+AK Why must TeX (LaTeX?) be installed in order to use xdvi?
FL: you need the fonts, they are not contained in a dvi-file
(contrary to pdf-files)
removed mentioning the help viewers 'xdvi'
removed remark on font configuration for 'xpdf'
+5*AK Pager:
Heading ``Example'' above an <Example> element?
(check in the whole manual whether ``Example:'' occurs immediately
above an example!)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 3: Running GAP
% File: ./run.xml (line 18)
% Who: Thomas Breuer
% Started: January 24, 2008
% Finished: September 04, 2008
% Comments:
-6* unified kilobytes vs. KBytes vs. Kilobytes (same for mega and giga),
should be consistent throughout the manual (semi-automatic)
What's the preferred form??? kB, Kb, Kbytes? Not KB=Knuth-Bendix, of course.
+6*AK unified `ctr-C', `ctrl-C' etc. (with various <C> and <A> markup)
to <B>Ctrl-C</B>, should be consistent throughout the manual
+2*AK Are the following statements about the command line options `-m' and `-o'
correct:
``Under UNIX the default amount of memory allocated by &GAP; is 24 MBytes.''
``Under UNIX the default amount is 256 MBytes.''
(Is it reasonable at all to mention the values in the text,
i.e., wouldn't it be better to point to those components in `GAPInfo'
where the current values --not only the default values-- can be looked up?
Note for example that the script for starting GAP may involve a different
default.)
best: write a sentence that one should start GAP and look at GAPInfo.<something>!
AK: removed defaults for -m and -o. The manual already refers to GAPInfo as
to the source of such information.
+2*MN The section `Command Line Options' mentions GASMAN, malloc, sbrk,
and the GAP compiler; is this still correct?
--> I have looked at this, all is still correct.
Or do we want to withdraw the compiler for 4.5? I think not!
+6AK Should the command line options be sorted alphabetically?
+6AK The section about the Mac mentions menus; should the menu entries be
marked using <C> elements (as currently) or better using <B> elements?
AK: this is ignored since the whole section about MacOS was removed.
+2AK The section about the Mac states
``Presently, &GAP; for MacOS also supports Mac path names, but this may
change in the future.'' --what is the status here?
AK: this is ignored since the whole section about MacOS was removed.
+1*TB Is the file `.gaprc' really read *after* `lib/init.g'?
We have to change and document the setup.
[This has been done as a part of the recent startup rearrangement.]
+1TB If it is really still meaningful to support both GAP 3 and GAP 4 in one's
`.gaprc' file, why is such a complicated example needed?
Reading one of the two files depending on some distinguishing value
would be natural, so why should one use `Exec' and `echo', and then read
a file `/tmp/jJj'?
(And why is the alternative restricted to UNIX systems? Very strange!)
[This has been done as a part of the recent startup rearrangement.]
+3c*TB I would say that using a workspace should be the recommended way
to speed up the startup of GAP.
This chapter, however, advertises completion fles (``reduce the startup
time of &GAP; drastically''), and the section on workspaces does not
mention the speedup at all.
Proposal: Move the section on completion files to the end of chapter 3 and
bring the section on saving a workspace earlier. Add text recommending saving
a workspace and saying that completion files may be withdrawn in the future.
[Chapter 3 has been rearranged according to the proposal.]
+1AK Why ``The most tempting code to compile is probably the library''?
change descr. of GAC: used only for compiling kernel modules from C code in
packages; put this into a chapter on developing packages
AK: - Sections on suitability for compilation and compiling the library code
moved to the GAP.dev manual.
- The rest of the GAC description moved to the chapter on developing
packages, revised and restricted to cover only kernel modules.
-5 In the future, the Example package may also contain an example of the
kernel module and the documentation of the parts of the kernel interface
(some of which is already documented in the GAP.dev manual)
+1SL: check how gac works with GMP when GAP code being compiled
contains large integers (the solution would be to generate four #ifdefs
for various modes (32/64-bit, with/without gmp). Done: fixed by Steve.
-5 cross-ref. to undocumented `READ_GAP_ROOT'.
+1TB Admit loading packages that have been installed newly after the GAP
session started; in particular, admit loading packages that are not
known in a given workspace!
[This has been done as a part of the recent startup rearrangement.]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 4: The Programming Language
% File: ./language.xml (line 12)
% Who: Thomas Breuer
% Started: January 24, 2008
% Finished: November 09, 2008
% Comments:
-6 Turn the various lists of special words into tables?
Or better make them accessible as lists of GAP strings?
-5 What exactly is a keyword? The statement that this is ``a reserved word''
in section ``Symbols'' does not say anything.
And after an explicit list of ``the'' keywords,
another list of ``keywords because of technical reasons'' is shown,
which is confusing.
Also confusing is the statement: ``The only consequence of this is that
those identifiers cannot be re-assigned, and ...''
However, we have also the feature that ordinary identifiers can be
protected from overwriting, so this is not a meaningful criterion.
-5 In section ``Identifiers'', it is emphasized that `\*' is an identifier
and not a keyword.
This suggests that `*' in fact is a keyword. Is it?
+2AK Another confusing topic: On the one hand, it is stated that keywords
cannot be used as identifiers, but on the other hand, the function
`IsValidIdentifier' returns `true' for the input `"if"'.
(If there is a finite list of keywords then having this as a list stored in
a component of `GAPInfo' would make it possible to use it in
`IsValidIdentifier'. And also code for improving GAPDoc documents could
benefit from that.)
This information is now provided by a kernel function ALL_KEYWORDS,
so IsValidIdentifier can be updated. SL (AK: IsValidIdentifier updated,
now returns `false' for `"if"'; manual has been updated, now the list
of keywords is produced from newly added GAPInfo.Keywords component.
-5 Once again identifiers:
``An identifier usually consists ...'' is not a sensible formulation for a
definition, which one expects in the section ``Identifiers''.
(There are several such vague formulations where precise statements would
be desirable.)
-6 Several sections show syntax constructs which cannot be expressed using
<ManSection> (and <A>) elements, for example `<A>function-var</A>()',
`<A>left-expr</A> = <A>right-expr</A>', `<A>procedure-var</A>();'.
How to deal with this?
(Moreover, there are some cases where the ``declaration line'' does not
fit onto one line.)
-6 Section ``For'' contained a piece of pseudo code, distinguishing
keywords and constants from variable names.
How to write this in GAPDoc?
-5 What is the `continue' statement good for?
(At least the example shown is not striking.)
+5*MN Is the comparison with PASCAL up-to-date?
(several occurrences; replace by self-contained descriptions,
without referring to PASCAL or so!)
--> Done.
-5 The section ``The Syntax in BNF'' was commented out.
(``A few recent additions to the syntax may be missing from this definition.''
What is a definition good for that is by definition not correct?
And the table in this section is too long; the lower part is not visible,
and one gets a lot of LaTeX error messages when processing the manual.)
It would still be desirable to have a correct definition of the GAP syntax.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 5: Functions
% File: ./function.xml (line 12)
% Who: Thomas Breuer
% Started: January 24, 2008
% Finished: September 24, 2008
% Comments:
+2AK some examples missing. AK: added more examples.
-4 missing: STARTLINE_FUNC etc.
AK: StartlineFunc is already documented. What else is missing?
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 6: Main Loop and Break Loop
% File: ./mloop.xml (line 10)
% Who: Thomas Breuer
% Started: January 24, 2008
% Finished: September 21, 2008
% Comments:
-6* read-eval-print or read-eval-view?
-5MN We provide `ViewObj', `PrintObj', `Display', `String';
where do we state which of these operations may delegate to others?
(There is also the undocumented function `DisplayString'.)
TODO: write the proposal and discuss in gap-dev:
Display > ViewObj > PrintObj > DisplayString > ViewString > String
may delegate only to things after you in this order. For very large objects
makes sense have a PrintObj method as well as String to save memory.
--> This is done and documented. Discussion on gap-dev needed.
--> Proposal sent.
--> Additional question: Do we really want that a name of an object
overwrites the PrintObj methods??? Perhaps it should overwrite ViewObj
and not PrintObj
+2AK The variables `last', `last2', `last3' are documented in the Tutorial,
there is an index entry for `last' in the section ``Main Loop''
but nothing else in the Reference Manual about `last', `last2', `last3'.
These variables should get a proper documentation in the Reference Manual.
AK: there is already an example in this section involving all `last',
`last2' and `last3'. I've added index entries for `last2', `last3' to
the reference manual.
-5AK Section ``View and Print'' ends with a paragraph on `SetName'.
But this function is documented in Chapter ``Objects and Elements''.
+3cAK Can someone explain why ``DownEnv moves *up* nr steps''?
(The statements about this are confusing, so they do not fit into a Reference
Manual.)
This is clarified now, using output of Where as mnemonic.
Also heading is used for better ManSection title.
+3cMN Section ``Editor Support'': Why is the following statement commented out?
``Send comments and suggestions to Frank.Luebeck@Math.RWTH-Aachen.De''
(Better suggest to contact support@gap-system.org also for these issues?)
Agreed.
+5FL Infos on command line history is now available with
'?The command line history'
including new commands to save and read the history.
Is section ``Line Editing'' still correct?
E. g., is the command line history really limited to about 8000 characters?
An easy tests shows that 8000 characters is not a limit, but it's not clear
if a bigger limit exists (AK removed 8000 limit already, asked Frank for
further updates)
+3cMN Shouldn't the global variable `EDITOR' be turned into a component of
`GAPInfo'? YES
(Document the default for `EDITOR'?
Does it make sense to suggest `/usr/ucb/vi'?)
GAPInfo.EDITOR should default to the environment variable $EDITOR and
probably to fail (or something that gives a sane error message) otherwise.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 7: Debugging and Profiling Facilities
% File: ./debug.xml (line 12)
% Who: Thomas Breuer
% Started: January 24, 2008
% Finished: September 21, 2008
% Comments:
+3aAK Should `START_TEST' and `STOP_TEST' become documented?
Added a section after the ReadTest section. Made it clear they are optional.
+3cMN Turn `PROFILETHRESHOLD' into a component of `GAPInfo'?
Yes
Done, in obsolete: PROFILETHRESHOLD still available for
(partial) backward compatibility.
+2AK: Fill the section "Information about the version used" with content
Done, referring to GAPInfo.Version
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 8: Options Stack
% File: ./options.xml (line 11)
% Who: Thomas Breuer
% Started: July 23, 2009
% Finished: July 23, 2009
% Comments:
+3c ``At some time, an options predicate or something of the kind may be added
to method selection.''
Is this still intended? NO -- remove
Explain that (currently) options are ignored by the method selection;
only arguments of the function call are evaluated by the method selection.
NO NEED
+3cMN Clarified.
``An alternative to this system is the use of additional optional arguments
in procedure calls. This is not felt to be adequate because many procedure
calls might cause, for example, a coset enumeration and each would need to
make provision for the possibility of extra arguments. In this system the
options are pushed when the user-level procedure is called, and remain in
effect (unless altered) for all procedures called by it.''
This is misleading: Additional optional arguments ARE used in most places,
and in fact they are a clean way to transfer parameters to subroutines,
whereas global options are in danger to be overwritten by someone else
who tries to use the same mechanism.
(I think optional arguments should be preferred to global options whenever
one designs new code.)
In my eyes, global options are a convenience not for the user but only for
the programmer, in the situation that (s)he wants to carry a new parameter
from a top level function to a low level function (a new method, say)
without changing the intermediate function calls.
The best reason for using global options in such a situation is that one
simply cannot change the existing GAP library code that does not know about
the new parameter.
(I admit that I do not like global options at all, in particular the
extended function call syntax.
In my eyes, this mechanism works only because it is used rarely.
If it will become more popular then eventually it will break its own
functionality.)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 9: Files and Filenames
% File: ./files.xml (line 17)
% Who: Thomas Breuer
% Started: January 24, 2008
% Finished: September 24, 2008
% Comments:
-6* unify ``read-eval-print loop'' vs. ``read eval view loop''
-6* unify ``an error is signalled'' etc.
+2AK* Section `PrintTo':
Is the ``operating system dependent maximum on the number of output files
that may be open simultaneously'' still usually 14?
(Section `Read' claims that it is usually 15.)
The truth is that in scanner.c the limit is set to 16, and 15 of them
are available, and this is not an operating system dependent.
-3*TB Document GAPInfo. -- Suggest in Chapter 3 (but not necessarily all
the fields)
Here, `Directory' mentions `GAPInfo.UserHome'
-- turn this into a <Ref> as soon as the component gets documented.
Which components shall be documented?
+3c `DirectoryCurrent': comment
``THIS IS A HACK (will not work if SetDirectoryCurrent is implemented)''
Not a problem -- SetDirectoryCurrent must update GAPInfo.DirectoryCurrent
+3c `DirectoriesLibrary' lists "lib", "grp", "prim" and so on as admissible
arguments; after reorganizing the data libraries, for example "prim"
will not be admissible; list the admissible values in a GAPInfo component?
For documentation -- change examples to ones that are stable: lib, src & doc
-6 Maybe do GAPInfo thing as well.
AK: not clear what does this comment mean.
+3c cross-reference to `GAPInfo.RootPaths' -- turn this into a <Ref> as soon
as the component gets documented.
(definition of the function: change this to return an empty list instead
of raising an error if no such directory is found) -- NO
+2AK cross-reference to undocumented function `IsDirectory'
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 10: Streams
% File: ./streams.xml (line 18)
% Who: AK
% Started: January 25, 2008
% Finished: January 27, 2008
% Comments:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 11: Processes
% File: ./process.xml (line 16)
% Who: AK
% Started: January 28, 2008
% Finished: January 28, 2008
% Comments:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 12: Objects and Elements
% File: ./objects.xml (line 15)
% Who: Thomas Breuer
% Started: January 24, 2008
% Finished: September 24, 2008
% Comments:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 13: Types of Objects
% File: ./types.xml (line 11)
% Who: Thomas Breuer
% Started: January 24, 2008
% Finished: October 05, 2008
% Comments:
-5 cross-ref. to undocumented variable `FamilyOfFamilies'
-5 How to introduce a `ManSection' for the `and' of filters?
(see also chapter `Booleans')
+3c strange statements such as ``All attributes in the library are created
during initialization, in particular they are not created dynamically
at runtime.'' --of course one can create any filter at any time,
the term ``initialization'' does not make sense.
(What is really meant with that?)
+3c Shall we give up type data (see `DataType')?
Max: PLEASE NOT! I am using it in a package! (cvec)
Why get rid of it? It is used.
No: Leave it.
+2AK Many <C>...</C> elements may be converted to cross-references
(AK: Done, except four basic representations of GAP objects which do
not have separate mansections).
-5* Many <Ref> elements use "Func" instead of "Filt", "Oper", "Attr" etc.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 14: Integers
% File: ./integers.xml (line 12)
% Who: AK
% Started: 8 January 2008
% Finished: 21 January 2008
% Comments:
-4AK There are undocumented variables mentioned in <C> elements:
FactorsRho, MAXSIZE_GF_INTERNAL, and well described but not documented
in separate ManSections variables Primes2, ProbablePrimes2,
IsZmodnZObjNonprimeFamily, IsFFEFamily, RandomSourcesFamily
+4JS The <Description> for the documented function `PrimalityProof' is empty.
Jack Schmidt promised to look into this.
-5 The documentation of IsPrimeInt should be adjusted to the current
implementation (the bounds should be updated to the actual state-of art)
+5*MN,FL This is now supported and documented as extension of the
Arg attribute in <Func > and so on. (FL)
GAPDoc issue:
How to display options in Arg? (see e.g. in FactorsInt, where we obtain
FactorsInt(n[, :RhoTrials:=trials]), so the comma may be confusing).
-4* There are ManSections combining several definitions. I added labels where
applicable to avoid multiply defined labels, and it was enough for that
purpose; however, names of such ManSections might be revised (for example),
14.6.3 "State" unites definitions of "State", "Reset" and "Init".
GAPDoc offers optional "Heading" element for such ManSections.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 15: Number Theory
% File: ./numtheor.xml (line 12)
% Who: AK
% Started: 14 January 2008
% Finished: 21 January 2008
% Comments:
+3c (by TB) The section `Sigma' states ``the known 44 Mersenne primes''
--meanwhile two more Mersenne primes have been announced.
So is it wise to have such a statement at all?
(Better refer to a web page with info about Mersenne primes?)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 16: Combinatorics
% File: ./combinat.xml (line 12)
% Who: Thomas Breuer
% Started: January 24, 2008
% Finished: October 05, 2008
% Comments:
-6 Perhaps the sections should be reorganized (join the `NrSomething' stuff
with the `Something' stuff).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 17: Rational Numbers
% File: ./rational.xml (line 11)
% Who: Thomas Breuer
% Started: January 24, 2008
% Finished: October 05, 2008
% Comments:
-5 I still think that having numerator and denominator separately is
conceptually not clean, one should have an operation that returns a pair.
Yes, one should add an operation NumeratorDenominatorRat returning
a pair.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 18: Cyclotomic Numbers
% File: ./cyclotom.xml (line 17)
% Who: Thomas Breuer
% Started: January 24, 2008
% Finished: October 05, 2008
% Comments:
-6AK `Int' and `RoundCyc' should be nearer to each other,
with a cross-ref. if necessary
+2AK cross-ref. to undocumented variable `CyclotomicsFamily'
(AK: added CyclotomicsFamily to the index. Note that we often do not
document families)
-4 section ``Internally Represented Cyclotomics'' mentions that
the conductors of internal cyclotomics are restricted to small integers,
and refers to `IsSmallIntRep', which is undocumented;
also, an example demonstrates that 2^28 is not a small integer,
which is not necessarily true
Yes: IsSmallIntRep should be documented in the integers chapter.
Maximal values for both 32bit and 64bit should be given.
Here, there should the statement that the conductor is a
IsSmallIntRep and a reference but no example.
AK: IsSmallIntRep is no longer mentioned anywhere in GAP manuals. If we
want, we may document it later, but this is not urgent at the moment.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 19: Floats
% File: ./floats.xml (line 12)
% Who:
% Started:
% Finished:
% Comments:
+1LB This chapter is merely a placeholder for the beta version of GAP 4.5.
It should be filled with a real content.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 20: Booleans
% File: ./boolean.xml (line 12)
% Who: Thomas Breuer
% Started: January 24, 2008
% Finished: October 05, 2008
% Comments:
+6AK GAPDoc issue:
How to introduce a `ManSection' for `and', `or', `not', `<>'?
(see also chapter `Types of Objects')
For the operators `=' and `<', one can instead talk about the operations
`\=' and `\<', but this is perhaps also not really what one wants.
AK: I've decided to leave `Types of Objects' as it is. As for `Booleans',
I introduced new Subsections making the text more structured. They meant
to be analogs of `ManSection', though their display style is different
from a proper `ManSection'.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 21: Lists
% File: ./lists.xml (line 12)
% Who: Thomas Breuer
% Started: January 24, 2008
% Finished: October 19th, 2008
% Comments:
-4 `IsInternalRep' is mentioned but not documented.
-6 These and the next point could be done with Subsections and some
sensible Index entries.
Actually, 'list[ pos ]' is a shortcut for '\[\](list, pos)' which
can be documented with a standard ManSection. (Similar for the other
cases below.) (FL)
Looking at that Chapter, maybe this point can be marked +?
GAPDoc issue:
In the section ``List Elements'', the notation `list[ pos ]' is
introduced, which cannot be used in `ManSection';
how to write this down?.
Similar questions arise with `list{ poss }', `list[ pos ] := object',
or `list1 = list2', `list1 <> list2', `list1 < list2', `list1 <= list2'.
-6 GAPDoc issue:
The `ManSections' about `IsBound' and `Unbind' for lists show the argument
`list[n]', which can be interpreted as a contradiction to the syntax for
optional arguments.
(GAPDoc turns this into list[, n] --viewed as optional argument!)
(The optimal solution would be to introduce, recommend, and document
a two-argument syntax for these operations.)
+2AK The documented function COPY_LIST_ENTRIES should not be written with
capital letters only (and the declaration line is too long, and looks ugly).
Declared a synonym and used shorter argument names in the manual.
+2*AH,AK very long lines in examples in ``Comparisons of Lists''
What is the recommended line length for manual examples?
Immediate in-place fix done.
It turns out that 79 characters is the maximum possible in the PDF
version and 75 for the online version. In HTML this depends on the
size of the browser window.
(This was done by Frank on a systematic basis)
-5 There is a section title ``Comparisons of Lists'' and an index entry
``comparisons!of lists'' (i.e., ``of lists'' is a subkey);
the idea behind the index entry is that several subkeys will appear
under the index entry ``comparisons''.
A side-effect is that the online help finds two matches, one for the
section and one for the index entry, which point to the same place.
How to deal with this?
+3c*MN It is confusing to use `last' as the name of an argument, but this
occurred in some functions for ranges;
which better name could be used?
Also, should we better generally *forbid* assigning to `last', `last2' etc.?
(Also `rec' should not be used as the name of an argument in the
documentation; GAP does not admit `rec' as an argument name!)
And should `last', `rec', and other dangerous names be forbidden in
<A> elements?
Yes, replace it.
Done for rec. We keep "last" since it does not show up in Arg="..."
but only in constructions like [<A>first</A>..<A>last</A>] which
is OKish.
Leave the decision whether it is forbidden in GAPDoc to the GAPDoc
authors.
-5 If ranges will be generalized in GAP 4.5,
the restrictions on bounds and length of ranges have to be dropped.
Yes, adjust the documentation once this is actually implemented.
+3c `PositionSorted': The old documentation contained the statement
``we catch plain lists by a function to avoid method selection'',
which I think was not intended for the manual and therefore was removed.
Make it a comment to the code rather a comment to the documentation.
+2AK `PositionSortedOp' is mentioned but not documented,
but actually there is a comment in the PositionSorted section.
AK: added index entry for PositionSortedOp
+2*FL GAPDoc problem: Entering `?List' now opens the entry for GAPDoc's <List>
element (the only exact match since the function `List' now has two
variants with labels)
[This is also a problem for `IsDocumentedFunction'.]
(MN to ask Frank)
-6 `ListX' documentation:
how to write down formatted/indented pseudo code, with comments
in ordinary text, with <M> and <A> elements etc.
-3 `lists.xml' contains a section ``More about Sets'' from the GAP 3.4 manual
that was commented out already in the 4.4 manual.
What to do with this text?
--> Take out the relevant parts of this and put it into section
"Sorted Lists and Sets"
However: Do we want to document the TNUM business storing
denseness and sortedness???
+3c (AH) The sentence ``Currently &GAP; uses shellsort.'' in section
``Sorting Lists'' looks strange.
(In which *methods* is shellsort used?)
-5 Mentioned undocumented functions `UnionSet', `IntersectionSet' from
coll.gi, which are also methods for more general operations `Union' and
`Intersection'. It may be worth to document them properly.
-3 why is IsRange a category not a property?
(clean up IsRange vs. ConvertToRangeRep?)
--> Fix together with the ranges.
Note that IsRange on Plain lists works and can silently change
the representation to range representation.
--> Rethink when we have more general ranges.
-4 ``cross-references'' to undocumented variables `IsGF2VectorRep',
`Is8BitVectorRep', `IsGF2MatrixRep', `Is8BitMatrixRep' in the docum. of
`IsListDefault'
-4 ``cross-reference'' to undocumented variable `IsZeroCyc' in the docum. of
`Position'
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 22: Boolean Lists
% File: ./blist.xml (line 11)
% Who: Thomas Breuer
% Started: January 24, 2008
% Finished: October 19th, 2008
% Comments:
-3 missing description of the internal representation of *plain* lists;
only compared to this, the description of blists is meaningful.
(There is a comment on this in `blist.xml'.)
+3cMN It is not reasonable that calling `IsBlist' silently changes a list to
the compact blist representation; instead, there should be
`ConvertToBlistRep'; `IsBlist' should just check, not convert.
--> Yes, provide and document ConvertToBlistRep, visit all occurrences
of IsBlist in the library to see whether they need to be changed
to ConvertToBlistRep. ConvertToBlistRep should give an error if
the list is not a Blist and do nothing if it is already IsBlistRep.
Make IsBlist not silently change its argument rep.
This is already done!
Note however: l := [true,false,true]; does automatically create
a compact IsBlistRep!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 23: Row Vectors
% File: ./vector.xml (line 12)
% Who: Thomas Breuer
% Started: January 24, 2008
% Finished: October 19th, 2008
% Comments:
-4 crossref. to undocumented `IsLockedRepresentationVector'
+3cAK `CoeffsMod': what is the meaning of the argument `len1'?
AK: added that if the optional argument <A>len1</A> is used,
it reduces only first <A>len1</A> elements of the list.
+3cAK `ProductPol' is marked as obsolete -- remove it (and also its comment
lines in `vector.xml'?
AK: `ProductPol' and its description moved into "obsolete.g{d,i}".
Checked that it is not used/documented.
+3AH,AK What is the difference between `ShrinkCoeffs' and `ShrinkRowVector'?
(Wouldn't one of them be enough?)
Get rid of ShrinkCoeffs and replace all occurrences by ShrinkRowVector
which has the better name.
AK: ShrinkCoeffs moved to obsolete.{gd,gi}.
-6 (cf. chapter ``Lists'')
several descriptions of infix operators that cannot be handled with
<ManSection>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 24: Matrices
% File: ./matrix.xml (line 12)
% Who: AK
% Started: February 01, 2008
% Finished:
% Comments:
-5 In section ``Duplication of Lists'', introduce subsections about
``ShallowCopy for lists'' and ``StructuralCopy for lists'';
then the respective section for matrices (and others) can refer to these
subsections.
+3bMN Is the statement that all matrices are lists still correct?
--> Added a comment in this Chapter referring to the new chapter
about vector and matrix objects
-4 IsBlockMatrixRep is not documented, only included into index
-4 IsLockedRepresentationVector is neither documented nor indexed
+3bSL (by TB:
The docum. of `ConvertToMatrixRep' states: ``In general, it is better to
call <Ref Func="ImmutableMatrix"/> instead since this function can also
deal with mutable rows or rows locked in a wrong representation.''
So why is `ConvertToMatrixRep' useful at all?
(Because it is working in place?)
Reordered documentation to make clear that ConvertToMatrixRep is
a more technical internal alternative to ImmutableMatrix.
+3bSL/MN (by TB:
What is the status of the following statement:
``We plan to include greased blocked matrix multiplication for other
finite fields, and greased blocked algorithms for inversion and other
matrix operations in a future release.'')
Still reasonable statement I think. SL
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 25: Integral matrices and lattices
% File: ./matint.xml (line 13)
% Who: Thomas Breuer
% Started: November 09, 2008
% Finished: November 09, 2008
% Comments:
+3cSL commented out declaration lines for `DiagonalizeIntMatNormDriven',
`SNFNormDriven', `SNFofREF', `HNFNormDriven'
--are these functions obsolete?
I think so. There may be obscure cases where they are faster, but I don't
know what. SL
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 26: Vector and matrix objects
% File: ./matobj.xml
% Who: Max Neunhoeffer
% Started: February 16, 2011
% Finished: ???
% Comments:
This is a completely new chapter.
-4MN needs to be completed from stuff in lib/matobj1.gd and lib/matobj2.gd
-2MN has 5 empty subsections and contains: `FIXME: Collect all rules here.'
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 27: Strings and Characters
% File: ./string.xml (line 12)
% Who: Thomas Breuer
% Started: January 24, 2008
% Finished: October 19th, 2008
% Comments:
-4 Section ``Printing Strings'': document the special characters \<, \>
+3c just for curiosity: what does ``many English countries'' in Section
`DayDMY' mean?
--> Changed to "English speaking countries"
-4 crossref to undocumented `IsPlistRep'
-6 (cf. chapter ``Lists'')
descriptions of infix operators `=' and `<>' that cannot be handled with
<ManSection>
+3cAK Why are `INT_CHAR', `CHAR_INT', `SINT_CHAR', `CHAR_SINT' written in
uppercase?
--> Call them additionally IntChar etc. and document them as such.
Remove comment about internal behaviour.
Proper error management is already in place.
+3cAK Shouldn't the section ``Obtaining LaTeX Representations of Objects'',
together with the functions `LaTeX' and `LaTeXObj', be removed?
(These functions are not documented in GAP 4.4.)
These should be documented conservatively.
Actually they are documented (but not in the library source file
but only in doc/ref/string.xml).
AK moved their documentation from doc/ref/string.xml to the library source.
This functionality is used in RCWA, NQL, NilMat packages.
Status update by AK (02/10/2010):
- moved TeXObj, LaTeXObj to obsolete.{gd,gi}
- removed their description from string.xml and replaced it by a new text
- moved all LaTeXObj method installations (from matrix.gi, ratfun.gi,
rational.gi, wordlett.gi) to obsolete.gi
- inserted index entries to the documentation of all LaTeX string producing
functions
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 28: Dictionaries and General Hash Tables
% File: ./hash2.xml (line 13)
% Who: Max Neunhöffer
% Started: January 29, 2008
% Finished: February 8, 2008
% Comments:
(This chapter was moved from the "new" manual to the "ref" manual since
the last release.)
+2AK An attribute <C>IntKeyFun</C> is mentioned which does not seem to
exist. AK: removed it.
+2AK An operation <C>KeyIntSparse</C> is mentioned which does not seem to
exist. AK: removed it.
+2AK And KeyIntDense, DefaultHashLength are mentioned without markup,
as if they would be a valid words. AK: markup added.
+2AK The description of AddDictionary contains a sentence which is
obviously unfinished (AK: was corrected in rev. 4.24 on 04/08/2011?)
-5 This chapter needs some polishing of the formulations.
-3 Turn the inline reference in ManSection for IntegerHashFunction to
a proper reference to the bibliography. AK: The book by Cormen, Leiserson
and Rivest was added to the bibliography, but IntegerHashFunction is
not documented at the moment - should it be?
-5 This chapter has no examples at all, would be useful to add them eventually.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 29: Records
% File: ./record.xml (line 12)
% Who: Thomas Breuer
% Started: January 24, 2008
% Finished: October 19th, 2008
% Comments:
-6 (cf. chapter ``Lists'')
description of `rec.name', `rec.( name )', `rec.name:= obj',
`rec.( name ):= obj', `rec1 = rec2', `rec1 <> rec2', `rec1 < rec2',
`rec1 <= rec2',
which cannot be handled with <ManSection>;
+3c* Again: `rec' should not be used as the name of an argument!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 30: Collections
% File: ./coll.xml (line 11)
% Who: Thomas Breuer
% Started: January 24, 2008
% Finished: October 25th, 2008
% Comments:
+3c Random: As soon as ranges with arbitrarily large bounds are available,
the variant Random( from, to ) is no longer necessary.
-> Keep it for legacy reasons. Revisit documentation when large ranges
are implemented.
+3bFL StateRandom, RestoreStateRandom: There is a disclaimer that these
functions are kept for compatibility reasons.
Shouldn't they be moved to the obsolescent stuff?
--> Done
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 31: Domains and their Elements
% File: ./domain.xml (line 11)
% Who: Thomas Breuer
% Started: January 24, 2008
% Finished: October 25th, 2008
% Comments:
+3c cross-reference to the Tutorial -- is this acceptable? Yes, it works.
-4 cross-reference to undocumented function `NormalizerInParent'
(There is already a comment whether the section ``In Parent Attributes''
should be moved from the `ext' manual to the Reference Manual.
This would make it easy to document the `SomethingInParent' functions
that actually exist.)
-4 cross-ref. to undocumented function `ParentAttr'
+2AK The functions described in Section ``Constructing Domains'' do not exist
for all operational structures; at least add a remark about this.
+2AK docum. of `MultiplicativeZeroOp':
relation to `IsMultiplicativeElementWithZero'? (AK: explained that
the argument lies in the category `IsMultiplicativeElementWithZero')
-4 ``Comparison Operations for Elements'':
Make explicit how <>, <=, >, >= are implemented, i.e., how they are
related to \= and \<.
+2AK ``Arithmetic Operations for Elements'':
why ``look up details about special methods in the index'' only for \mod?
(AK: reformulated, there are also index entries for \*, \/, \^)
+3c* ``Useful Categories of Elements'':
Several filters are explained as the *join* of other filters
(file `lib/arith.gd');
but it is just the other way round, they are the *meet*!
(I suspect this pops up also in other parts of the manual.)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 32: Mappings
% File: ./mapping.xml (line 11)
% Who: Thomas Breuer
% Started: January 24, 2008
% Finished: October 25th, 2008
% Comments:
+3c `Projection': There is a unary version defined as the projection onto
``some natural *sub*domain''. Does this make sense??
--> Leave it, it is used e.g. in WreathProducts
--> Changed subdomain to quotient domain
+2AK empty description of `Range', `Source', `IsAdditiveGroupGeneralMapping',
`IsLeftModuleGeneralMapping', `IsRingGeneralMapping',
`IsRingHomomorphism', `IsRingWithOneGeneralMapping',
`IsRingWithOneHomomorphism', `IsAlgebraGeneralMapping',
`IsAlgebraHomomorphism', `IsAlgebraWithOneGeneralMapping',
`IsAlgebraWithOneHomomorphism', `IsSPGeneralMapping',
`IsNonSPGeneralMapping', `IsGeneralMappingFamily'.
-3 Section ``Magma Homomorphisms'' defines magma homomorphisms as mappings
that respect multiplication,
and the next section is called ``Mappings that Respect Multiplication''.
Does that make sense?
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Chapter 33: Relations
% File: ./relation.xml (line 11)
% Who: Thomas Breuer
% Started: November 16, 2008
% Finished: November 16, 2008
% Comments:
-5 The whole chapter contains not a single example!
-3 What is the difference between `BinaryRelationByElements' and
`GeneralMappingByElements'?
-3 Why are unary operations such as `ReflexiveClosureBinaryRelation' not
attributes?
-3 `IsHasseDiagram': Is it a sensible definition of a property
that the return value is `true' if the argument was constructed
with `HasseDiagramBinaryRelation'?
-5AK `AsBinaryRelationOnPoints' is not in line with the convention about
As<Something> functions.
AK: should we have BinaryRelationByObject operation???
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%