From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?iso-8859-1?Q?Vincent_Bela=EFche?= Newsgroups: gmane.emacs.devel Subject: Re: Contribution to SES (resend) Date: Fri, 23 Apr 2010 19:45:20 +0200 Message-ID: <80sk6mdpvz.fsf@gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1272044875 11178 80.91.229.12 (23 Apr 2010 17:47:55 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 23 Apr 2010 17:47:55 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Apr 23 19:47:54 2010 connect(): No such file or directory Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1O5Myj-0003Iu-Dh for ged-emacs-devel@m.gmane.org; Fri, 23 Apr 2010 19:47:49 +0200 Original-Received: from localhost ([127.0.0.1]:45233 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O5Myi-0001Xd-Bf for ged-emacs-devel@m.gmane.org; Fri, 23 Apr 2010 13:47:48 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O5Mwa-0007Ul-Ni for emacs-devel@gnu.org; Fri, 23 Apr 2010 13:45:36 -0400 Original-Received: from [140.186.70.92] (port=52204 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O5MwZ-0007Ru-0H for emacs-devel@gnu.org; Fri, 23 Apr 2010 13:45:36 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O5MwW-0007uR-Sa for emacs-devel@gnu.org; Fri, 23 Apr 2010 13:45:34 -0400 Original-Received: from smtp2e.orange.fr ([80.12.242.112]:19725) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O5MwW-0007u1-Kb for emacs-devel@gnu.org; Fri, 23 Apr 2010 13:45:32 -0400 Original-Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf2e13.orange.fr (SMTP Server) with ESMTP id 6D4398000165 for ; Fri, 23 Apr 2010 19:45:30 +0200 (CEST) Original-Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf2e13.orange.fr (SMTP Server) with ESMTP id 5FBB1800015E for ; Fri, 23 Apr 2010 19:45:30 +0200 (CEST) Original-Received: from CHOUNEK (ARennes-353-1-5-82.w86-214.abo.wanadoo.fr [86.214.200.82]) by mwinf2e13.orange.fr (SMTP Server) with ESMTP id 113768000165 for ; Fri, 23 Apr 2010 19:45:29 +0200 (CEST) X-ME-UUID: 20100423174530706.113768000165@mwinf2e13.orange.fr X-Antivirus: avast! (VPS 100423-0, 23/04/2010), Outbound message X-Antivirus-Status: Clean X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:124135 Archived-At: [...] > >I don't think the speed difference is significant enough to warrant >the duplication. > >> Actually the very main reason for both to coexist is that the default >> orientation for ses-range is `<^', while the default for ses-list is [...] > >And a different default doesn't seem like a strong enough >justification either. You can easily add >v to your uses if you prefer it. > OK, would you mind if there was some customizable variable ses-range-default-flags to hold a list of flags to copy by default to minibuffer when you insert a range. I really hate the <^ direction, and I find it painful to type every time this >v flag as you suggest. >> Does the compiler factorize code well ? > >It doesn't. And if you use #N=...#N# to make cyclic code, it will >happily loop forever. > I am not perverse enough (yet) to make any cyclic code for sure, just code factorization to diminish memory footprint of functions. Saving memory is not too bad an idea. Isn't it ? Or, in other words, what is the alternative proper way that you propose to save the same amount of memory without the #N= & #N# constructs. [...] >>> - please use `case' rather than assq+eval (I usually dislike `eval'). >> Do you mean `cond', not `case' ? Please clarify. > >No, I mean `case'. It's a CL macro. > OK I will learn that. Thanks for the tip. >> Why do you dislike `eval' ? (I am a curious one). > >Because it hides code from the compiler. > OK, I didn't know that: this is a a very good reason not to use it. Thank you for teaching me this one. One has to be kind with those little things that compilers are. >>> - The !0 and !. should be replaced by a single flag that comes with >>> the default value to use. >> OK, I like your idea. So `!' could be to remove nil and *skip* and `_ 0' >> would replace them by 0, and, if `_' is last, default of default would >> be 0. Would this be fine (notably `_' to mean blanking by some default). > >That sounds OK, yes. > Fine. > >> Maybe we could also have those shorthands : > >> | one letter symbol | meaning | >> |-------------------+---------| >> | > | >v | [...] > >These are still special symbols, so they're not any better, in my opinion. > Yes, I did not expect that you would find them any better. My question was rather whether adding them would be any worse ? I think that having said that matrix reduction (to speak Calc-ese) is most often in one single dimension, having those symbols also does not make things worse, on the contrary. > > Stefan I will prepare another post with the following corrections: 1. use ses-range only (no separate function) 2. use case instead of eval+assq For the other discussion items (#N=&#N#, flag symbols, default flags), I am waiting for more feedback (sorry to be hard to convince sometimes). Vincent.