[Mm10s] 2020-01-06

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

[Mm10s] 2020-01-06

tesonep@gmail.com
Hello, last week was a short one but some things have been done:

- [VM] Porting the GC fix to Pharo 7 / 8 VM
- [VM] Building for the different Platforms
- [VM] Signing for OSX
- [VM] The versions will be available today to start testing it before
promoting them to stable.
- [Pharo8] Fixing Issues before the release
- [VM Dev] Starting to work in improving tests in JIT and GC.

--
Pablo Tesone.
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [Mm10s] 2020-01-06

ducasse
Thanks Pablo


Last Week
- Working on concurrent programming booklet
- Enlumineur
- Better iceberg explanation with Pablo
- Fluid class parser

This week
- Fluid class parser
- Enlumineur
- Consortium meeting
- PBE80
- Working on concurrent programming booklet



> Hello, last week was a short one but some things have been done:
>
> - [VM] Porting the GC fix to Pharo 7 / 8 VM
> - [VM] Building for the different Platforms
> - [VM] Signing for OSX
> - [VM] The versions will be available today to start testing it before
> promoting them to stable.
> - [Pharo8] Fixing Issues before the release
> - [VM Dev] Starting to work in improving tests in JIT and GC.
>
> --
> Pablo Tesone.
> [hidden email]
>



Reply | Threaded
Open this post in threaded view
|

Re: [Mm10s] 2020-01-06

Denis Kudriashov
Hi Stef.

What is Fluid class parser? Is it the name of currently integrated parser?

вт, 7 янв. 2020 г. в 19:48, ducasse <[hidden email]>:
Thanks Pablo


Last Week
- Working on concurrent programming booklet
- Enlumineur
- Better iceberg explanation with Pablo
- Fluid class parser

This week
- Fluid class parser
- Enlumineur
- Consortium meeting
- PBE80
- Working on concurrent programming booklet



> Hello, last week was a short one but some things have been done:
>
> - [VM] Porting the GC fix to Pharo 7 / 8 VM
> - [VM] Building for the different Platforms
> - [VM] Signing for OSX
> - [VM] The versions will be available today to start testing it before
> promoting them to stable.
> - [Pharo8] Fixing Issues before the release
> - [VM Dev] Starting to work in improving tests in JIT and GC.
>
> --
> Pablo Tesone.
> [hidden email]
>



Reply | Threaded
Open this post in threaded view
|

Re: [Mm10s] 2020-01-06

ducasse
Hello Denis



What is Fluid class parser?

This is the name of the class definition we sketched and presented at Maribor. 
The idea is how to fight the combinatory explosion of parameters (tags, ephemerons, traits, slots, ….)
For now I’m putting in place the structure to be able to create a tree of definition nodes for a class definition

