GAP Project repository
Currently it is in general difficult to find out what ``arguments''
GAP
used to decide a given question.
It would be desirable to support a `Why' mechanism that gives some
information about what
GAP
did.
(The Magnus system has such a feature; in particular when concurrent
strategies are used in parallel for one given question,
it is reasonable to tell the user which one finally succeeded.)
Clearly the problem gets easier the more local it is stated.
- 1.
-
A low level approach is used by some functions in the Chapter
``Monomiality Questions'', roughly speaking they return not the
result in question but a record with this result and an info string.
- 2.
-
The next release will contain an experimental version of a
``history'' for calculations with group characters;
that is, characters arising from a set of (marked) initial characters
by a prescribed set of operations will know how they can be expressed
in terms of the initial characters.
(This is a somewhat different issue than the `Why' mentioned above
but belongs to the same problem.)
For an overall approach of `Why', one could think of something similar
to `TraceMethods', just one does something not when a method is called
but when a method returns some result (different from `TryNextMethod()');
moreover, this result is interesting only if it belongs to the call with
the argument entered by the user (or entered at not too deep recursion
leves, if several `Why' levels are supported).
Probably some better ideas are needed before one can start to implement
something concerning this wish.
Thomas Breuer and Joachim Neub"user