[Types-sig] const (was: PyDL RFC 0.02)

Paul Prescod paul@prescod.net
Wed, 29 Dec 1999 11:49:29 -0500


It is quite possible that at some point I used const inconsistently to
mean both "non-rebindable name" and "immutable." Greg is right that I
was thinking about the latter when I put it in. In the long run we
really need both, but I will remove them from version 1 for now.

For now, we just need a solid definition of what types of rebinding are
legal. There are four kinds of names:

 * module -- we must always disallow rebinding these because we don't
have a notion of two modules with the "same interface". Maybe in some
future version we could.

 * class -- rebinding is fine as long as the new class has a signuture
that will produce instances that conform to the declared interface(s).

* functions and other objects -- rebinding is fine as long as the new
function conforms to the declared interface.

 Paul Prescod