Pharo changing the game

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

Re: Pharo changing the game

Mariano Martinez Peck


On Fri, Feb 12, 2010 at 2:09 PM, Lukas Renggli <[hidden email]> wrote:
> It is interesting to note that of course, after this was added to 3.9, there was
> someone *very hard* arguing that adding Pragmas was a very dumb idea...
>
> Who that person was is left as an exercise to the reader of course ;-)

Hint: FFI has its own proprietary hardcoded pragma format. It
unnecessary complicates the compiler even when not loaded. Not to
mention that it breaks all tools that have their own parser, such as
RB for example.

And I hate having to write <apicall:      in windows and  <cdecl:  in Unix*
I would love to be the same and that someone else takes care, not me (the user).
Do you know if there is a reason for this?   I imagine that yes.
 

Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch

_______________________________________________


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Lukas Renggli
In reply to this post by Stéphane Ducasse
> another point, what about automatic initialize?
> At one point in the past VW (eliot) was really for introducing it in VW since it would not cost
> anything in presence of the JIT.
> Dolphin people did it on Model but they told me that if they could they would remove it.
> and this is a really important change to lower the entry level and burden of newcomers.

ANSI does not say anything about object initialization, so we can do
whatever we want and this is fine.

If all Smalltalk would adopt the initialization pattern of Pharo we
wouldn't need a WAObject class that calls #initialize on all platforms
exactly the same way. Either way, for us it doesn't matter how Pharo
(or any other Smalltalk) initializes an object. It is really simple to
customize.

Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Lukas Renggli
In reply to this post by Mariano Martinez Peck
>> Hint: FFI has its own proprietary hardcoded pragma format. It
>> unnecessary complicates the compiler even when not loaded. Not to
>> mention that it breaks all tools that have their own parser, such as
>> RB for example.
>
> And I hate having to write <apicall:      in windows and  <cdecl:  in Unix*
> I would love to be the same and that someone else takes care, not me (the
> user).
> Do you know if there is a reason for this?   I imagine that yes.

The reason given by then was that there are a few (1 or 2) existing
users of the FFI package.

Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Lukas Renggli
In reply to this post by Stéphane Ducasse
On 12 February 2010 14:51, Stéphane Ducasse <[hidden email]> wrote:
> I agree with you lukas
> but my point is that we should be also cautious about not limiting ourselves because of
> some reasons. I prefer to see a good idea spread in other smalltalk than abandon/not implemented
> because not compatible.

I agree with you too :-)

Lukas


>
>
>> <summary>My point is that the ANSI standard is **not restrictive**. It
>> does **not prevent** you from inventing a better future. It allows you
>> to do whatever you like. I argue to not break the ANSI standard
>> unnecessarly, but support it and avoid further fritting of the
>> different Smalltalk implementations. If possible, we should also try
>> to adopt APIs of existing functionality in other dialects.</summary>
>>
>>> you mean like nil been able to be put in a set?
>>> I would like to have nil as any other object and I hope that this is in the standard.
>>
>> ANSI does not say anything about that. We are free to do whatever we want.
>>
>>> I would like to have immutability for certain classes (string, point....)
>>> Does the standard says something about it?
>>
>> ANSI does not say anything about that. We are free to do whatever we want.
>>
>> However, since VW already implements immutability, it would probably
>> be beneficial to chose an API that is close to the VW implementation.
>>
>>> My point is that I'm in favor of compatibility but not at the cost of been kept in the 80e
>>> I want to live in the 2020 years.
>>
>> The ANSI standard doesn't say anything about Exceptions or Pragmas either.
>>
>> - Exceptions: Today all Smalltalk platforms support the same exception
>> API, mainly due to the fact that Seaside makes heavy use of some very
>> specific exception features like resumable exceptions, exception sets,
>> nesting exceptions, etc. VA had a very different implementation.
>> Nowadays they do support basically the same protocol as Pharo, thanks
>> to the tests we wrote for Seaside.
>>
>> - Pragmas: In the beginning only VW had pragmas. I implemented the
>> same API for Squeak 3.9. Today all existing Smalltalk platforms
>> support these kind of pragmas. Pragmas and exceptions are suddenly
>> portable, what is a great win.
>>
>> Lukas
>>
>> --
>> Lukas Renggli
>> http://www.lukas-renggli.ch
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



