Russell wrote the first two implementations of Lisp for the IBM 704. It was Russell who realized that the concept of universal functions could be applied to the language. By implementing the Lisp universal evaluator in a lower-level language, it became possible to create the Lisp interpreter (previous development work on the language had focused on compiling the language). He invented the continuation to solve a double recursion problem for one of the users of his Lisp implementation.
The precise origin of the concept of computer-based games in general has been debated.[clarification needed] Spacewar!, however, was unquestionably the first to gain widespread recognition, and it is generally recognized as the first of the "shoot-'em' up" genre.