Abstrac tThe implementation of the Icon programming language is more interestin g and difficult than the implementation o f many other programming languages because an expression i n Icon can generate a sequence of results . The implementatio n therefore must support contr ol backtracking in expressio n evaluation . There also are several novel control structure s related to g enerators . Because expression evaluation is limite d lexically . a full coroutine mechanism is not needed an d expression evaluation can be handled in a stack-like fashion .The implementation of Icon consists of a virtual machin e with it stack-based architecture and an interpreter that execute s the virtual machine instructions . There have been several different interpreters for Icon's virtual machine . This pape r describes a new approach in which the interpreter is calle d recursively whenever the context for expression evaluatio n changes . This recursive interpreter has the advantage of bein g conceptually clear and flexible without sacrificing efficiency .