\chapter*{Preface} \addcontentsline{toc}{chapter}{Preface} \textbf{Python} is a programming language that has became more and more popular over the years. It is a multi-paradigm language. This means that, rather than forcing coders to adopt one particular style of coding, it permits several. Object orientation, structured programming, functional programming, and aspect-oriented programming are all supported. Python is \textbf{dynamically type-checked} and uses garbage collection for memory management. An important feature of Python is dynamic name resolution, which binds method and variable names during program execution. Python is sometimes referred to as a \textbf{scripting language}. In practice, it is used as a dynamic programming language for both application development and occasional scripting. The programming language itself is specified by the \emph{Python Reference Manual} \cite{python-ref}. There are many implementation of this specifications: the most widely used is known as \emph{Classical Python} (CPython) and can be considered as the reference implementation of the language. Moreover, there is a bunch of other alternative implementations, each one with its own features: as examples we might cite \emph{Jython} \cite{jython}, which runs on top of the \emph{Java Virtual Machine}, \emph{IronPython} \cite{ironpython}, which integrates in the \emph{.NET Framework} and \emph{Python for Series 60} \cite{python-s60}, which runs on \emph{Series 60} mobile phones. Finally, the \pypy\ project \cite{pypy} aims at writing a Python implementation in Python itself. The purpose of this thesis is to begin extending \pypy\ in order to obtain a \textbf{Python interpreter that runs in the .NET Framework}. We should not consider this project as a mere clone of \emph{IronPython}: although the two projects shares some of the goals, future directions of this project may go beyond \emph{IronPython} features, because it can be extended and reused in many different ways, as we will see in the last chapter.