LAmbda calculus evaluator (interactive)

Kragen Sitaker kragen at dnaco.net
Sat Apr 22 19:45:30 EDT 2000


In article <vnd8zy54vr8.fsf at camelot-new.ccs.neu.edu>,
Justin Sheehy  <dworkin at ccs.neu.edu> wrote:
>Andrew Cooke <andrew at andrewcooke.free-online.co.uk> writes:
>> ...but if not, i thought the (unquoted) context made clear that i was
>> talking about programs that manipulated expressions in lambda calculus
>> (so a "not interactive" program simply takes an expression and follows
>> some evaluation strategy as far as possible; an "interactive"
>> program allows me to step reduction by reduction, do abstractions, etc).
>> in other words, manipulate the appropriate ast.
>
>Ah.  Well, that's not at all what most people that I know mean by the
>distinction between "interactive" and "non-interactive" when referring to
>a language implementation.
>
>If I refer to an interpreter (or compiler, whatever) as "interactive",
>I mean simply that it has an read-eval-print loop that one can
>interact with.
>
>With regard to the lambda calculus debugger you seem to be looking
>for, I'm not sure exactly what you'd want it to look like.  Even if I
>did, I don't know if I'd be able to direct you to one.

You can think of the lambda-calculus as a programming language, but it
might be more accurate to think of it as a set of formulas, a set of
ways of modifying those formulas so that they remain equivalent in some
sense, and a set of ways of combining formulas to make new (not
necessarily equivalent) formulas.

I'd like to play with the thing Andrew is proposing too.  Many years
ago, Colby Kraybill suggested to me that it would be nice to have
something similar for mathematical expressions --- something that would
do nothing on its own, but would do the grunt-work involved in an
action like "take the reciprocal of both sides" or "divide both the top
and bottom by (x-1)".

>Many other languages (C++, Perl, many others) typically do not have an
>interactive interpreter.  One can refer to their implementations as
>non-interactive.

perl -d  :)


-- 
<kragen at pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
The Internet stock bubble didn't burst on 1999-11-08.  Hurrah!
<URL:http://www.pobox.com/~kragen/bubble.html>
The power didn't go out on 2000-01-01 either.  :)



More information about the Python-list mailing list