Roadmap proposal for 3.10/4.0

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
44 messages Options
123
Reply | Threaded
Open this post in threaded view
|

Re: Complex numbers (was Re: Roadmap proposal for 3.10/4.0)

Martin Kuball
Am Tuesday, 17. October 2006 11:52 schrieb Bert Freudenberg:

> Am 17.10.2006 um 03:45 schrieb Ken Dickey:
> > Greetings,
> >
> > I'd like to raise the idea of changing the complex number code in
> > 3.10/4.0.
> >
> > See change set at:
> > http://bugs.impara.de/view.php?id=3311
> >
> >
> > Current (3.8/3.9):
> >   2i isNumber. "false"
> >   -4 ln. "NaN"
> >   -4 sqrt. "exception"
> >
> >  Alternate Code:
> >   2i isNumber. "true"
> >   -4 ln. "(1.38629436111989 +3.141592653589793i)"
> >   -4 sqrt. "2.0i"
> >
> >
> > I consider this a "community issue".
> >
> > Questions:
> >   - Are there users of complex numbers (does anyone care)?
> >   - Assuming yes, are there objective criteria for choosing between
> > alternate
> > implementations?
> >    + behavior/completeness/test-cases
> >    + performance (I suspect that "the wrong answer fast" is not the
> > Smalltalk
> > way as we can always augment the primOps)
> >    + complex number user community vote
> >    + other...?
> >
> > I am actually agnostic as to which code base gets chosen, but we
> > really should
> > get the answers right.
>
> Well, in best Smalltalk tradition I would vote for the alternate
> code. It's similar to fractional arithmetic ( 3 / 4 ). Yes, fractions
> bite some newbies, but they learn to use #// or #asFloat fast enough.
> Same here - if you need an error when taking a negative's square
> root, send #asFloat.
>
> It's also a bit similar to Smalltalk being one of the few systems
> with correct integers, where a bug like this is not possible:
>
> http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-
> it-nearly.html
>
> I'd like to have no arbitrary limits, like forbidding to take the
> logarithm of negative numbers.

And if complex is a loadable module people not having it in their image
will get the exceptions while others get the full power of complex
numbers. I would like that.

Martin

Reply | Threaded
Open this post in threaded view
|

re: Complex numbers (was Re: Roadmap proposal for 3.10/4.0)

Schwab,Wilhelm K
In reply to this post by Bert Freudenberg
Bert,

===================================
Well, in best Smalltalk tradition I would vote for the alternate
code. It's similar to fractional arithmetic ( 3 / 4 ). Yes, fractions
bite some newbies, but they learn to use #// or #asFloat fast enough.
Same here - if you need an error when taking a negative's square
root, send #asFloat.

It's also a bit similar to Smalltalk being one of the few systems
with correct integers, where a bug like this is not possible:

http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-
it-nearly.html

I'd like to have no arbitrary limits, like forbidding to take the
logarithm of negative numbers.
===================================

Your point about fractions is well taken.  In fact, I guess I must still
be a newbie, at least at times =:0   Just as fractions are quite useful,
complex numbers would be too.  However, I submit that it is critical to
resist silently taking the real part or modulus when an error would be
appropriate.

Bill




Wilhelm K. Schwab, Ph.D.
University of Florida
Department of Anesthesiology
PO Box 100254
Gainesville, FL 32610-0254

Email: [hidden email]
Tel: (352) 846-1285
FAX: (352) 392-7029


Reply | Threaded
Open this post in threaded view
|

Re: Roadmap proposal for 3.10/4.0

Damien Cassou-3
In reply to this post by KenDickey
Ken Dickey a écrit :
>   -4 sqrt. "2.0i"

If I remember correctly what my math teacher taught me, this is incorrect.


Rule of square roots:
---------------------
a sqrt * b sqrt = (a*b) sqrt

Applied to -4:
--------------
(-4) sqrt * (-4) sqrt = 16 sqrt = 4

With your equality:
-------------------
(-4) sqrt * (-4) sqrt = 2i * 2i = -4


We then have the same expression returning two different values. My
teacher concluded saying "sqrt is a function only valid for positive
numbers"

Bye

--
Damien Cassou


Reply | Threaded
Open this post in threaded view
|

