/**
 * The core stack operations.  Designed to support both static and
 * dynamic stacks.  Uses the same names as the linear operations,
 * but adds ``peek''.
 *
 * @author Samuel A. Rebelsky
 * @version 1.0 of April 1999
 */
public interface Stack 
  extends Linear
{
  /** 
   * Determine the next element to be returned by remove. 
   * Precondition: The stack is nonempty.
   * Postcondition: Returns an object, o, s.t. the next call
   *   to remove() will return o (provided there are no
   *   intervening calls to add()).
   */
  public Object peek();

} // interface Stack