Superclass < #MyObject
uses: #MyTrait;
slots: { #a. #b };
classVariables: { #A. #B };
  tags: #(Core) ;
package: #MyPackage

The minimal class definition is the following one: 

Superclass < #MyObject
package: #MyPackage

or 
Superclass < #MyObject

Like that we get closer to ruby and other language that have a compact class definition. 
One of the key constraints is that we do not want to break the syntax. 
So everything is message based and consistent with the syntax and our motto. 

But we will see. 
I prefer talking with something running. 
When I worked on the package I rewrote everything three times. 

The idea is that this class definition parser should replace the ClassDefinitionParser (which we will keep for the 
traditional class definition but that in a couple of years from now should vanish).

S. 





Is it the name of currently integrated parser?

вт, 7 янв. 2020 г. в 19:48, ducasse <[hidden email]>:
Thanks Pablo


Last Week
- Working on concurrent programming booklet
- Enlumineur
- Better iceberg explanation with Pablo
- Fluid class parser

This week
- Fluid class parser
- Enlumineur
- Consortium meeting
- PBE80
- Working on concurrent programming booklet



> Hello, last week was a short one but some things have been done:
>
> - [VM] Porting the GC fix to Pharo 7 / 8 VM
> - [VM] Building for the different Platforms
> - [VM] Signing for OSX
> - [VM] The versions will be available today to start testing it before
> promoting them to stable.
> - [Pharo8] Fixing Issues before the release
> - [VM Dev] Starting to work in improving tests in JIT and GC.
>
> --
> Pablo Tesone.
> [hidden email]
>




Reply | Threaded
Open this post in threaded view
|

Re: [Mm10s] 2020-01-06

Sven Van Caekenberghe-2
It sounds wrong to call this a parser, it is a builder, no ?

It is plain Pharo syntax that builds a representation, IIUC.

> On 7 Jan 2020, at 21:32, ducasse <[hidden email]> wrote:
>
> Hello Denis
>
>
>>
>> What is Fluid class parser?
>
> This is the name of the class definition we sketched and presented at Maribor.
> The idea is how to fight the combinatory explosion of parameters (tags, ephemerons, traits, slots, ….)
> For now I’m putting in place the structure to be able to create a tree of definition nodes for a class definition
>
> Superclass < #MyObject
> uses: #MyTrait;
> slots: { #a. #b };
> classVariables: { #A. #B };
>   tags: #(Core) ;
> package: #MyPackage
>
> The minimal class definition is the following one:
>
> Superclass < #MyObject
> package: #MyPackage
>
> or
> Superclass < #MyObject
>
> Like that we get closer to ruby and other language that have a compact class definition.
> One of the key constraints is that we do not want to break the syntax.
> So everything is message based and consistent with the syntax and our motto.
>
> But we will see.
> I prefer talking with something running.
> When I worked on the package I rewrote everything three times.
>
> The idea is that this class definition parser should replace the ClassDefinitionParser (which we will keep for the
> traditional class definition but that in a couple of years from now should vanish).
>
> S.
>
>
>
>
>
>> Is it the name of currently integrated parser?
>>
>> вт, 7 янв. 2020 г. в 19:48, ducasse <[hidden email]>:
>> Thanks Pablo
>>
>>
>> Last Week
>> - Working on concurrent programming booklet
>> - Enlumineur
>> - Better iceberg explanation with Pablo
>> - Fluid class parser
>>
>> This week
>> - Fluid class parser
>> - Enlumineur
>> - Consortium meeting
>> - PBE80
>> - Working on concurrent programming booklet
>>
>>
>>
>> > Hello, last week was a short one but some things have been done:
>> >
>> > - [VM] Porting the GC fix to Pharo 7 / 8 VM
>> > - [VM] Building for the different Platforms
>> > - [VM] Signing for OSX
>> > - [VM] The versions will be available today to start testing it before
>> > promoting them to stable.
>> > - [Pharo8] Fixing Issues before the release
>> > - [VM Dev] Starting to work in improving tests in JIT and GC.
>> >
>> > --
>> > Pablo Tesone.
>> > [hidden email]
>> >
>>
>>
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: [Mm10s] 2020-01-06

Denis Kudriashov
Hi Sven.

It was an example of definition format which new parser targets.

вт, 7 янв. 2020 г. в 22:20, Sven Van Caekenberghe <[hidden email]>:
It sounds wrong to call this a parser, it is a builder, no ?

It is plain Pharo syntax that builds a representation, IIUC.

> On 7 Jan 2020, at 21:32, ducasse <[hidden email]> wrote:
>
> Hello Denis
>
>
>>
>> What is Fluid class parser?
>
> This is the name of the class definition we sketched and presented at Maribor.
> The idea is how to fight the combinatory explosion of parameters (tags, ephemerons, traits, slots, ….)
> For now I’m putting in place the structure to be able to create a tree of definition nodes for a class definition
>
> Superclass < #MyObject
>               uses: #MyTrait;
>               slots: { #a. #b };
>               classVariables: { #A. #B };
>               tags: #(Core) ;
>               package: #MyPackage
>
> The minimal class definition is the following one:
>
> Superclass < #MyObject
>       package: #MyPackage
>
> or
> Superclass < #MyObject
>
> Like that we get closer to ruby and other language that have a compact class definition.
> One of the key constraints is that we do not want to break the syntax.
> So everything is message based and consistent with the syntax and our motto.
>
> But we will see.
> I prefer talking with something running.
> When I worked on the package I rewrote everything three times.
>
> The idea is that this class definition parser should replace the ClassDefinitionParser (which we will keep for the
> traditional class definition but that in a couple of years from now should vanish).
>
> S.
>
>
>
>
>
>> Is it the name of currently integrated parser?
>>
>> вт, 7 янв. 2020 г. в 19:48, ducasse <[hidden email]>:
>> Thanks Pablo
>>
>>
>> Last Week
>> - Working on concurrent programming booklet
>> - Enlumineur
>> - Better iceberg explanation with Pablo
>> - Fluid class parser
>>
>> This week
>> - Fluid class parser
>> - Enlumineur
>> - Consortium meeting
>> - PBE80
>> - Working on concurrent programming booklet
>>
>>
>>
>> > Hello, last week was a short one but some things have been done:
>> >
>> > - [VM] Porting the GC fix to Pharo 7 / 8 VM
>> > - [VM] Building for the different Platforms
>> > - [VM] Signing for OSX
>> > - [VM] The versions will be available today to start testing it before
>> > promoting them to stable.
>> > - [Pharo8] Fixing Issues before the release
>> > - [VM Dev] Starting to work in improving tests in JIT and GC.
>> >
>> > --
>> > Pablo Tesone.
>> > [hidden email]
>> >
>>
>>
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: [Mm10s] 2020-01-06

Denis Kudriashov
In reply to this post by ducasse
вт, 7 янв. 2020 г. в 20:34, ducasse <[hidden email]>:
Hello Denis



What is Fluid class parser?

This is the name of the class definition we sketched and presented at Maribor. 
The idea is how to fight the combinatory explosion of parameters (tags, ephemerons, traits, slots, ….)
For now I’m putting in place the structure to be able to create a tree of definition nodes for a class definition

Superclass < #MyObject
uses: #MyTrait;
slots: { #a. #b };
classVariables: { #A. #B };
  tags: #(Core) ;
package: #MyPackage 

The minimal class definition is the following one: 

Superclass < #MyObject
package: #MyPackage

or 
Superclass < #MyObject

Interesting to know why superclass is chose for the receiver in new class definition. It does not cover the proxy classes with nil superclass.
 

Like that we get closer to ruby and other language that have a compact class definition. 
One of the key constraints is that we do not want to break the syntax. 
So everything is message based and consistent with the syntax and our motto. 

But we will see. 
I prefer talking with something running. 
When I worked on the package I rewrote everything three times. 

The idea is that this class definition parser should replace the ClassDefinitionParser (which we will keep for the 
traditional class definition but that in a couple of years from now should vanish).

S. 





Is it the name of currently integrated parser?

вт, 7 янв. 2020 г. в 19:48, ducasse <[hidden email]>:
Thanks Pablo


Last Week
- Working on concurrent programming booklet
- Enlumineur
- Better iceberg explanation with Pablo
- Fluid class parser

This week
- Fluid class parser
- Enlumineur
- Consortium meeting
- PBE80
- Working on concurrent programming booklet



> Hello, last week was a short one but some things have been done:
>
> - [VM] Porting the GC fix to Pharo 7 / 8 VM
> - [VM] Building for the different Platforms
> - [VM] Signing for OSX
> - [VM] The versions will be available today to start testing it before
> promoting them to stable.
> - [Pharo8] Fixing Issues before the release
> - [VM Dev] Starting to work in improving tests in JIT and GC.
>
> --
> Pablo Tesone.
> [hidden email]
>




Reply | Threaded
Open this post in threaded view
|

Re: [Mm10s] 2020-01-06

Pharo Smalltalk Developers mailing list
In reply to this post by ducasse
It is a very interesting effort.

The following:

Superclass < #MyObject
                uses: #MyTrait;
                slots: { #a. #b };
                classVariables: { #A. #B };
  tags: #(Core) ;
                package: #MyPackage

Seems more complex to implement than:

Superclass < (#MyObject
                uses: #MyTrait;
                slots: { #a. #b };
                classVariables: { #A. #B };
  tags: #(Core) ;
                package: #MyPackage)

The reason is that in the first class definition, the binary operator has precedence over keyword messages, which means that it is equivalent to:

(Superclass < #MyObject)
                uses: #MyTrait;
                slots: { #a. #b };
                classVariables: { #A. #B };
  tags: #(Core) ;
                package: #MyPackage

And as such, the code assume that it modifies the class _after_ its creation, which could be tricky if one want to have it fast.
But maybe there is something obvious that I did not see...

Cheers,
Alexandre


> On 07-01-2020, at 21:32, ducasse <[hidden email]> wrote:
>
> Hello Denis
>
>
>>
>> What is Fluid class parser?
>
> This is the name of the class definition we sketched and presented at Maribor.
> The idea is how to fight the combinatory explosion of parameters (tags, ephemerons, traits, slots, ….)
> For now I’m putting in place the structure to be able to create a tree of definition nodes for a class definition
>
> Superclass < #MyObject
> uses: #MyTrait;
> slots: { #a. #b };
> classVariables: { #A. #B };
>   tags: #(Core) ;
> package: #MyPackage
>
> The minimal class definition is the following one:
>
> Superclass < #MyObject
> package: #MyPackage
>
> or
> Superclass < #MyObject
>
> Like that we get closer to ruby and other language that have a compact class definition.
> One of the key constraints is that we do not want to break the syntax.
> So everything is message based and consistent with the syntax and our motto.
>
> But we will see.
> I prefer talking with something running.
> When I worked on the package I rewrote everything three times.
>
> The idea is that this class definition parser should replace the ClassDefinitionParser (which we will keep for the
> traditional class definition but that in a couple of years from now should vanish).
>
> S.
>
>
>
>
>
>> Is it the name of currently integrated parser?
>>
>> вт, 7 янв. 2020 г. в 19:48, ducasse <[hidden email]>:
>> Thanks Pablo
>>
>>
>> Last Week
>> - Working on concurrent programming booklet
>> - Enlumineur
>> - Better iceberg explanation with Pablo
>> - Fluid class parser
>>
>> This week
>> - Fluid class parser
>> - Enlumineur
>> - Consortium meeting
>> - PBE80
>> - Working on concurrent programming booklet
>>
>>
>>
>> > Hello, last week was a short one but some things have been done:
>> >
>> > - [VM] Porting the GC fix to Pharo 7 / 8 VM
>> > - [VM] Building for the different Platforms
>> > - [VM] Signing for OSX
>> > - [VM] The versions will be available today to start testing it before
>> > promoting them to stable.
>> > - [Pharo8] Fixing Issues before the release
>> > - [VM Dev] Starting to work in improving tests in JIT and GC.
>> >
>> > --
>> > Pablo Tesone.
>> > [hidden email]
>> >
>>
>>
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: [Mm10s] 2020-01-06

Sean P. DeNigris
Administrator
In reply to this post by ducasse
ducasse wrote
> The idea is how to fight the combinatory explosion of parameters

Cool!!!



-----
Cheers,
Sean
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html

Cheers,
Sean