My GAP version is 3.4.4.
I'm using recursively defined lists, i.e. objects of this kind:
gap> a:=[];; b:=[a];; a[1]:=b;; gap> a; b; [ [ ~ ] ] [ [ ~ ] ]
I found that the basic operations don't work with these lists. For example:
gap> a=b;
causes to run out of memory. The same for:
gap> a:=[3,~]; [ 3, ~ ] gap> a*2;
Apparently GAP tries to reach the list 'first elements' following list
structure; but this is, obviously, impossible with recursive definitions.
Now, my question is:
Is my usage of lists supported or it must be considered bad usage
(but recursion is described in the first chapter of the manual...)?
I think that if recursion is to be allowed then the function '=' must at
least report the problem and not cause exiting, wasting all the work made.