[pypy-dev] Scheme front end - Google Summer of Code

Lenard Lindstrom len-l at telus.net
Sat Mar 17 00:05:29 CET 2007


Jakub Gustak wrote:
> I am deeply interested in writing scheme interpreter/front-end as a
> part of PyPy Google Summer of Code project.
>
> As advised on GSoC site i decided to contact to this mailing list to
> discuss my application.
>
> ### begin ###
> =================================
> PyPy Scheme interpreter/front-end
> =================================
>
> == Intro ==
>
> PyPy project's main part is not Python interpreter implementation, but
> its configurable translator. It provides a good way to avoid writing
> interpreter for every language and platform. More information:
> http://codespeak.net/pypy/dist/pypy/doc/architecture.html
>
> This project aims to write an interpreter for Scheme for the PyPy framework.
> Scheme as very interesting dynamic language is nice goal to implement
> in RPython and provide a translator. It's interesting from a academic
> point of view to see if call/cc can be implemented on top of the
> primitives the stackless transform provides. This can lead to
> possibility of implementing first-class continuations (similar to
> Scheme ones) in Python.
>
> == Project Details ==
>
> Proposed features:
>
> 	I am aiming to implement almost complete Scheme implementation
> (according to r5rs specification) in RPython
>
> 	More details:
> 	* Complete scheme parser (read macro) in RPython including delayed
> evaluation and quasi-quotations and macros.
> 	* Object space for Scheme covering all Scheme data types.
> 	* Research on possibility of implementing call/cc continuations using
> primitives provided by stackless transform.
>
>   

Just curious, but isn't proper tail recursion a consideration when
writing a Scheme interpreter? It's not a Python feature. But I can see,
though, that proper tail recursion is not needed to implement the
proposed features of the "Project Details".


-- 
Lenard Lindstrom
<len-l at telus.net>







More information about the Pypy-dev mailing list