PartitionsSet( set ) 
PartitionsSet( set, k )
NrPartitionsSet( set ) 
NrPartitionsSet( set, k )
In  the first  form  PartitionsSet  returns the  set  of  all unordered
partitions of the set set.   In the second form PartitionsSet returns
the set of  all unordered partitions of the  set set into  k pairwise
disjoint nonempty sets.
In  the first  form  NrPartitionsSet returns   the number of  unordered
partitions of   the  set set.   In  the  second  form NrPartitionsSet
returns  the number of  unordered  partitions of  the  set set into k
pairwise disjoint nonempty sets.
An unordered partition of set is a set of pairwise disjoint nonempty sets with union set and is represented by a sorted list of such sets. There are B( |set| ) (see Bell) partitions of the set set and S_2( |set|, k ) (see Stirling2) partitions with k elements.
    gap> PartitionsSet( [1,2,3] );
    [ [ [ 1 ], [ 2 ], [ 3 ] ], [ [ 1 ], [ 2, 3 ] ], [ [ 1, 2 ], [ 3 ] ],
      [ [ 1, 2, 3 ] ], [ [ 1, 3 ], [ 2 ] ] ]
    gap> PartitionsSet( [1,2,3,4], 2 );
    [ [ [ 1 ], [ 2, 3, 4 ] ], [ [ 1, 2 ], [ 3, 4 ] ],
      [ [ 1, 2, 3 ], [ 4 ] ], [ [ 1, 2, 4 ], [ 3 ] ],
      [ [ 1, 3 ], [ 2, 4 ] ], [ [ 1, 3, 4 ], [ 2 ] ],
      [ [ 1, 4 ], [ 2, 3 ] ] ]
    gap> NrPartitionsSet( [1..6] );
    203
    gap> NrPartitionsSet( [1..10], 3 );
    9330 
Note  that PartitionsSet does currently  not support multisets and that
there is currently no ordered counterpart.
GAP 3.4.4