--
Lukas Renggli
http://www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Peter Hugosson-Miller
In reply to this post by Stéphane Ducasse
On Fri, Feb 12, 2010 at 10:30 AM, Stéphane Ducasse <[hidden email]> wrote:
another point, what about automatic initialize?
At one point in the past VW (eliot) was really for introducing it in VW since it would not cost
anything in presence of the JIT.
Dolphin people did it on Model but they told me that if they could they would remove it.
and this is a really important change to lower the entry level and burden of newcomers.

Now because of "compatibility" we have to code without it for me this is a drawback.

I know this is probably a stupid question, but rather than miss something important, I'll take that risk :-p

What do you mean by "automatic initialize"?

--
Cheers,
Peter

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Henrik Sperre Johansen
In reply to this post by Stéphane Ducasse

Den 12.02.2010 14:52, skrev Stéphane Ducasse:
>> > Hint: FFI has its own proprietary hardcoded pragma format.
>
> PS: do you know if FFI declarations are compatible with VW ones or they are
> just funky?
>  

FWIW, DLLCC-declarations are not pragma-compatible either, not sure if
they're the same as FFI though.
In fact, seing as how ExternalMethod depends on inst var indexes,  you
*can't* annotate DLLCC-methods (AnnotatedMethod adds inst var with
pragmas, so can't easily make ExternalMethod a subclass of it).
I see it's implemented differently in Squeak/Pharo though, is it
possible to do that with FFI? How about Alien?

In my mind, that is a loss for external libraries accessing-code which
wants to provide a nice way to deal with changing versions (where
version is queriable from the library), as it .

F.ex. in the case of OpenGL, being able to tag the ExternalMethods with
pragmas like <coreMajor: > <coreMinor: > <deprecatedMajor:> <ext: >
<nv:>, etc would make it possible to know if an unsuccessfully resolved
method was due to not being supported by your driver/hardware, or a
coding error somewhere.
It would also be easier to programatically build version-compliant
interfaces instead of always prividing an Interface with a superset of
what is needed/available.

Plus, reasoning about which versions of a plugin is required from a
piece of code using the interface gets a whole lot easier.

Sure, you can do all of the above with dictionaries of which versions
include which methods, but upgrading that to support a new version would
be a huge pain, wheras with the pragma approach you simply add new
annotations for the things which have changed.

Cheers,
Henry



_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Stéphane Ducasse
In reply to this post by Peter Hugosson-Miller
Hi Peter

there is no stupid question! Only people afraid to ask.
Stupidity is when you ask three times the same question.
In this list we can ask all the stupid question we want.

So thanks for taking the risk :)

automatic initialize= calling automatically initialize when calling new

avoid to have to all the time write

Box class>>new
        ^ super new initialize ; yourself

kind of desastrous for newbies. You know after two lectures you have to nearly explain metaclasses, and deep super + method lookup...

In Squeak 3.7 we got a chance to have an agreement to have

Behavior>> new
        ^ self basicNew initialize
Object>>initialize
        ^ self
and some shortcuting behavior on array to speed up the system.
it makes so many things much much nicer.



On Feb 12, 2010, at 3:15 PM, Peter Hugosson-Miller wrote:

> On Fri, Feb 12, 2010 at 10:30 AM, Stéphane Ducasse <[hidden email]> wrote:
> another point, what about automatic initialize?
> At one point in the past VW (eliot) was really for introducing it in VW since it would not cost
> anything in presence of the JIT.
> Dolphin people did it on Model but they told me that if they could they would remove it.
> and this is a really important change to lower the entry level and burden of newcomers.
>
> Now because of "compatibility" we have to code without it for me this is a drawback.
>
> I know this is probably a stupid question, but rather than miss something important, I'll take that risk :-p
>
> What do you mean by "automatic initialize"?
>
> --
> Cheers,
> Peter
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

