merits of Lisp vs Python

Rob Thorpe rthorpe at realworldtech.com
Wed Dec 20 15:43:26 EST 2006


Anders J. Munch wrote:
> Rob Thorpe wrote:
>  > Anders J. Munch wrote:
>  >> Really?  So how do you write a portable program in CL, that is to
>  >> run for unbounded lengths of time?
>  >
>  > You can't.
>  >
>  > The thing about the spec not defining GC is almost a bit of humour.
>  > No-one would use an implementation with no GC.
>  >
>  > The issue with specifying it is: How would you do it?  The memory
>  > used by a program is an aspect of the language implementation and
>  > the system the program is running on, so how can it be defined in a
>  > useful way?
>
> Let u(t) be the actual memory used by the program at time t.
> Let r(t) be the size of reachable memory at time t.
>
> Require that u(t) is a member of O(t -> max{t'<=t: r(t')})
>
> There. That wasn't so hard, was it?

That's quite a clever definition actually.
But, let's say I have a lisp machine.  It has an unusual architecture,
it's made entirely of SRAM cells of ~9bits.  Sometimes these cells are
used as storage, sometimes their contents represent logic circuits and
the routing between them is configured to form them into a processor.
Please tell me what reachable memory is ;).  (The above processor is
not science fiction, it could easily be done with FPGAs)

I suppose a solution would be:-

If the lisp implementation runs on a fixed processor that has separate
storage then ...

Let u(t) be the actual memory used by the program at time t.
Let r(t) be the size of reachable memory at time t.
...




More information about the Python-list mailing list