Re: Roadmap proposal for 3.10/4.0

Hans-Martin Mosner
Damien Cassou schrieb:

> Ken Dickey a écrit :
>>   -4 sqrt. "2.0i"
>
> If I remember correctly what my math teacher taught me, this is
> incorrect.
>
>
> Rule of square roots:
> ---------------------
> a sqrt * b sqrt = (a*b) sqrt
>
> Applied to -4:
> --------------
> (-4) sqrt * (-4) sqrt = 16 sqrt = 4
>
> With your equality:
> -------------------
> (-4) sqrt * (-4) sqrt = 2i * 2i = -4
>
>
> We then have the same expression returning two different values. My
> teacher concluded saying "sqrt is a function only valid for positive
> numbers"
>
Your math teacher had a limited horizon (or you remember incorrectly).
I would rather conclude "the Rule of square roots is only valid for
positive numbers".
Additionally, remember that with only positive numbers, the square root
is defined as the positive solution to the equation x*x = a. There
always is a negative solution as well.

The equation x*x = 4 has two solutions, 2 and -2.
Similarly, x*x = -4 also has two solutions, 2i and -2i.
If you multiply these two, you get 4 (=16 sqrt).
Where's the problem? :-)

Cheers,
Hans-Martin

Reply | Threaded
Open this post in threaded view
|

Re: Roadmap proposal for 3.10/4.0

Michael Nedzelsky
On Tue, 17 Oct 2006 11:31 pm, Hans-Martin Mosner wrote:

> Damien Cassou schrieb:
> > Ken Dickey a Иcrit :
> >>   -4 sqrt. "2.0i"
> >
> > If I remember correctly what my math teacher taught me, this is
> > incorrect.
> >
> >
> > Rule of square roots:
> > ---------------------
> > a sqrt * b sqrt = (a*b) sqrt
> >
> > Applied to -4:
> > --------------
> > (-4) sqrt * (-4) sqrt = 16 sqrt = 4
> >
> > With your equality:
> > -------------------
> > (-4) sqrt * (-4) sqrt = 2i * 2i = -4
> >
> >
> > We then have the same expression returning two different values. My
> > teacher concluded saying "sqrt is a function only valid for positive
> > numbers"
>
> Your math teacher had a limited horizon (or you remember incorrectly).
> I would rather conclude "the Rule of square roots is only valid for
> positive numbers".
I am sorry, but "the Rule of square roots is only valid for
nonnegative numbers".

Michael Nedzelsky


Reply | Threaded
Open this post in threaded view
|

Re: open process issues (was: Roadmap proposal for 3.10/4.0)

Marcus Denker
In reply to this post by Lex Spoon
>
> For small changes, we still seem to be operating in a vacuum.  I am
> unmotivated to fix bugs in core Squeak and in the Unix port, because
> in both cases the fixes are often ignored.  SharedQueue, one of our
> fundamental synchronization constructs, has been broken for over a
> year now, despite a fix being available [4].  Should I ever again blow
> away a Saturday like that?  Nobody likes being a sucker who fights
> harder for something than its own management.

I added this improved SharedQueue as SharedQueue2 to 3.9 very early:

| MarcusDenker  10-07-05 18:09  in 3.9 for further testing

Sadly, nobody tested it. The next entry on mantis is yours from end  
of september
(we where past gamma then, so we can't do this change):

| lexspoon  09-28-06 10:47
| It has been a year, now, and no problems have come to light. We  
should start migrating to this.
|  All it requires is replacing SharedQueue by SharedQueue2.

So I don't see how it is my fault to not have added this: It is a  
grave change, breaking
the image on that level is far from fun, so this is not a fix to be  
added and then tested
("let's see if it works"). It needs at least some testing by someone  
before that.

If somebody would have tested it, I would have added it to 3.9a.

Even your note, if you would have posted that half a year earlier,  
this change
would be in 3.9. Or you could have written a mail. *something*.  
*anything*.

What I think as strange is that people critize so hard for the  
percived fact that
there was a bottleneck in getting things accepted in 3.9. I don't  
think that there
was a too big one, compared to earlier release cycles. There was a  
bottleneck
in reviewing and testing. And with that, everybody could have helped.  
And some
people did.

In 3.9a, we managed to get mantis down to 275 entries, closing over 800.
That's *a lot*. And two month ago, I would have bet that if people  
would evaluate
the negative aspects of 3.9a, they would have said something like a)  
"this guy adds
every crap", not "b) there is a bottleneck, nothing got accepted".  
And I am actually even
now convenced that a) actually is kind of more true than b).

          Marcus



