Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed1a.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.002 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'python.': 0.02; 'python,': 0.02; 'referring': 0.07; '(first': 0.09; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'undefined': 0.09; 'python': 0.11; 'jan': 0.12; 'random': 0.14; 'objects.': 0.16; 'rebound': 0.16; 'received:80.91.229.3': 0.16; 'received:plane.gmane.org': 0.16; 'reedy': 0.16; 'term.': 0.16; 'language': 0.16; 'wrote:': 0.18; 'discussion': 0.18; 'obviously': 0.18; 'year,': 0.18; 'starts': 0.20; 'seems': 0.21; 'programming': 0.22; 'header:User-Agent:1': 0.23; 'references': 0.26; 'defined': 0.27; 'values': 0.27; 'header:X-Complaints-To:1': 0.27; 'header:In-Reply-To:1': 0.27; 'idea': 0.28; 'returned': 0.30; 'along': 0.30; 'object.': 0.31; 'terms.': 0.31; 'values.': 0.31; 'quite': 0.32; 'sense': 0.34; 'could': 0.34; 'problem': 0.35; 'objects': 0.35; 'but': 0.35; 'there': 0.35; 'object,': 0.36; 'two': 0.37; 'implement': 0.38; 'to:addr:python-list': 0.38; 'pm,': 0.38; 'does': 0.39; 'to:addr:python.org': 0.39; 'received:org': 0.40; 'how': 0.40; 'received:173': 0.61; 'advanced': 0.63; "you've": 0.63; 'teaching': 0.64; 'different': 0.65; 'effectively': 0.66; "'object'": 0.84; 'received:fios.verizon.net': 0.84; 'spawned': 0.84; 'avoided.': 0.91; 'edwards': 0.91; 'notion': 0.91; 'same,': 0.91 X-Injected-Via-Gmane: http://gmane.org/ To: python-list@python.org From: Terry Reedy Subject: Re: Reference Date: Wed, 05 Mar 2014 18:00:57 -0500 References: <53144e8d$0$2149$426a74cc@news.free.fr> <1d1dfa1b-b715-4d8f-9c12-f0d3dc1a22c9@googlegroups.com> <85ppm3httu.fsf@benfinney.id.au> <20140303155112.46e34ff8@bigbox.christie.dr> <87siqy7whs.fsf@elektro.pacujo.net> <53155c15$0$2923$c3e8da3$76491128@news.astraweb.com> <164d209c-ba5e-449f-bc25-c27ebfb1fc0f@googlegroups.com> <5316b0dc$0$2923$c3e8da3$76491128@news.astraweb.com> <55d6a455-1856-4fd6-ac4b-c277ff7e2bd1@googlegroups.com> <53176aac$0$29985$c3e8da3$5496439d@news.astraweb.com> <87r46g75t9.fsf@elektro.pacujo.net> <87iors74re.fsf@elektro.pacujo.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Gmane-NNTP-Posting-Host: pool-173-75-254-207.phlapa.fios.verizon.net User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0 In-Reply-To: <87iors74re.fsf@elektro.pacujo.net> X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 38 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1394060483 news.xs4all.nl 2978 [2001:888:2000:d::a6]:59677 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:67894 On 3/5/2014 3:46 PM, Marko Rauhamaa wrote: > Grant Edwards : > >> Wrong. If the two objects are not the same, then they will have >> different ID values. If the ID values are the same, then you've only >> got one object. > > Ok, that circularity again. Every deductive system starts with some undefined terms. These, along with axioms or postulates, are how circularity is avoided. There typically is a choice as to which concepts are taken as primitive and which are defined in terms of them. In Python, one could take 'object' and the notions of same versus different object as primitive. > Say I implement Python. Say I returned a random number for id(), In CPython, the int id of an object is arbitrary, somewhat haphazard, and effectively random in the colloquial sense of the term. > how would that violate the language spec? It obviously does not as long as the 'random' id obeys the id axioms of persistence and uniqueness. > I think the discussion spawned from the problem of teaching programming > students the right idea of values and objects. A teacher would like to > bring in advanced concepts last, but Python seems to force you to get > them at the very beginning. Kids learn the notion of object persistence quite early (first year, I think). Kids also learn that there are multiple ways of referring to one and the same person or object, and that some references ('teacher') can be rebound to a different person or object. -- Terry Jan Reedy