GAP Project repository
  

Towards a ``Why'' operation

Need:
2
Time:
3
Contact: Joachim Neubüser
( Joachim.Neubueser@Math.RWTH-Aachen.DE)
Last Update: 1999/7/29
Math:
2
Program:
4


Description

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


GAP home page