Python for philosophers

Gregory Ewing greg.ewing at canterbury.ac.nz
Sun May 12 20:34:13 EDT 2013


Citizen Kant wrote:
> What I do here is to try to "understand". 
> That's different from just knowing. Knowledge growth must be consequence 
> of understanding's increasing. As the scope of my understanding 
> increases, the more I look for increasing my knowledge. Never vice 
> versa, because, knowing isn't like to be right, it's just knowing.

It doesn't always work that way. With some facts plus a
theory, you can deduce more facts. But it's always possible
for there to be more facts that you can't deduce from what
you already know.

> But take in account that with "shortening" I 
> refer to "according to Python's axiomatic parameters".

I think what you're trying to say is that it takes an
expression and reduces it to a canonical form, such as
a single number or single string.

That's true as far as it goes, but it barely scratches
the surface of what the Python interpreter is capable
of doing.

In the most general terms, the Python interpeter (or
any other computer system, for that matter) can be thought
of as something with an internal state, and a transition
function that takes the state together with some input
and produces another state together with some output:

    F(S1, I) --> (S2, O)

(Computer scientists call this a "finite state machine",
because there is a limited number of possible internal
states -- the computer only has so much RAM, disk space,
etc.)

This seems to be what you're trying to get at with your
game-of-chess analogy.

What distinguishes one computer system from another is
the transition function. The transition function of the
Python interpreter is rather complicated, and it's
unlikely that you would be able to figure out all its
details just by poking in inputs and observing the
outputs. If you really want to understand it, you're
going to have to learn some facts, I'm sorry to say. :-)

-- 
Greg



More information about the Python-list mailing list