How do I create a group action table with GAP? Background:
Let $G$ be a group of size $k\cdot p^n$.
Let $S$ be the set of all subsets of size $p^n$ of $G$.
Define the map $f\colon G \times S \rightarrow S$ by $(g, s) \mapsto gs$ if $s \in S$.
I would like to create the group action table of $f$ with GAP. So in the case of $S_3$ I would get a table with twenty rows ( elements of $S$ ) and six columns ( elements of $S_3$ ) containing $gs$.
Question: How do I create a ( this ) group action table with GAP?

You'll find it easier to work with GAP if you switch to right actions.
G := SymmetricGroup( 3 );;
S := Combinations( AsSet( G ), 3 );;

myLeftAction := function( act, pnt ) # useless for Orbits, Stabilizer, etc.
  return AsSet( List( pnt, x -> act*x ) );
end;

myRightAction := function( pnt, act )
  return AsSet( List( pnt, x -> x*act ) );
end;;

table := List( S, s -> List( G, g -> myRightAction( s, g ) ) );;

PrintArray( table ); # If you have around 200 columns of screen
Browse( table ); # takes less screen space, but requires the Browse package

# Here is a way to display them in 72 columns using one-line notation
Display(
  JoinStringsWithSeparator( List( table, row ->
  JoinStringsWithSeparator( List( row, ent ->
  JoinStringsWithSeparator( List( ent, perm ->
  JoinStringsWithSeparator( ListPerm( perm, NrMovedPoints(G) ),
  "" )), "|")), " ")), "\n" ));

