Il peut y avoir un certain nombre de variations sur l'interface du type abstrait pile.
Dans le cas impératif, on préfère parfois combiner les opérations de dépiler un objet et de récupérer l'objet au sommet de la pile en une seule opération. Ceci est également possible dans le cas fonctionnelle si le langage de programmation permet des valeurs multiples d'une opération.
Parfois (surtout dans le cas impératif), on voit une extension de l'opération pour déterminer si la pile est vide. Cette opération devient alors déterminer le nombre d'objets dans la pile.