unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: "Vincent Belaïche" <vincent.b.1@hotmail.fr>
Cc: emacs-devel@gnu.org
Subject: Re: Contribution to SES (resend)
Date: Fri, 23 Apr 2010 02:24:00 -0400	[thread overview]
Message-ID: <jwvvdbiofsy.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <80sk6mspv1.fsf@gmail.com> ("Vincent Belaïche"'s message of "Fri, 23 Apr 2010 07:24:34 +0200")

> This was my orginal idea, but then I thought that ses-range being a
> slightly faster implementation, it might be valuable to keep it. 

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
> `>v'. I find it very convenient to have >v because this is the usual
> orientation in the Western world (even though this is not universal, I
> am a westerner after all). And all spreadsheets I know have cell (0,0)
> in the top left corner, so it is good to have this orientation by
> default.

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.

Please just change the default of ses-list to be compatible with
ses-range and rename it to ses-range (a more informative name,
methinks).

>> - Hmmm.... #N= + #N# in source code ... I'd rather avoid it.
> Does the compiler factorize code well ?

It doesn't.  And if you use #N=...#N# to make cyclic code, it will
happily loop forever.

> BTW `^>' is not the reverse of `>^'.

Yes, the multi-dimensional case probably justifies the complexity.

>> - 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.

> Why do you dislike `eval' ? (I am a curious one).

Because it hides code from the compiler.

>> - 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.

>> - I'm not convinced I like those special symbols (but I don't have
>> a good counter-proposition either).
> Please feel free to make one. I was thinking first of taking the picture
> orientation symbols > < ^ . / \ ' and `. But then I find that those I
> proposed are easier to understand: you don't read a table in diagonal,
> don't you (I don't know whether you can say that in English "lire en
> diagonale", to mean "read without carefull attention").

> Maybe we could also have those shorthands :

>  | one letter symbol | meaning |
>  |-------------------+---------|
>  | >                 | >v      |
>  | <                 | <v      |
>  | v                 | v>      |
>  | ^                 | ^>      |
 
> Would this make sense (notably for one row, or one col tables where you
> don't care the other direction) ?

These are still special symbols, so they're not any better, in my opinion.


        Stefan




  reply	other threads:[~2010-04-23  6:24 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-23  5:24 Contribution to SES (resend) Vincent Belaïche
2010-04-23  6:24 ` Stefan Monnier [this message]
  -- strict thread matches above, loose matches on Subject: below --
2010-06-20 17:34 Vincent Belaïche
2010-04-24 19:35 Vincent Belaïche
2010-04-23 17:45 Vincent Belaïche
2010-04-23 18:14 ` Stefan Monnier
2010-04-22  7:56 Vincent Belaïche
2010-04-22  6:52 Vincent Belaïche
2010-04-22 21:54 ` Stefan Monnier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvvdbiofsy.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=emacs-devel@gnu.org \
    --cc=vincent.b.1@hotmail.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).