Reply | Threaded
Open this post in threaded view
|

Re: Complex numbers (was Re: Roadmap proposal for 3.10/4.0)

Marcus Denker
In reply to this post by Bert Freudenberg

On 17.10.2006, at 11:52, Bert Freudenberg wrote:

>
> Well, in best Smalltalk tradition I would vote for the alternate  
> code. It's similar to fractional arithmetic ( 3 / 4 ). Yes,  
> fractions bite some newbies, but they learn to use #// or #asFloat  
> fast enough. Same here - if you need an error when taking a  
> negative's square root, send #asFloat.
>
> It's also a bit similar to Smalltalk being one of the few systems  
> with correct integers, where a bug like this is not possible:
>
> http://googleresearch.blogspot.com/2006/06/extra-extra-read-all- 
> about-it-nearly.html
>
> I'd like to have no arbitrary limits, like forbidding to take the  
> logarithm of negative numbers.

I am 99% convinced that the languages we use in 50 years, whatever  
the paradigm will be,  will have a complete "real math" subsystem,  
kind of
like a little mathematica, but as part of the mainstream language.

There is no law of nature that requires a programming language to  
only have crappy math... it's what we had in the past, but just for
space and performance reasons for the small machines and small  
problems of today.

With the machines and the memory we will have, this does not need to  
be the case anymore.

This is a bit the same like with memory management: With tiny  
machines solving tiny problems, it's simpler (and faster)
to control the memory yourself. But then, when the systems get huge,  
it's not only simpler but even faster
to have the higher abstraction: Big C++ programms tend to spend more  
time with hand-crafted memory management that a good automatic
incremental GC.

Same with math: in the end, like with all advances we will see,  
having "real math" in the language will not only be more convinient, but
even faster and more memory efficient for the problems and machines  
we will see.

       Marcus




Reply | Threaded
Open this post in threaded view
|

Re: open process issues (was: Roadmap proposal for 3.10/4.0)

David T. Lewis
In reply to this post by Marcus Denker
On Tue, Oct 17, 2006 at 11:43:46PM +0200, Marcus Denker wrote:
>
> What I think as strange is that people critize so hard for the percived
> fact that there was a bottleneck in getting things accepted in 3.9. I
> don't think that there was a too big one, compared to earlier release
> cycles.

Agreed.

> There was a bottleneck in reviewing and testing. And with that, everybody
> could have helped. And some people did.

Agreed.

I did a very small amount of helping here, so let me offer my feedback.
For me, it was difficult to review changes and test things because this
often required downloading a complete new version of an image. This is
time consuming and not much fun, so I did not do it very often.

The solution is simple. Use a release stream with change sets just like
SqC did. That makes it easy and *enjoyable* to keep a testing image
that is up to date with the release stream, and that contains a complete
record of all the things that have been changed in the recent development
process. I can see what changes occurred in what change sets, and when
they were applied. I can read the preambles to get an explanation of
why they are there. Last but not least, I can be reasonably confident
that the author initials are those of the actual author.

> In 3.9a, we managed to get mantis down to 275 entries, closing over 800.
> That's *a lot*.

Excellent. Well done indeed!

Dave


Reply | Threaded
Open this post in threaded view
|

Re: open process issues

Andreas.Raab
In reply to this post by Lex Spoon
Lex Spoon wrote:
> So here's a challenge for you, board: how do we get fixes processed?
> All the really cool Squeak stuff happens at the periphery [3].  The
> question for the board is thus: how do we handle the simple, prosaic
> patches?

 From my point of view there is a really simple answer to that question:
By delegating them to the maintainers. And if they aren't any, it won't
get fixed. It's as simple as that. After all you can always volunteer
for the maintainer position and if, and ONLY if, you get turned down you
have something to complain about. In other words, I do accept your
complaint about Unix code since we have a maintainer there and we should
figure out what's going wrong. I do NOT accept the complaint about
SharedQueue unless you are willing to sign up for the job of maintaining
Collections or at least the part of it you were just working on.

