[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Contribution to SES (resend)

From: Vincent Belaïche
Subject: Re: Contribution to SES (resend)
Date: Fri, 23 Apr 2010 19:45:20 +0200


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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]