A lexically scoped interpreted programming language that supports distributed object-oriented computing. Obliq computations can roam over the network, while maintaining network connections. In Obliq, there are no class hierarchies as every object is potentially and transparently a network object. An object may become accessible over the network either by the negotiation of a name server or by being used as the argument or as the result of a remote method.