Cheers,
   - Andreas

Reply | Threaded
Open this post in threaded view
|

Respect (was Re: Roadmap proposal for 3.10/4.0)

Juan Vuletich (dc)
In reply to this post by Hans-Martin Mosner
Come on, folks,

This mail is not only about Damien, but many others too.

This is a request to anybody who considers himself a beginner or
newcomer, and sends lots of mail to the list.

In this community we have lots of wise and knowledgeable people. Many
have PhDs or are active researchers. Many have been involved in the
development of Smalltalk systems for very long time. Many spent many
years using Smalltalk, reading and writing about it, and helping it evolve.

This list is very friendly, and there is no censorship. So, please, have
some respect for others and before sending a request, ask yourself:
- Do I have a clear idea of what we are talking about?
- Do I understand how Squeak is dealing with that and why?
- Do I know if most people here think differently and why?
- Have I thought a bit about what I'm going to say?
- Do I know how to do what I'm asking for?
- Can I do it, as a collaboration to the project?
- Can I, at least, offer some help?

If the answer to some of this questions is NO, please consider reading
silently and learn.
Or at least ask politely, instead of barking.

Please keep in mind:
The probability of we all being plain wrong for many years, waiting
specifically for you to finally enlighten us, is pretty small.

Cheers,
Juan Vuletich

Hans-Martin Mosner wrote:
... a response that was too polite in my opinion
> Damien Cassou schrieb:
>  
... some naive ideas about complex numbers

Reply | Threaded
Open this post in threaded view
|

Re: Respect (was Re: Roadmap proposal for 3.10/4.0)

Hans-Martin Mosner
Juan Vuletich schrieb:
> ...
>
> If the answer to some of this questions is NO, please consider reading
> silently and learn.
> Or at least ask politely, instead of barking.
>

>
> Hans-Martin Mosner wrote:
> ... a response that was too polite in my opinion
>> Damien Cassou schrieb:
>>  
> ... some naive ideas about complex numbers
>
>
Never mind, Juan - I am in no way a math expert myself, so my
explanation might be as bogus as well, and I was just trying to make a
little fun of Damien. You know, he has been an intern in our company for
the summer, and due to my current project I have never even met him once
during that time in person, so I needed to get into touch with him here :-)

Cheers,
Hans-Martin

Reply | Threaded
Open this post in threaded view
|

Re: Respect (was Re: Roadmap proposal for 3.10/4.0)

Damien Cassou-3
In reply to this post by Juan Vuletich (dc)
Hello Juan,

Juan Vuletich a écrit :

> Come on, folks,
>
> This mail is not only about Damien, but many others too.
>
> This is a request to anybody who considers himself a beginner or
> newcomer, and sends lots of mail to the list.
>
> In this community we have lots of wise and knowledgeable people. Many
> have PhDs or are active researchers. Many have been involved in the
> development of Smalltalk systems for very long time. Many spent many
> years using Smalltalk, reading and writing about it, and helping it evolve.
>
> This list is very friendly, and there is no censorship. So, please, have
> some respect for others and before sending a request, ask yourself:
> - Do I have a clear idea of what we are talking about?
> - Do I understand how Squeak is dealing with that and why?
> - Do I know if most people here think differently and why?
> - Have I thought a bit about what I'm going to say?
> - Do I know how to do what I'm asking for?
> - Can I do it, as a collaboration to the project?
> - Can I, at least, offer some help?
>
> If the answer to some of this questions is NO, please consider reading
> silently and learn.
> Or at least ask politely, instead of barking.
>
> Please keep in mind:
> The probability of we all being plain wrong for many years, waiting
> specifically for you to finally enlighten us, is pretty small.
>
> Cheers,
> Juan Vuletich
>
> Hans-Martin Mosner wrote:
> ... a response that was too polite in my opinion
>> Damien Cassou schrieb:
>>  
> ... some naive ideas about complex numbers


I don't really understand why you are reacting like this. I never
criticize other work, only give my opinion. In my mail, I was just
trying to remember my math lessons and share them. Hans-Martin answered
me and I perfectly understood his position and agreed.

