Re: [pypy-dev] Contributing Polyhedral Optimisations in PyPy

2020-12-17 Thread William ML Leslie
theless, please dig and experiment. You might find that a combination of custom annotations and JIT work get you what you need. -- William Leslie Q: What is your boss's password? A: "Authentication", clearly Notice: Likely much of this email is, by the nature of copyright, covered under copyright la

Re: [pypy-dev] windows 64 bit

2020-04-14 Thread William ML Leslie
On Tue, 14 Apr 2020, 4:35 pm Steven Mathews, wrote: > I saw pypy is windows 32bit. > > Does that mean my code won't be able to use 32GB of RAM, only 4GB ? > Correct. For more detail, please see the FAQ entry here:

Re: [pypy-dev] Python 2 vs Python 3 again, and a 2.x-only dependency

2019-07-16 Thread William ML Leslie
On Tue., 16 Jul. 2019, 2:34 pm Ryan Gonzalez, wrote: > I'm actually largely wondering if RPython is going to eventually move to > 3... > >> >> Significant effort, for what benefit exactly? ___ pypy-dev mailing list pypy-dev@python.org

Re: [pypy-dev] let's clean up open branches

2019-02-11 Thread William ML Leslie
mitter on the > branch, and date. > > William ML Leslie 2017-01-24 12:54 +1100 > taskengine-sorted-optionals > William ML Leslie 2017-01-24 18:55 +1100 > inline-taskengine > Sorry, i closed one branch in this series and forgot the rest. Feel free to delete these. _

[pypy-dev] [CFP] Workshop on Virtual Machines and Language Implementations (VMIL’18)

2018-06-15 Thread William ML Leslie
-- Stefan Marr School of Computing, University of Kent http://stefan-marr.de/research/ ___ mlvm-dev mailing list mlvm-...@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev -- William Leslie Notice: Likely much of this email

Re: [pypy-dev] [EXTERNAL] Re: Help with PyTuple_SetItem error

