A language for computational algebra