In your opinion, people should only write a mail if they are 100% sure
about what they want to write. I disagree. I think people learn better
when they made mistakes and those mistakes get corrected by more
experienced people.

Hans-Martin taught me something and it would not have been the case if I
had stayed away from my keyboard.

Hope you will allow me to continue writing mails here.

--
Damien Cassou


Reply | Threaded
Open this post in threaded view
|

Re: Respect (was Re: Roadmap proposal for 3.10/4.0)

Juan Vuletich (dc)
Hello Damien

Your message was completely polite. My answer was for you but also for
many recent senders, some of them not as polite as you. Many requesting
the community to fulfill their wishes, without showing any intention of
helping in the process. Many without knowing or understanding what Squeak
is about.

I guess I should have started a new thread instead of answering your's. I
apologize for that.

As I said, there is no censorship here. I have no power or intentions to
censor you or anybody.

It is just that there is really a lot of people here. And many of them
really brilliant. To me, this is more a place to learn that a place to
teach. I'm usually quiet. Before I send mail to this list, I think of the
large number of people who will read it, and ask myself "do I have
something useful to say?". Sometimes I miss this kind of consideration on
others.

I just wanted to share my opinion and attitude on this.

Cheers,
Juan Vuletich

>
> I don't really understand why you are reacting like this. I never
> criticize other work, only give my opinion. In my mail, I was just
> trying to remember my math lessons and share them. Hans-Martin answered
> me and I perfectly understood his position and agreed.
>
> In your opinion, people should only write a mail if they are 100% sure
> about what they want to write. I disagree. I think people learn better
> when they made mistakes and those mistakes get corrected by more
> experienced people.
>
> Hans-Martin taught me something and it would not have been the case if I
> had stayed away from my keyboard.
>
> Hope you will allow me to continue writing mails here.
>
> --
> Damien Cassou
>
>
>



Reply | Threaded
Open this post in threaded view
|

Re: Respect (was Re: Roadmap proposal for 3.10/4.0)

Damien Cassou-3
In reply to this post by Hans-Martin Mosner
Hans-Martin Mosner a écrit :
> Never mind, Juan - I am in no way a math expert myself, so my
> explanation might be as bogus as well, and I was just trying to make a
> little fun of Damien. You know, he has been an intern in our company for
> the summer, and due to my current project I have never even met him once
> during that time in person, so I needed to get into touch with him here :-)

Hello Hans-Martin :-)

--
Damien Cassou


Reply | Threaded
Open this post in threaded view
|

Re: open process issues (was: Roadmap proposal for 3.10/4.0)

Lex Spoon
In reply to this post by Marcus Denker
Marcus Denker <[hidden email]> writes:
> I added this improved SharedQueue as SharedQueue2 to 3.9 very early:
>
> | MarcusDenker  10-07-05 18:09  in 3.9 for further testing
>
> Sadly, nobody tested it.

Right.  As a result of this process, Squeak ends up using the
known-broken code instead of the tested, believed-fixed code.

Strange, no?  Everyone involved does good work, and we end up in a
situation like this.


-Lex


Reply | Threaded
Open this post in threaded view
|

Re: open process issues

Lex Spoon
In reply to this post by Andreas.Raab
Andreas Raab <[hidden email]> writes:

> Lex Spoon wrote:
> > So here's a challenge for you, board: how do we get fixes processed?
> > All the really cool Squeak stuff happens at the periphery [3].  The
> > question for the board is thus: how do we handle the simple, prosaic
> > patches?
>
>  From my point of view there is a really simple answer to that
> question: By delegating them to the maintainers. And if they aren't
> any, it won't get fixed. It's as simple as that. After all you can
> always volunteer for the maintainer position and if, and ONLY if, you
> get turned down you have something to complain about. In other words,
> I do accept your complaint about Unix code since we have a maintainer
> there and we should figure out what's going wrong. I do NOT accept the
> complaint about SharedQueue unless you are willing to sign up for the
> job of maintaining Collections or at least the part of it you were
> just working on.

I like your approach.  Let the individual maintainers, or stewards as
called in some proposals, make these decisions.