csrabak
In reply to this post by Peter Hugosson-Miller
Em 12/02/2010 12:15, Peter Hugosson-Miller < [hidden email] > escreveu:


>  I know  this is  probably a stupid  question, but rather  than miss
> something important, I'll take that risk :-p
>  What do you mean by "automatic initialize"?

« The only stupid question is one not asked. »

;-)

--
Cesar Rabak


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Peter Hugosson-Miller
In reply to this post by Stéphane Ducasse
On Fri, Feb 12, 2010 at 3:33 PM, Stéphane Ducasse <[hidden email]> wrote:
Hi Peter

there is no stupid question! Only people afraid to ask.
Stupidity is when you ask three times the same question.
In this list we can ask all the stupid question we want.

So thanks for taking the risk :)

automatic initialize= calling automatically initialize when calling new

avoid to have to all the time write

Box class>>new
       ^ super new initialize ; yourself

kind of desastrous for newbies. You know after two lectures you have to nearly explain metaclasses, and deep super + method lookup...

In Squeak 3.7 we got a chance to have an agreement to have

Behavior>> new
       ^ self basicNew initialize
Object>>initialize
       ^ self
and some shortcuting behavior on array to speed up the system.
it makes so many things much much nicer.



On Feb 12, 2010, at 3:15 PM, Peter Hugosson-Miller wrote:

> On Fri, Feb 12, 2010 at 10:30 AM, Stéphane Ducasse <[hidden email]> wrote:
> another point, what about automatic initialize?
> At one point in the past VW (eliot) was really for introducing it in VW since it would not cost
> anything in presence of the JIT.
> Dolphin people did it on Model but they told me that if they could they would remove it.
> and this is a really important change to lower the entry level and burden of newcomers.
>
> Now because of "compatibility" we have to code without it for me this is a drawback.
>
> I know this is probably a stupid question, but rather than miss something important, I'll take that risk :-p
>
> What do you mean by "automatic initialize"?
>
> --
> Cheers,
> Peter
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Thanks, Stef, Cesar

So you're still talking about having the message #initialize being explicitly sent from within the #new method, right up there on Behavior. I definitely like this arrangement: one of the first things I always do is to implement #new that way, as far up as I can in the domain object hierarchy.

For a moment there I imagined you meant some "behind-the-scenes-magic", and that the #initialize send would not be explicit anywhere in the code. Now I can relax again ;-)

--
Cheers,
Peter

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Levente Uzonyi-2
In reply to this post by Mariano Martinez Peck
On Fri, 12 Feb 2010, Mariano Martinez Peck wrote:

> On Fri, Feb 12, 2010 at 2:09 PM, Lukas Renggli <[hidden email]> wrote:
>
>>> It is interesting to note that of course, after this was added to 3.9,
>> there was
>>> someone *very hard* arguing that adding Pragmas was a very dumb idea...
>>>
>>> Who that person was is left as an exercise to the reader of course ;-)
>>
>> Hint: FFI has its own proprietary hardcoded pragma format. It
>> unnecessary complicates the compiler even when not loaded. Not to
>> mention that it breaks all tools that have their own parser, such as
>> RB for example.
>>
>
> And I hate having to write <apicall:      in windows and  <cdecl:  in Unix*
> I would love to be the same and that someone else takes care, not me (the
> user).
> Do you know if there is a reason for this?   I imagine that yes.

