Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!gegeweb.org!de-l.enfer-du-nord.net!feeder2.enfer-du-nord.net!newsfeed.eweka.nl!eweka.nl!feeder3.eweka.nl!newsfeed.xs4all.nl!newsfeed6.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.008 X-Spam-Evidence: '*H*': 0.98; '*S*': 0.00; 'implements': 0.05; 'instance,': 0.05; 'suppose': 0.05; 'callable': 0.09; 'header:In- reply-to:1': 0.09; 'solution,': 0.09; 'subject:modules': 0.09; 'variables.': 0.09; 'tries': 0.15; '"on': 0.16; 'confusing.': 0.16; 'function?': 0.16; 'lisp': 0.16; 'pydev,': 0.16; 'syntactic': 0.16; 'versus': 0.16; 'wrote:': 0.16; 'issue,': 0.18; 'jan': 0.19; 'suggest': 0.20; '(or': 0.22; 'personally,': 0.23; 'though.': 0.23; 'code': 0.25; 'sat,': 0.25; 'guess': 0.25; 'pm,': 0.26; 'variable': 0.27; 'language.': 0.28; 'bit': 0.28; '(and': 0.29; 'subject:time': 0.30; 'confusion': 0.30; 'received:144': 0.30; 'does': 0.32; 'header:User-Agent:1': 0.33; 'to:addr:python- list': 0.33; 'agree': 0.33; 'object': 0.33; 'there': 0.33; 'anything': 0.34; 'fundamental': 0.34; 'something': 0.35; 'things': 0.35; 'similar': 0.36; 'are.': 0.36; 'charset:us-ascii': 0.36; 'entry': 0.37; 'but': 0.37; 'received:128': 0.37; 'menu': 0.38; 'some': 0.38; 'useful': 0.38; 'should': 0.38; 'but,': 0.38; "i'd": 0.39; 'being': 0.39; 'johnson': 0.39; 'subject:: ': 0.39; 'might': 0.40; 'to:addr:python.org': 0.40; 'type': 0.60; 'your': 0.61; 'show': 0.67; 'forced': 0.67; 'completion': 0.82; '02:11': 0.84; '__call__': 0.84; 'datetime': 0.84; 'dilemma': 0.84; 'markers': 0.84; 'confusion.': 0.91 MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; CHARSET=US-ASCII; format=flowed Date: Sat, 14 Jan 2012 14:58:26 -0600 From: Evan Driscoll Subject: Re: PyWarts: time, datetime, and calendar modules In-reply-to: To: python-list@python.org X-Spam-Report: AuthenticatedSender=yes, SenderIP=128.105.181.52 X-Spam-PmxInfo: Server=avs-14, Version=5.6.1.2065439, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2012.1.14.185715, SenderIP=128.105.181.52 References: <15cdd8f1-35ef-43ea-a1c9-db90bc16f4ad@r16g2000yqi.googlegroups.com> User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.17) Gecko/20110414 Thunderbird/3.1.10 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.12 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: 27 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1326578318 news.xs4all.nl 6871 [2001:888:2000:d::a6]:53253 X-Complaints-To: abuse@xs4all.nl Xref: x330-a1.tempe.blueboxinc.net comp.lang.python:18982 On 01/14/2012 02:11 PM, Devin Jeanpierre wrote: > On Sat, Jan 14, 2012 at 2:23 PM, Rick Johnson > wrote: >> THAT PISSES ME OFF!!!>:( We should never be forced to guess if a name >> is a callable or a variable! >> >> So how do we solve this dilemma you ask??? Well, we need to "mark" >> method OR variable names (OR both!) with syntactic markers so there >> will be NO confusion. > > I might be being bit OT, but, you should give Common Lisp a try. It > does something similar for functions versus variables. > > As for the issue, I suppose I can see how this would be confusing. I > don't agree with your solution, though. It also has some problems. For instance, if an object has a member which is a type that implements __call__ but is also useful to access "on its own", is that a field or a function? Personally, I'd suggest the thing to "fix" to solve your confusion would be how things like your code completion and dir() display the results, not anything fundamental about the language. (And also the datetime API.) PyDev, for instance, tries to show you what "kind" of thing each entry in its completion menu are. Evan