Although powerful tools for numerical, statistical, and algebraic computation are readily available and widely used, a comparable tool for combinatorial computing has not yet emerged. The lack of such a tool seriously impedes interaction between theory and practice in discrete mathematics. Building on shared experiences, a comprehensive software system for combinatorial computing that is efficient, portable, and extensible will be created. The core of the system will be an object-oriented library containing reusable implementations of state-of-the-art combinatorial algorithms and data structures. To facilitate experimentation, the workbench will have a powerful graphical user interface and a versatile command-interpreter based on a functional programming language. The tool is to be built and distributed as a self documenting or `Literate` program. This new software environment facilitates research in theoretical, experimental, and applied discrete mathematics.