As is, I do not think there is an official list of
maintainers/stewards that is actually paid attention to.  Am I wrong?
The idea seems to circulate, but never become official in any way.

-Lex


Reply | Threaded
Open this post in threaded view
|

Re: open process issues

karl-8
Lex Spoon skrev:

> Andreas Raab <[hidden email]> writes:
>  
>> Lex Spoon wrote:
>>    
>>> So here's a challenge for you, board: how do we get fixes processed?
>>> All the really cool Squeak stuff happens at the periphery [3].  The
>>> question for the board is thus: how do we handle the simple, prosaic
>>> patches?
>>>      
>>  From my point of view there is a really simple answer to that
>> question: By delegating them to the maintainers. And if they aren't
>> any, it won't get fixed. It's as simple as that. After all you can
>> always volunteer for the maintainer position and if, and ONLY if, you
>> get turned down you have something to complain about. In other words,
>> I do accept your complaint about Unix code since we have a maintainer
>> there and we should figure out what's going wrong. I do NOT accept the
>> complaint about SharedQueue unless you are willing to sign up for the
>> job of maintaining Collections or at least the part of it you were
>> just working on.
>>    
>
> I like your approach.  Let the individual maintainers, or stewards as
> called in some proposals, make these decisions.
>
> As is, I do not think there is an official list of
> maintainers/stewards that is actually paid attention to.  Am I wrong?
> The idea seems to circulate, but never become official in any way.
>
> -Lex
>
>
>
>  
This is the most official list
http://www.squeak.org/Community/Teams/
Whether it's paid attention to is another issue ;-)
Karl

Reply | Threaded
Open this post in threaded view
|

Re: open process issues

Ken Causey-3
On Tue, 2006-10-24 at 22:48 +0200, karl wrote:

> Lex Spoon skrev:
> > As is, I do not think there is an official list of
> > maintainers/stewards that is actually paid attention to.  Am I wrong?
> > The idea seems to circulate, but never become official in any way.
> >
> > -Lex
> >
> >
> >
> >  
> This is the most official list
> http://www.squeak.org/Community/Teams/
> Whether it's paid attention to is another issue ;-)
> Karl
And as the previous Team Leader I will say this is THE official team
list and has been now for at least a year.

Ken



signature.asc (196 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: open process issues

Lex Spoon
Ken Causey <[hidden email]> writes:

> On Tue, 2006-10-24 at 22:48 +0200, karl wrote:
> > Lex Spoon skrev:
> > > As is, I do not think there is an official list of
> > > maintainers/stewards that is actually paid attention to.  Am I wrong?
> > > The idea seems to circulate, but never become official in any way.
> > >
> > > -Lex
> > This is the most official list
> > http://www.squeak.org/Community/Teams/
> > Whether it's paid attention to is another issue ;-)
> > Karl
>
> And as the previous Team Leader I will say this is THE official team
> list and has been now for at least a year.


Hmm, this lists teams.  What about portions of the image?  Or is it
sort of the same thing, and you mean that we should have, for example,
a Collections Team and a Concurrency Team and a Morphic Team ?


-Lex


Reply | Threaded
Open this post in threaded view
|

Re: open process issues

Ken Causey-3
On Tue, 2006-10-24 at 14:48 -0700, Lex Spoon wrote:
> > http://www.squeak.org/Community/Teams/

> Hmm, this lists teams.  What about portions of the image?  Or is it
> sort of the same thing, and you mean that we should have, for example,
> a Collections Team and a Concurrency Team and a Morphic Team ?
>
>
> -Lex

Well it should be noted that this is a complete list of all 'official'
teams which is a mixture of Steward Teams (those who have accepted
responsibility for some part of the Basic Squeak Image) and other teams
like the Website team and future/speculative teams.  Any team that is
responsible for some part of the image should have 'Stewards' as part of
the name and the description should list the Class Categories in the
image for which that team is responsible.  For example:

Morphic Stewards - Maintaining the Morphic- category of classes in the
Basic Squeak Image

There is currently no Collections or Concurrency Team.  But then there
is also no Concurrency class category so it's unlikely a team would be
named that (although the I/O Stewards team is an example that shows that
the name is not necessarily exactly that of a class category in every
example).

Ken



signature.asc (196 bytes) Download Attachment
123