AFAIK apicall: uses the stdcall calling convention
(http://en.wikipedia.org/wiki/X86_calling_conventions#stdcall), while
cdecl: uses the cdecl calling convention
(http://en.wikipedia.org/wiki/X86_calling_conventions#cdecl).
So it depends on the function's calling convention which you should use
(and not the OS).


Levente

>
>
>>
>> Lukas
>>
>> --
>> Lukas Renggli
>> http://www.lukas-renggli.ch
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Mariano Martinez Peck


On Fri, Feb 12, 2010 at 4:21 PM, Levente Uzonyi <[hidden email]> wrote:
On Fri, 12 Feb 2010, Mariano Martinez Peck wrote:

> On Fri, Feb 12, 2010 at 2:09 PM, Lukas Renggli <[hidden email]> wrote:
>
>>> It is interesting to note that of course, after this was added to 3.9,
>> there was
>>> someone *very hard* arguing that adding Pragmas was a very dumb idea...
>>>
>>> Who that person was is left as an exercise to the reader of course ;-)
>>
>> Hint: FFI has its own proprietary hardcoded pragma format. It
>> unnecessary complicates the compiler even when not loaded. Not to
>> mention that it breaks all tools that have their own parser, such as
>> RB for example.
>>
>
> And I hate having to write <apicall:      in windows and  <cdecl:  in Unix*
> I would love to be the same and that someone else takes care, not me (the
> user).
> Do you know if there is a reason for this?   I imagine that yes.

AFAIK apicall: uses the stdcall calling convention
(http://en.wikipedia.org/wiki/X86_calling_conventions#stdcall), while
cdecl: uses the cdecl calling convention
(http://en.wikipedia.org/wiki/X86_calling_conventions#cdecl).
So it depends on the function's calling convention which you should use
(and not the OS).


Thanks Levente. I noticed what you said. But it seems that a OS usually takes one of those conventions as default or at least most commonly used.
Would be cool to have the default implemented depending in the OS (no need to explicitly say it)  and if you don't want it (the default) just put what you want ?
 
Cheers

Mariano


Levente

>
>
>>
>> Lukas
>>
>> --
>> Lukas Renggli
>> http://www.lukas-renggli.ch
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

csrabak
Mariano,

Unfortunately the convention is from the library provider not exactly the OS.

This is a consequence of all infrastructure in present days be done in C, but
in a non distant future you would also see Pascal calling convention. . .

I think this aspect would be less important to user (general application
programmers [instead of core or 'system' programmers]) if we had already a more
complete set of libraries for typical functionality needed in the daily chores.

--
Cesar Rabak


Em 12/02/2010 14:26, Mariano Martinez Peck < [hidden email] > escreveu:



On Fri, Feb 12, 2010 at 4:21 PM, Levente Uzonyi <[hidden email]> wrote:


On Fri, 12 Feb 2010, Mariano Martinez Peck wrote:
 
 > On Fri, Feb 12, 2010 at 2:09 PM, Lukas Renggli <[hidden email]> wrote:
 >
 >>> It is interesting to note that of course, after this was added to 3.9,
 >> there was
 >>> someone *very hard* arguing that adding Pragmas was a very dumb idea...
 >>>
 >>> Who that person was is left as an exercise to the reader of course ;-)
 >>
 >> Hint: FFI has its own proprietary hardcoded pragma format. It
 >> unnecessary complicates the compiler even when not loaded. Not to
 >> mention that it breaks all tools that have their own parser, such as
 >> RB for example.
 >>
 >
 > And I hate having to write
 > I would love to be the same and that someone else takes care, not me (the
 > user).
 > Do you know if there is a reason for this?   I imagine that yes.
 

AFAIK apicall: uses the stdcall calling convention
 (http://en.wikipedia.org/wiki/X86_calling_conventions#stdcall), while
 cdecl: uses the cdecl calling convention
 (http://en.wikipedia.org/wiki/X86_calling_conventions#cdecl).
 So it depends on the function's calling convention which you should use
 (and not the OS).
 


Thanks Levente. I noticed what you said. But it seems that a OS usually takes one of those conventions as default or at least most commonly used.
Would be cool to have the default implemented depending in the OS (no need to explicitly say it)  and if you don't want it (the default) just put what you want ?
 
Cheers

Mariano


 
 Levente
 


 >
 >
 >>
 >> Lukas
 >>
 >> --
 >> Lukas Renggli
 >> http://www.lukas-renggli.ch
 >>
 >> _______________________________________________
 >> Pharo-project mailing list
 >> [hidden email]
 >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 >>
 >
 
 _______________________________________________
 Pharo-project mailing list
 [hidden email]
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




 

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Schwab,Wilhelm K
I first heard of the Pascal convention in connection with Windows programming, shortly after the KT extinction.  Right or wrong (MS' track record leaves me biased), they did it in the name of efficiency.

It is true that we can certainly use more code for everyday tasks, but that list is somewhat long.  It is unrealistic to assume that we could ever provide all needed functionality, nor is Smalltalk code always appropriate on performance grounds, so some type of callout/back facility will be essential.

Bill


-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of [hidden email]
Sent: Friday, February 12, 2010 12:00 PM
To: [hidden email]
Subject: Re: [Pharo-project] Pharo changing the game

Mariano,

Unfortunately the convention is from the library provider not exactly the OS.

This is a consequence of all infrastructure in present days be done in C, but in a non distant future you would also see Pascal calling convention. . .

I think this aspect would be less important to user (general application programmers [instead of core or 'system' programmers]) if we had already a more complete set of libraries for typical functionality needed in the daily chores.

--
Cesar Rabak


Em 12/02/2010 14:26, Mariano Martinez Peck < [hidden email] > escreveu:



On Fri, Feb 12, 2010 at 4:21 PM, Levente Uzonyi <[hidden email]> wrote:


On Fri, 12 Feb 2010, Mariano Martinez Peck wrote:
 
 > On Fri, Feb 12, 2010 at 2:09 PM, Lukas Renggli <[hidden email]> wrote:
 >
 >>> It is interesting to note that of course, after this was added to 3.9,  >> there was  >>> someone *very hard* arguing that adding Pragmas was a very dumb idea...
 >>>
 >>> Who that person was is left as an exercise to the reader of course ;-)  >>  >> Hint: FFI has its own proprietary hardcoded pragma format. It  >> unnecessary complicates the compiler even when not loaded. Not to  >> mention that it breaks all tools that have their own parser, such as  >> RB for example.
 >>
 >
 > And I hate having to write
 > I would love to be the same and that someone else takes care, not me (the  > user).
 > Do you know if there is a reason for this?   I imagine that yes.
 

AFAIK apicall: uses the stdcall calling convention
 (http://en.wikipedia.org/wiki/X86_calling_conventions#stdcall), while
 cdecl: uses the cdecl calling convention
 (http://en.wikipedia.org/wiki/X86_calling_conventions#cdecl).
 So it depends on the function's calling convention which you should use
 (and not the OS).
 


Thanks Levente. I noticed what you said. But it seems that a OS usually takes one of those conventions as default or at least most commonly used.
Would be cool to have the default implemented depending in the OS (no need to explicitly say it)  and if you don't want it (the default) just put what you want ?
 
Cheers

Mariano


 
 Levente
 


 >
 >
 >>
 >> Lukas
 >>
 >> --
 >> Lukas Renggli
 >> http://www.lukas-renggli.ch
 >>
 >> _______________________________________________
 >> Pharo-project mailing list
 >> [hidden email]
 >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 >>
 >
 
 _______________________________________________
 Pharo-project mailing list
 [hidden email]
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




 

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Martin McClure-2
In reply to this post by Stéphane Ducasse
Stéphane Ducasse wrote:
>
>> However, since VW already implements immutability, it would probably
>> be beneficial to chose an API that is close to the VW implementation.
>
> Yes this is the idea. I hope the interface is good.

The interface in base VW is, I'm afraid, not good, and should not be
emulated. However, the WriteBarriers parcel, in preview in VW 7.7, is a
start at a better API for this.

The basic problem is that the underlying VM "immutability" feature is
useful for many things besides immutability. But the API is designed
only for immutability, and using it for anything else is very ugly. It
was probably a mistake to name the VM feature "immutability" in the
first place. It's really "trap on write" and when you get a trap you can
do many things -- reject the modification, conditionally allow it,
notify then allow...


Regards,

-Martin


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Eagle Offshore
I think the really tragic thing is that nothing in Smalltalk remains stable.

It would seem to me that in a language that has been around thirty years or so that core data types like numbers, dates, times, and (hopefully, although adoption of unicode was disruptive) strings would be the same across all the dialects.  

By now, there should be some chunks of the system that we can deem fully mature and then learn to LEAVE ALONE.

The 16rff issue is a fine example of an absolutely stupid incompatibility.

Just my $.04

-Todd Blanchard


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Stéphane Ducasse
Send code and it will be fixed in one hour.

Stef

> I think the really tragic thing is that nothing in Smalltalk remains stable.
>
> It would seem to me that in a language that has been around thirty years or so that core data types like numbers, dates, times, and (hopefully, although adoption of unicode was disruptive) strings would be the same across all the dialects.  
>
> By now, there should be some chunks of the system that we can deem fully mature and then learn to LEAVE ALONE.
>
> The 16rff issue is a fine example of an absolutely stupid incompatibility.
>
> Just my $.04
>
> -Todd Blanchard
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Nicolas Cellier
2010/2/13 Stéphane Ducasse <[hidden email]>:
> Send code and it will be fixed in one hour.
>
> Stef
>

And you'll break another feature 16r7Fe7. So you have to think twice...

Nicolas

>> I think the really tragic thing is that nothing in Smalltalk remains stable.
>>
>> It would seem to me that in a language that has been around thirty years or so that core data types like numbers, dates, times, and (hopefully, although adoption of unicode was disruptive) strings would be the same across all the dialects.
>>
>> By now, there should be some chunks of the system that we can deem fully mature and then learn to LEAVE ALONE.
>>
>> The 16rff issue is a fine example of an absolutely stupid incompatibility.
>>
>> Just my $.04
>>
>> -Todd Blanchard
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Eagle Offshore
In reply to this post by Stéphane Ducasse
It is not a code problem.  It is a social/political problem.

On Feb 13, 2010, at 1:52 AM, Stéphane Ducasse wrote:

> Send code and it will be fixed in one hour.
>
> Stef
>
>> I think the really tragic thing is that nothing in Smalltalk remains stable.
>>
>> It would seem to me that in a language that has been around thirty years or so that core data types like numbers, dates, times, and (hopefully, although adoption of unicode was disruptive) strings would be the same across all the dialects.  
>>
>> By now, there should be some chunks of the system that we can deem fully mature and then learn to LEAVE ALONE.
>>
>> The 16rff issue is a fine example of an absolutely stupid incompatibility.
>>
>> Just my $.04
>>
>> -Todd Blanchard
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Igor Stasenko
In reply to this post by Eagle Offshore
On 13 February 2010 03:12, Eagle Offshore <[hidden email]> wrote:
> I think the really tragic thing is that nothing in Smalltalk remains stable.
>

Hehe.. and i love smalltalk exactly because of that!
Let's not forget that it is hardware, which called 'an early frozen software'.

Smalltalk evolves, because IT CAN. ;)
But sure, its not hard to find a stable things nowadays - see java
with its 'final' stuff :)

> It would seem to me that in a language that has been around thirty years or so that core data types like numbers, dates, times, and (hopefully, although adoption of unicode was disruptive) strings would be the same across all the dialects.
>
> By now, there should be some chunks of the system that we can deem fully mature and then learn to LEAVE ALONE.
>
> The 16rff issue is a fine example of an absolutely stupid incompatibility.
>
> Just my $.04
>
> -Todd Blanchard
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



--
Best regards,
Igor Stasenko AKA sig.

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Pharo changing the game

Stéphane Ducasse
In reply to this post by Eagle Offshore

> It is not a code problem.  It is a social/political problem.
Right now yes: 16rff now is working in pharo as well as Squeak.

The question is how much do we put on the table to make what we believe important done.
In addition do you prefer an old greyish smalltalk or a new one showing interest and trying to
build new stuff?

I chose my camp and backward compatibility will not keep pharo in a closet or in a can
                                        http://en.wikipedia.org/wiki/Nothing_Safe:_Best_of_the_Box

Now people can use VW, Dolphin or VA if they want. I would have prefer that non open source
smalltalk show the way (they did partly (parcel, pragma) but I cannot run dolphin on mac or linux,
VW nearly missed Seaside....).

Now the question is what people do for their dreams. Pharo is not my daily work. I have to do a lot more
and other tasks. I work on it every time I can and my goal is to make it cool: first class instance variable,
well designed, modular....

Stef


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
12