[pypy-dev] scheme interpreter [status report]

Carl Friedrich Bolz cfbolz at gmx.de
Fri Jun 29 12:52:54 CEST 2007


Hi Jakub (sorry for mis-spelling your name last time)!

2007/6/29, Jakub Gustak <jgustak at gmail.com>:
> Scheme interpreter is starting look like its going to do some serious
> stuff in the near future, or maybe I am just too enthusiastic about
> it.
>
> What we have now:
> - We can execute simple expressions like: (+ 1 2 1.3 -2)
>   Nested ones also works.
> - (define <var> <value>) works with a given context, so:
>   (define var 2)
>   (+ var 40) => 42
> - Conditional (if <cond> <then> <else>) seem to work fine, <else> is
> not arbitrary.

All sounds good!


> pypy/lang/scheme/test/test_eval.py
> Gives you the best overview.
>
> What will be done in the nearest future:
> - comparison primitives: = < > eq? eqv?
> - (cons <car> <cdr>) (car <pair>) (cdr <pair>) so we can play with lists.
> That kind of stuff.

I would do cons, car, cdr first (they should be easy anyway).

> You can take a look at:
> pypy/lang/scheme/TODO.txt
>
> Will postpone quotations and symbols implementation for a while. I
> have to think about it, how much of it is parsing matter.

A lof of it is a matter of parsing, yes. I can help you there, if you
want me to.

> Then i would like to work on (lambda ...). This will probably take
> some time to think again execution context, make a hard distinction
> between procedures and macros and a lot of stuff, that I don't even
> dare to think about now :-).

Simple lambdas should be kind of easy, I would hope.


> Before EP I would like to make lambdas work and also have some tuning
> done (whatever it means), so on the sprint we could focus on really
> interesting stuff instead of refactoring and bug fixes.
>
> I would like to refine what I would like to do during the sprint, but
> not sure right now. Any ideas, what would be worth trying then?

Good things to do on the sprint are things were you need the help of
other PyPy people. Two ideas:

 - thinking about how to implement call/cc with the primitives
stackless provides
 - making the interpreter rpython

Cheers,

Carl Friedrich



More information about the Pypy-dev mailing list