2018-02-06 Thread Hart, William E
, "Armin Rigo" <armin.r...@gmail.com> wrote: Hi Hart, On 2 February 2018 at 17:43, Hart, William E <weh...@sandia.gov> wrote: > References the exception `SystemError('PyTuple_SetItem called on tuple after > use of tuple")’ but it’s not clear when/

[pypy-dev] Help with PyTuple_SetItem error

2018-02-03 Thread Hart, William E
The CPython differences documentation here: http://doc.pypy.org/en/latest/cpython_differences.html References the exception `SystemError('PyTuple_SetItem called on tuple after use of tuple")’ but it’s not clear when/why this exception gets triggered. I’m trying to use scipy with pypy, and

Re: [pypy-dev] Help with PyTuple_SetItem error

2018-02-03 Thread Hart, William E
') r.set_initial_value(y0, t0).set_f_params(2.0).set_jac_params(2.0) t1 = 10 dt = 1 while r.successful() and r.t < t1: print(r.t+dt, r.integrate(r.t+dt)) From: William Hart <weh...@sandia.gov> Date: Friday, February 2, 2018 at 9:43 AM To: "pypy-dev@python.org" <pypy-dev@pyth

Re: [pypy-dev] Mysterious IndexError in service running with PyPy

2017-12-19 Thread William ML Leslie
Where is the code that changes the size of self.heap? How do we know that size(self.heap) is constant? My guess is that some thread changes this; but l is not recomputed. On 18 Dec 2017 6:59 PM, "hubo" wrote: > I'm reporting this issue in this mail group, though I don't know

Re: [pypy-dev] Static bytecode instruction optimization and pypy (JIT?) optimization

2017-07-11 Thread William ML Leslie
t cpython's built-ins don't have and this makes some popular library give the wrong result. Oblig: https://twitter.com/shit_jit_says/status/446914805191172096 https://twitter.com/fijall/status/446913102190505984 -- William Leslie Notice: Likely much of this email is, by the nature of copyright, cover

Re: [pypy-dev] Static bytecode instruction optimization and pypy (JIT?) optimization

2017-07-11 Thread William ML Leslie
Bernstein <r...@dustyfeet.com> wrote: > > > On Tue, Jul 11, 2017 at 4:35 AM, William ML Leslie > <william.leslie@gmail.com> wrote: >> >> On 11 July 2017 at 18:22, Rocky Bernstein <r...@dustyfeet.com> wrote: >> > There's too much generalizat

Re: [pypy-dev] Static bytecode instruction optimization and pypy (JIT?) optimization

2017-07-11 Thread William ML Leslie
(object): def set_b(self, value): print value self._b = value b = property(set_b) class Example(object): def __init__(self): self.a = A() def foo(self): self.a.b = 5 x = 0 if x: self.a.b = 2 else: return

Re: [pypy-dev] Static bytecode instruction optimization and pypy (JIT?) optimization

2017-07-11 Thread William ML Leslie
nd doesn't expect them to be reloaded at a different location, wheras the static rpython compiler expects to work on a whole program. -- William Leslie Notice: Likely much of this email is, by the nature of copyright, covered under copyright law. You absolutely MAY reproduce any part of it in acc

Re: [pypy-dev] Asking for help

2017-07-03 Thread William ML Leslie
thing that old should work. I'm not sure if it differs from 12.04 in any other way. I build pypy regularly on Ubuntu 16.04 LTS (has gcc 5.4.0) as well as Debian Jessie (with gcc 4.9.2). -- William Leslie Notice: Likely much of this email is, by the nature of copyright, covered under copyright

Re: [pypy-dev] Asking for help

2017-07-02 Thread William ML Leslie
​Also: Please don't run compilers with sudo.​ On 3 July 2017 at 11:16, Meide Zhao <zhao.me...@gmail.com> wrote: > (4)build pypy > cd ~/pypy/pypy/pypy/goal/ > sudo ../../rpython/bin/rpython --opt=jit targetpypystandalone.py > > -- William Leslie Notice: Like

Re: [pypy-dev] Asking for help

2017-07-02 Thread William ML Leslie
; function ‘backtrace_initialize’: > > /home/meide/pypy/pypy/rpython/rlib/rvmprof/src/shared/libbacktrace/elf.c:958:2: > warning: implicit declaration of function ‘__atomic_store_n’ > [-Wimplicit-function-declaration] > > /home/meide/pypy/pypy/rpython/rlib/rvm

[pypy-dev] Fwd: [CfP][Meta'17] Workshop on Meta-Programming Techniques and Reflection

2017-06-29 Thread William ML Leslie
va.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev -- William Leslie Notice: Likely much of this email is, by the nature of copyright, covered under copyright law. You absolutely MAY reproduce any part of it in accordance with the copyright law of the nation you are reading this in

Re: [pypy-dev] Integer division

2017-06-01 Thread William ML Leslie
er division has a latency of 26 cycles.​ I expect this is because there are only two hardware division units, and both are on the floating point path. -- William Leslie Notice: Likely much of this email is, by the nature of copyright, covered under copyright law. You absolutely MAY reproduce any

Re: [pypy-dev] What is RuntimeTypeInfo?

2017-03-15 Thread William ML Leslie
On 16 March 2017 at 11:47, John Zhang <john.zh...@anu.edu.au> wrote: > Hi Carl, Armin, William, > I have thought about modifying the JIT code instruction set, descriptors and > runtime rewrite etc. to encode the MuTyped CFG (which is a further type and > ops specialisation towa

Re: [pypy-dev] What is RuntimeTypeInfo?

2017-03-14 Thread William ML Leslie
slate the various new_ operations into a form you can make use of long before jitcode generation. You'll need to extend the codewriter to allow for those operations, too. -- William Leslie Notice: Likely much of this email is, by the nature of copyright, covered under copyright law. You absolute

[pypy-dev] Fwd: [MoreVMs'17] Call for Contributions: 1st Workshop on Modern Language Runtimes, Ecosystems, and VMs at 2017

2017-01-27 Thread William ML Leslie
n Marr, Johannes Kepler University Linz, Austria -- Stefan Marr Johannes Kepler Universität Linz http://stefan-marr.de/research/ ___ mlvm-dev mailing list mlvm-...@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev -- W

Re: [pypy-dev] cppyy fails to build on gcc 5 and clang

2017-01-18 Thread William ML Leslie
liam_ml_leslie/capnpy I'd love too see CapnProto hooked up to Autobahn/WS on Twisted too! I don't think there's a good client-side implementation of CapnProto though, so there's still a missing part of that pipeline. -- William Leslie Notice: Likely much of this email is, by the nature of cop

Re: [pypy-dev] Fwd: Re: Adding init/variables to W_Root

2017-01-11 Thread William ML Leslie
w_result.set_rbflags(w_1_rbflags) > > self.pushvalue(w_result) It looks like, if an app-level exception is in progress, w_result may be None. Try checking for that before setting the flags. Also: did you mean to alter w_1's rbflags? Seems strange that you'd alter w_1 but

Re: [pypy-dev] Object pinning

2016-12-22 Thread William ML Leslie
ences. So > references may not really be addresses, and may not be copied naively as > a word (it could contain bit flags, too). (2) Mu does not prevent the > movement of other object. So if an array of references is pinned, the > objects its elements point *to* may still be moved. I g

Re: [pypy-dev] PYPY:why withprebuiltint option is off default? The speed is slower after I open it.

2016-12-14 Thread William ML Leslie
check the pypy sourcecode, but I have not find out the problem so far. > So, my doubt is: why withprebuiltint option is off default? Maybe the > performance is a problem as known? > Yes. Prebuilt ints are only really an optimisation on CPython, PyPy has better optimisations that work well wit

Re: [pypy-dev] RFC: draft idea for making for loops automatically close iterators

2016-10-22 Thread William ML Leslie
w to do something that will > make CPython happy even in case of reference cycles". If you don't, > then arguably CPython is slightly broken. > > Yes, anything that can reduce file descriptor leaks in Python sounds good to > me. > > > A bientôt, > > Armin. > _______

Re: [pypy-dev] RFC: draft idea for making for loops automatically close iterators

2016-10-17 Thread William ML Leslie
Have you considered Custodians, a-la racket? I suspect that adding resources to and finalising custodians requires less defensiveness than marking all iterables as resources, but I've yet to see someone implement them in python. https://docs.racket-lang.org/reference/custodians.html -- William

Re: [pypy-dev] Build Pypy with different Interpreters

2016-09-08 Thread William ML Leslie
GIL, and that rpython doesn't make use of any Stackless APIs, it's probably just the same as translating with CPython. -- William Leslie Notice: Likely much of this email is, by the nature of copyright, covered under copyright law. You absolutely MAY reproduce any part of it in accordance with t

Re: [pypy-dev] Build Pypy with different Interpreters

2016-09-08 Thread William ML Leslie
lation step > described at > http://doc.pypy.org/en/latest/build.html#run-the-translation ) > > -- William Leslie Notice: Likely much of this email is, by the nature of copyright, covered under copyright law. You absolutely MAY reproduce any part of it in accordance with the copyr

Re: [pypy-dev] Build Pypy with different Interpreters

2016-09-08 Thread William ML Leslie
m. ​There's another route, which is to support separate compilation, and then to hand off the translation of built-in modules to different executors.​ This is itself quite a bit of work due to some inherent properties of rpython. -- William Leslie Notice: Likely much of this email is, by the n

Re: [pypy-dev] Any known tricks or effort made to make the PyPy source code build faster?

2016-08-29 Thread William ML Leslie
On 30/08/2016 9:53 am, "Wang, Peter Xihong" wrote: > > Hi, > > > > By default, it appears most of the time during the build/compile process, only 1 single CPU core is busy, signaling missing of parallel compiling. Is there any best known practice to make it faster?

Re: [pypy-dev] Django DateField default value and migrations fail

2016-08-17 Thread William ML Leslie
t=today, >> ) >> >> so I just wrap required function call into function. > > > You can, of course, use a lambda, i.e. `default=lambda: date.today()` which > is to the same effect, but a bit shorter. It doesn't work with a lambda; the serialiser writes code that

Re: [pypy-dev] Django DateField default value and migrations fail

2016-08-17 Thread William ML Leslie
that check could be expanded to include MethodType. Here's the code at master: https://github.com/django/django/blob/3b383085fb89a48e756383e7cd5d3bd867353ba1/django/db/migrations/serializer.py#L379 On 17 August 2016 at 17:27, Sergey Kurdakov <sergey.fo...@gmail.com> wrote: > Hi William,

Re: [pypy-dev] Django DateField default value and migrations fail

2016-08-17 Thread William ML Leslie
Darn reply-to not being set. Sorry Sergey. On 17 August 2016 at 17:21, William ML Leslie <william.leslie@gmail.com> wrote: > On 17 August 2016 at 16:50, Sergey Kurdakov <sergey.fo...@gmail.com> wrote: >> >> still causes error of the kind: >> >> t

Re: [pypy-dev] pickle numpy array from pypy to cpython?

2016-06-23 Thread William ML Leslie
/generated/numpy.fromfile.html#numpy.fromfile -- William Leslie Notice: Likely much of this email is, by the nature of copyright, covered under copyright law. You absolutely MAY reproduce any part of it in accordance with the copyright law of the nation you are reading this in. Any attempt to DENY YOU

Re: [pypy-dev] fix libpypy-c.so needing certein versions

2016-06-22 Thread William ML Leslie
On 22 June 2016 at 18:19, Armin Rigo <ar...@tunes.org> wrote: > http://pypy.org/download.html#linux-binaries-and-common-distributions The portable builds linked from that page work really well if you're on a gnu/linux (thanks, squeaky!) - try those out first. -- William Lesli

Re: [pypy-dev] Question about "__extend__" hacks (in pypyjit module)

2016-02-08 Thread William ML Leslie
On 9 February 2016 at 10:24, Maciej Fijalkowski <fij...@gmail.com> wrote: > __extend__ hacks add extra methods to classes See rpython.tool.pairtype and rpython.tool.test.test_pairtype for more information on this pattern. -- William Leslie Notice: Likely much of this email is, by t

Re: [pypy-dev] FIY: Basic Block Versioning JIT

2015-09-29 Thread William ML Leslie
hich is exciting because CFA2 is such a dramatic improvement over k-CFA for intraprocedural analysis. It's good to see how well such a simple principle about specialising type information can produce such good results. -- William Leslie Notice: Likely much of this email is, by the nature of

Re: [pypy-dev] type inference error

2015-08-27 Thread William ML Leslie
(m) -- William Leslie Notice: Likely much of this email is, by the nature of copyright, covered under copyright law. You absolutely MAY reproduce any part of it in accordance with the copyright law of the nation you are reading this in. Any attempt to DENY YOU THOSE RIGHTS would be illegal

Re: [pypy-dev] is the handling of python signals a language implementation detail?

2015-08-10 Thread William ML Leslie
significant; I think you should be able to rely on the behaviour of the signal module in this regard. Different APIs and semantic-preserving optimisations aside. -- William Leslie Notice: Likely much of this email is, by the nature of copyright, covered under copyright law. You absolutely MAY

Re: [pypy-dev] How to use interperter level code from a module for app level code in another module

2015-06-09 Thread William ML Leslie
the code above? ​Are you using a pypy sandbox Huang? ​If so, many built-in modules are disabled by default, you have to enable them during translation. -- William Leslie Notice: Likely much of this email is, by the nature of copyright, covered under copyright law. You absolutely MAY reproduce

Re: [pypy-dev] How to use interperter level code from a module for app level code in another module

2015-06-08 Thread William ML Leslie
interp code? ​They are exposing an integer value called PYC_MAGIC, which is the value for determining what python the .pyc file was compiled for.​ ​This is about exposing an integer rather than a function, it's probably not relevant to you. -- William Leslie Notice: Likely much of this email

Re: [pypy-dev] mix-and-match approach to implementation decisions

2015-02-14 Thread William ML Leslie
or disabled at translation time. -- William Leslie Notice: Likely much of this email is, by the nature of copyright, covered under copyright law. You absolutely MAY reproduce any part of it in accordance with the copyright law of the nation you are reading this in. Any attempt to DENY YOU THOSE

Re: [pypy-dev] mix-and-match approach to implementation decisions

2015-02-14 Thread William ML Leslie
​I guess it's reasonable to ask how true this is of rpython. What options are there, and how do they exclude / depend on one another? In the l*o*p problem, it now ignores all p but one, and rpython doesn't concern itself with l.​ Maybe it's the gc * o problem now? -- William Leslie Notice

Re: [pypy-dev] PyPy for analysis?

2014-09-07 Thread William ML Leslie
Ugh, thanks Gmail (: On 8 September 2014 01:33, William ML Leslie william.leslie@gmail.com wrote: On 7 September 2014 21:42, Scott West scott.gregory.w...@gmail.com wrote: Hello all, I was looking recently into trying to do some simple static analysis of Python programs

[pypy-dev] Fwd: Access the name of variable that is being assigned

2014-07-15 Thread William ML Leslie
-- William Leslie Notice: Likely much of this email is, by the nature of copyright, covered under copyright law. You absolutely MAY reproduce any part of it in accordance with the copyright law of the nation you are reading this in. Any attempt to DENY YOU THOSE RIGHTS would be illegal without prior

Re: [pypy-dev] More strategies

2013-11-07 Thread William ML Leslie
for clearly nonsense (eg, string) cases, when it's the sensible case (user-provided types that provide __eq__) that we should be optimising for. Did you menchbark the code without such cases? -- William Leslie Notice: Likely much of this email is, by the nature of copyright, covered under

Re: [pypy-dev] pypy about c-extension

2013-11-04 Thread William ML Leslie
The blog post describes how to produce a cpython module .so for your schema. Needless to say that is pointless on pypy. On 04/11/2013 7:09 PM, Armin Rigo ar...@tunes.org wrote: Hi, On Mon, Nov 4, 2013 at 9:04 AM, KaShining mail2sh...@qq.com wrote: import podpbpypy ImportError: No module

Re: [pypy-dev] The fate of gc-del

2013-08-12 Thread William ML Leslie
On 12 August 2013 17:38, Armin Rigo ar...@tunes.org wrote: The advantage of this approach is that it's done without RPython changes, just by tweaks in the GC. Do you know what changes to the GC interface you expect to make, if any? -- William Leslie Notice: Likely much of this email

Re: [pypy-dev] parallel building

2013-07-22 Thread William ML Leslie
stays pretty small. If we managed to make that stage parallel, we'd probably lose out on the fact that several of the steps work by mutating the model, so we'd either need a concurrency model that dealt with that or separate compilation to work. -- William Leslie Notice: Likely much of this email

Re: [pypy-dev] comparing strings using is does not works

2013-06-06 Thread William ML Leslie
On 6 June 2013 16:09, Amaury Forgeot d'Arc amaur...@gmail.com wrote: Don't use is with immutable objects (except with the singletons: None, True, False) Never with True or False either. It's required to work by the language definition, but it's still nonsense. -- William Leslie Notice

Re: [pypy-dev] Killing OOType? (was Re: Translating pypy on FreeBSD with CLI backend)

2013-05-22 Thread William ML Leslie
with constants as well as the extregistry. -- William Leslie Notice: Likely much of this email is, by the nature of copyright, covered under copyright law. You absolutely may reproduce any part of it in accordance with the copyright law of the nation you are reading this in. Any attempt to deny you

Re: [pypy-dev] x is y = id(x)==id(y)

2013-05-06 Thread William ML Leslie
equality, but equality of the bit pattern (using float2longlong). Except for NaN... It's perfectly acceptable for NaN to `is` on their bit pattern. -- William Leslie Notice: Likely much of this email is, by the nature of copyright, covered under copyright law. You absolutely may reproduce any part

[pypy-dev] Fwd: Re: ARM v6 GSOC

2013-04-20 Thread william
Original Message Subject:Re: [pypy-dev] ARM v6 GSOC Date: Wed, 17 Apr 2013 23:39:28 -0400 From: David Edelsohn dje@gmail.com To: william williamandrewalumba...@gmail.com On Wed, Apr 17, 2013 at 9:41 PM, william williamandrewalumba...@gmail.com wrote

Re: [pypy-dev] PyPy in getting started

2012-12-24 Thread William ML Leslie
Ugh, hit the wrong reply button. On 24 December 2012 19:24, William ML Leslie william.leslie@gmail.com wrote: On 24 December 2012 19:03, anatoly techtonik techto...@gmail.com wrote: Hi, The PyPy description in getting started is still too scientific. I attach a patch with accessibility

Re: [pypy-dev] Dependence Graphs in Pypy?

2012-08-08 Thread William ML Leslie
with hand-coded flow for built-ins; if you're only interested in intraprocedural analysis (often next-to-useless in python) I guess that would be fine. But I can't seem to find that, now. -- William Leslie ___ pypy-dev mailing list pypy-dev@python.org http

Re: [pypy-dev] change of strategy for the py3k branch?

2012-05-31 Thread William ML Leslie
because so much of the existing code can be re-used. -- William Leslie ___ pypy-dev mailing list pypy-dev@python.org http://mail.python.org/mailman/listinfo/pypy-dev

Re: [pypy-dev] change of strategy for the py3k branch?

2012-05-30 Thread William ML Leslie
, that is a fundamental part of the way it works. So moving the translator into a different repository now also means maintaining two python 2 interpreters. -- William Leslie ___ pypy-dev mailing list pypy-dev@python.org http://mail.python.org/mailman/listinfo/pypy-dev

Re: [pypy-dev] libgmp

2012-02-23 Thread William ML Leslie
On 24 February 2012 13:05, William ML Leslie william.leslie@gmail.com wrote: On 24 February 2012 12:56, Timothy Baldridge tbaldri...@gmail.com wrote: For a project I'm working on, I'd like to have support for gmp in pypy. I have a ctypes pypy module, but from what I understand, pypy's

Re: [pypy-dev] Global executable naming policy

2012-02-16 Thread William ML Leslie
' are probably sufficient. -- William Leslie ___ pypy-dev mailing list pypy-dev@python.org http://mail.python.org/mailman/listinfo/pypy-dev

Re: [pypy-dev] Global executable naming policy

2012-02-16 Thread William ML Leslie
integration features, or not, in which case whatever backend is available is fine. -- William Leslie ___ pypy-dev mailing list pypy-dev@python.org http://mail.python.org/mailman/listinfo/pypy-dev

Re: [pypy-dev] OS

2011-12-11 Thread William ML Leslie
. -- William Leslie ___ pypy-dev mailing list pypy-dev@python.org http://mail.python.org/mailman/listinfo/pypy-dev

Re: [pypy-dev] Slow sqlite user defined functions with pypy.

2011-11-16 Thread William ML Leslie
Ack. On 17 November 2011 12:23, William ML Leslie william.leslie@gmail.com wrote: On 17 November 2011 12:13, Elefterios Stamatogiannakis est...@gmail.com wrote: Pypy seems to not jit at all when a (pypy) Python function is called from C. Calls to native functions must be residualised

Re: [pypy-dev] Realtime communication and webserver to use with pypy?

2011-09-29 Thread William ML Leslie
for this type of setup?   Is there a non-blocking webserver in python that works well with PyPy? Twisted has worked well for some time. Gevent is written in cython, which is currently not supported. Not sure about Gunicorn, it seems to be able to sit on top of several different workers. -- William

Re: [pypy-dev] djangobench performance

2011-09-01 Thread William ML Leslie
that might be a start. The threshold in the released pypy is N = 1000. But even without JIT, 20+ fold slowdowns are very interesting: 10n_render, query_all and query_raw. I wonder if anyone has benchmarked sqlite under pypy - that would have the most dramatic effect here. -- William Leslie

Re: [pypy-dev] Object identity and dict strategies

2011-07-11 Thread William ML Leslie
On 9 July 2011 18:17, Armin Rigo ar...@tunes.org wrote: Hi, On Sat, Jul 9, 2011 at 5:20 AM, William ML Leslie william.leslie@gmail.com wrote: My point about small integers (...) I think that your point about small integers is broken (even assuming that smallints are enabled by default

Re: [pypy-dev] Object identity and dict strategies

2011-07-11 Thread William ML Leslie
id to object. You can already do this yourself in pure python, and it doesn't have the side-effect of bloating id(). Otherwise, such a suggestion should go through the usual process for such a significant change to a language primitive. -- William Leslie

Re: [pypy-dev] Object identity and dict strategies

2011-07-11 Thread William ML Leslie
On 11 July 2011 23:21, Bengt Richter b...@oz.net wrote: On 07/11/2011 01:36 PM William ML Leslie wrote: On 11 July 2011 20:29, Bengt Richterb...@oz.net  wrote: On 07/10/2011 09:13 PM Laura Creighton wrote: What do we want to happen when somebody -- say in a C extension -- takes the id

Re: [pypy-dev] Object identity and dict strategies

2011-07-11 Thread William ML Leslie
On 12 July 2011 00:21, William ML Leslie william.leslie@gmail.com wrote: Referential equivalence, which is a slightly more complicated (yet much better defined) idea says that x and y are equivalent when no operation can tell the difference between the two objects. Ack, sorry. I meant