Path: csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!newsfeed.xs4all.nl!newsfeed4.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!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.019 X-Spam-Evidence: '*H*': 0.96; '*S*': 0.00; 'subject:Python': 0.06; 'diff': 0.07; 'modes': 0.09; 'screen.': 0.09; 'subject:language': 0.09; 'cc:addr:python-list': 0.11; 'python': 0.11; 'sections': 0.14; 'emit': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'marty': 0.16; 'non-ascii': 0.16; 'raised,': 0.16; 'subject: \n ': 0.16; 'words.': 0.16; '(you': 0.16; 'sat,': 0.16; 'language': 0.16; 'wrote:': 0.18; 'obviously': 0.18; 'input': 0.22; 'putting': 0.22; 'cc:addr:python.org': 0.22; 'keyboard': 0.24; 'unicode': 0.24; 'cc:2**0': 0.24; 'header:In- Reply-To:1': 0.27; 'point': 0.28; 'character': 0.29; 'ideal': 0.29; 'characters': 0.30; 'mode': 0.30; 'especially': 0.30; 'subject:list': 0.30; 'message-id:@mail.gmail.com': 0.30; 'code': 0.31; 'that.': 0.31; 'equality': 0.31; 'keys': 0.31; 'noticed': 0.34; 'could': 0.34; 'problem': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'earth': 0.36; 'requiring': 0.38; 'pm,': 0.38; 'rather': 0.38; 'that,': 0.38; 'how': 0.40; 'even': 0.60; 'easy': 0.60; 'blank': 0.60; 'letters': 0.60; 'today.': 0.61; 'entire': 0.61; 'real': 0.63; 'different': 0.65; 'mar': 0.68; 'press': 0.70; 'touch': 0.74; 'hey,': 0.75; 'subject:this': 0.83; 'device,': 0.91; 'light,': 0.91; 'to:none': 0.92; 'url:14': 0.95; 'picture': 0.97 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:cc :content-type; bh=PhwqYJUzgBYFN8Myvs1xCay7Byq9JSf42DSS/Uxj0Ho=; b=QuRjxuqCjPpStkwlaVSM9K8w5zI9gEDnspZNmD42+M5KG/DZuYOUcwwK2CABxd/yhp 7nfgUy43KfY+E60+FzLnVbAFXf5SLRV0KJB20F0g7GEw1ovy0MQB2Gb8HJElj9LlmeGf c28YgZj8GuNARlvylTwC4OAZ9pxHEjg8n1FmkDwBCYcg4AwF7gzSkaCw/nbYqBub8Xd1 /vr9fAJXBz1F7Fznr0Mdyi/qIgcqZJJ89jDh/w6c8oE35RbQBImIWNNpjYA7QEj7qWZm jLE5/7f+Kl7ql3pq/vX/02lLH6stXeptHIuSw257uA24W1awjhZStGCMASfp2QIqXCoe Ghng== MIME-Version: 1.0 X-Received: by 10.66.41.106 with SMTP id e10mr12445402pal.109.1396068522335; Fri, 28 Mar 2014 21:48:42 -0700 (PDT) In-Reply-To: References: <9daf0806-02de-4447-964c-c8f8953c23e5@googlegroups.com> <532d5bd9$0$29994$c3e8da3$5496439d@news.astraweb.com> <87ior3w740.fsf@elektro.pacujo.net> <5334c38e$0$29994$c3e8da3$5496439d@news.astraweb.com> <53364327$0$29994$c3e8da3$5496439d@news.astraweb.com> Date: Sat, 29 Mar 2014 15:48:42 +1100 Subject: Re: Explanation of this Python language feature? [x for x in x for x in x] (to flatten a nested list) From: Chris Angelico Cc: "python-list@python.org" Content-Type: text/plain; charset=UTF-8 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: 37 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1396068531 news.xs4all.nl 2895 [2001:888:2000:d::a6]:42838 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:69311 On Sat, Mar 29, 2014 at 3:07 PM, Mark H Harris wrote: > You think ~sooo three dimensionally. Yeah Doc, I have a real problem with that. -- Marty McFly > Picture this ~a unicode keyboard with morphing keytops (digital ink, light > emitting); a standard layout of keys that are touch sensitive, are meta > operative, and are able to input *every* language on earth (as well any > symbol). The keyboard may emit light, but not necessarily. The keys may be > raised, but not necessarily; they have a glassy feel, soft, sensual, and > completely programmable. Code point pages (key top mappings literally) are > selectable on|off screen. The keyboard is obviously wireless, and the entire > keytopsection is mouse-able; the whole keyboard is a pinting device, with > diff sections for scrolling &c. > > This keyboard will be standard in about 25 years... none exist today. Wrong. You just have to be willing to pay for it. http://www.thinkgeek.com/product/181d/?srp=14 Or you could just get a blank keytops keyboard and reprogram it how you like. But hey, have you noticed something? NOT ONE of these ideas actually makes it easy to write Python code with occasional non-ASCII characters in it. Switching keyboard mode for a single character is horribly inefficient, especially if you have to remember a whole lot of different modes for different characters ("lambda is meta-butterfly-greek L meta-ctrl-space, and equality is meta-mathematics 5 meta-ctrl-space"). Putting everything onto a single keyboard is unworkable. Requiring you to press long key sequences to generate single characters is useless. (You may as well just press L-A-M-B-D-A and have it come out as "lambda".) Even with an ideal keyboard, the creature of your fancies, you won't get past that, for the same reason that we have keyboards that type letters rather than English words. ChrisA