FileTree

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

FileTree

Jonathan Khalil
Hi everyone,

I'm Jonathan, student in master, from Dakar, Sénégal and i will be working with stephane ducasse's team for my internship.

I need some lectures on FileTree. 
Someone know how can i get it ?

Thanks

Jonathan
Reply | Threaded
Open this post in threaded view
|

Re: FileTree

SergeStinckwich
On Fri, Feb 17, 2017 at 3:06 PM, Jonathan Khalil <[hidden email]> wrote:
> Hi everyone,
>
> I'm Jonathan, student in master, from Dakar, Sénégal and i will be working
> with stephane ducasse's team for my internship.

Great Jonathan. Where are you located ? My research team is working in
Senegal in Dakar and St-Louis.

> I need some lectures on FileTree.
> Someone know how can i get it ?

What kind of information you are looking for FileTree ?
I'm not sure that there is that much information about it except the code :-)

https://github.com/dalehenrich/filetree

Regards,
--
Serge Stinckwich
UCBN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/

Reply | Threaded
Open this post in threaded view
|

Re: FileTree

Jonathan Khalil
Oh really ? My school is Ecole Supérieur Polytechnique (ESP).

I want to rewrite the pharoCandle in the FileTree format but i don't know where to start. 

Jonathan

2017-02-17 16:37 GMT+01:00 Serge Stinckwich <[hidden email]>:
On Fri, Feb 17, 2017 at 3:06 PM, Jonathan Khalil <[hidden email]> wrote:
> Hi everyone,
>
> I'm Jonathan, student in master, from Dakar, Sénégal and i will be working
> with stephane ducasse's team for my internship.

Great Jonathan. Where are you located ? My research team is working in
Senegal in Dakar and St-Louis.

> I need some lectures on FileTree.
> Someone know how can i get it ?

What kind of information you are looking for FileTree ?
I'm not sure that there is that much information about it except the code :-)

https://github.com/dalehenrich/filetree

Regards,
--
Serge Stinckwich
UCBN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/


Reply | Threaded
Open this post in threaded view
|

Re: FileTree

Guillermo Polito
Hi Serge,

Jonathan is trying to convert some old code I have in here:


to Filtree.

The thing is that at that moment I started that, FileTree was not there, So I made my own format and my own parser based and PetitParser and the Smalltalk petit parser that produced my own little meta-model :P.

But now we want to move to the standard tools of today.

What we would like to know is what should we use to write FileTree from something that is not Monticello, what is the class to look at, and the API to use.

ANY information is welcome :)

Thanks,
Guille

On Fri, Feb 17, 2017 at 5:22 PM, Jonathan Khalil <[hidden email]> wrote:
Oh really ? My school is Ecole Supérieur Polytechnique (ESP).

I want to rewrite the pharoCandle in the FileTree format but i don't know where to start. 

Jonathan

2017-02-17 16:37 GMT+01:00 Serge Stinckwich <[hidden email]>:
On Fri, Feb 17, 2017 at 3:06 PM, Jonathan Khalil <[hidden email]> wrote:
> Hi everyone,
>
> I'm Jonathan, student in master, from Dakar, Sénégal and i will be working
> with stephane ducasse's team for my internship.

Great Jonathan. Where are you located ? My research team is working in
Senegal in Dakar and St-Louis.

> I need some lectures on FileTree.
> Someone know how can i get it ?

What kind of information you are looking for FileTree ?
I'm not sure that there is that much information about it except the code :-)

https://github.com/dalehenrich/filetree

Regards,
--
Serge Stinckwich
UCBN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/



Reply | Threaded
Open this post in threaded view
|

Re: FileTree

SergeStinckwich
I don't understand because you can load your project in a Pharo image and save it as with FileTree.

Envoyé de mon iPhone

Le 18 févr. 2017 à 13:09, Guillermo Polito <[hidden email]> a écrit :

Hi Serge,

Jonathan is trying to convert some old code I have in here:


to Filtree.

The thing is that at that moment I started that, FileTree was not there, So I made my own format and my own parser based and PetitParser and the Smalltalk petit parser that produced my own little meta-model :P.

But now we want to move to the standard tools of today.

What we would like to know is what should we use to write FileTree from something that is not Monticello, what is the class to look at, and the API to use.

ANY information is welcome :)

Thanks,
Guille

On Fri, Feb 17, 2017 at 5:22 PM, Jonathan Khalil <[hidden email]> wrote:
Oh really ? My school is Ecole Supérieur Polytechnique (ESP).

I want to rewrite the pharoCandle in the FileTree format but i don't know where to start. 

Jonathan

2017-02-17 16:37 GMT+01:00 Serge Stinckwich <[hidden email]>:
On Fri, Feb 17, 2017 at 3:06 PM, Jonathan Khalil <[hidden email]> wrote:
> Hi everyone,
>
> I'm Jonathan, student in master, from Dakar, Sénégal and i will be working
> with stephane ducasse's team for my internship.

Great Jonathan. Where are you located ? My research team is working in
Senegal in Dakar and St-Louis.

> I need some lectures on FileTree.
> Someone know how can i get it ?

What kind of information you are looking for FileTree ?
I'm not sure that there is that much information about it except the code :-)

https://github.com/dalehenrich/filetree

Regards,
--
Serge Stinckwich
UCBN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/



Reply | Threaded
Open this post in threaded view
|

Re: FileTree

Guillermo Polito
We could try that... The thing is that it contains definitions of a Smalltalk kernel, so there are alternative Boolean classes, String classes, and so on... We would like to avoid conflicts in the image.

On Sat, Feb 18, 2017 at 1:17 PM, <[hidden email]> wrote:
I don't understand because you can load your project in a Pharo image and save it as with FileTree.

Envoyé de mon iPhone

Le 18 févr. 2017 à 13:09, Guillermo Polito <[hidden email]> a écrit :

Hi Serge,

Jonathan is trying to convert some old code I have in here:


to Filtree.

The thing is that at that moment I started that, FileTree was not there, So I made my own format and my own parser based and PetitParser and the Smalltalk petit parser that produced my own little meta-model :P.

But now we want to move to the standard tools of today.

What we would like to know is what should we use to write FileTree from something that is not Monticello, what is the class to look at, and the API to use.

ANY information is welcome :)

Thanks,
Guille

On Fri, Feb 17, 2017 at 5:22 PM, Jonathan Khalil <[hidden email]> wrote:
Oh really ? My school is Ecole Supérieur Polytechnique (ESP).

I want to rewrite the pharoCandle in the FileTree format but i don't know where to start. 

Jonathan

2017-02-17 16:37 GMT+01:00 Serge Stinckwich <[hidden email]>:
On Fri, Feb 17, 2017 at 3:06 PM, Jonathan Khalil <[hidden email]> wrote:
> Hi everyone,
>
> I'm Jonathan, student in master, from Dakar, Sénégal and i will be working
> with stephane ducasse's team for my internship.

Great Jonathan. Where are you located ? My research team is working in
Senegal in Dakar and St-Louis.

> I need some lectures on FileTree.
> Someone know how can i get it ?

What kind of information you are looking for FileTree ?
I'm not sure that there is that much information about it except the code :-)

https://github.com/dalehenrich/filetree

Regards,
--
Serge Stinckwich
UCBN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/




Reply | Threaded
Open this post in threaded view
|

Re: FileTree

Thierry Goubier
Hi Guile,

Le 18/02/2017 à 13:20, Guillermo Polito a écrit :
> We could try that... The thing is that it contains definitions of a
> Smalltalk kernel, so there are alternative Boolean classes, String
> classes, and so on... We would like to avoid conflicts in the image.

the API of FileTree is tied to the Monticello model of smalltalk code
(and the api of Monticello repositories).

The MC model of code is of interest to you because it is completely
decoupled from the code running in the image. It is just a bunch of
objects, instances of MCMethodDefinition, MCClass... etc... regrouped in
a MCVersion. What is saved, loaded and manipulated by a FileTree
repository is that structure. The use is fairly clean: save a version
(or a set of versions... with gitfiletree only) along with the
dependencies; iterate over the contents of the MCVersion and write files
/ create directories.

Reading with FileTree is the same process: read the directories / files
and recreate the MCVersion.

Now, reimplementing this gives you two strategies: look into
MCFileTreeStCypressWriter to see the core methods (the ones writing the
files out of the MCVersion items, such as #writeClassDefinition:to:).
This is not much code, but it seems more complex than it is really
because there is a lot of delegation going on and the upper Monticello
repository and writer classes are not abstract enough for FileTree.

Regards,

Thierry

> On Sat, Feb 18, 2017 at 1:17 PM, <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>     I don't understand because you can load your project in a Pharo
>     image and save it as with FileTree.
>
>     Envoyé de mon iPhone
>
>     Le 18 févr. 2017 à 13:09, Guillermo Polito
>     <[hidden email] <mailto:[hidden email]>> a écrit :
>
>>     Hi Serge,
>>
>>     Jonathan is trying to convert some old code I have in here:
>>
>>     https://github.com/guillep/PharoCandle
>>     <https://github.com/guillep/PharoCandle>
>>
>>     to Filtree.
>>
>>     The thing is that at that moment I started that, FileTree was not
>>     there, So I made my own format and my own parser based and
>>     PetitParser and the Smalltalk petit parser that produced my own
>>     little meta-model :P.
>>
>>     But now we want to move to the standard tools of today.
>>
>>     What we would like to know is what should we use to write FileTree
>>     from something that is not Monticello, what is the class to look
>>     at, and the API to use.
>>
>>     ANY information is welcome :)
>>
>>     Thanks,
>>     Guille
>>
>>     On Fri, Feb 17, 2017 at 5:22 PM, Jonathan Khalil <[hidden email]
>>     <mailto:[hidden email]>> wrote:
>>
>>         Oh really ? My school is Ecole Supérieur Polytechnique (ESP).
>>
>>         I want to rewrite the pharoCandle in the FileTree format but i
>>         don't know where to start.
>>
>>         Jonathan
>>
>>         2017-02-17 16:37 GMT+01:00 Serge Stinckwich
>>         <[hidden email] <mailto:[hidden email]>>:
>>
>>             On Fri, Feb 17, 2017 at 3:06 PM, Jonathan Khalil
>>             <[hidden email] <mailto:[hidden email]>> wrote:
>>             > Hi everyone,
>>             >
>>             > I'm Jonathan, student in master, from Dakar, Sénégal and i will be working
>>             > with stephane ducasse's team for my internship.
>>
>>             Great Jonathan. Where are you located ? My research team
>>             is working in
>>             Senegal in Dakar and St-Louis.
>>
>>             > I need some lectures on FileTree.
>>             > Someone know how can i get it ?
>>
>>             What kind of information you are looking for FileTree ?
>>             I'm not sure that there is that much information about it
>>             except the code :-)
>>
>>             https://github.com/dalehenrich/filetree
>>             <https://github.com/dalehenrich/filetree>
>>
>>             Regards,
>>             --
>>             Serge Stinckwich
>>             UCBN & UMI UMMISCO 209 (IRD/UPMC)
>>             Every DSL ends up being Smalltalk
>>             http://www.doesnotunderstand.org/
>>             <http://www.doesnotunderstand.org/>
>>
>>
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: FileTree

Dale Henrichs-3
In reply to this post by Guillermo Polito

Guille,

You should be able to read (not load) Monticello packages into an image as a snapshot and then write that snapshot out in FileTree format ...

There isn't a direct way for doing this type of thing in Monticello itself, but it can be put together without too much trouble. I've written code to do just that in tODE[1]. I've extracted the code in this mail and you should be able get something functional without too much trouble:

mccopy: versionName fromRepository: sourcRepository to: destinationRepoDescriptions
  "destinationRepoDescriptions may include repository descriptions or object references (@xxx)"

  | version repo repositoryList |
  version := self versionFor: versionName inRepository: sourcRepository.
  repositoryList := OrderedCollection new.
  destinationRepoDescriptions
    do: [ :repoSpec |
      | repoOrList |
      repoOrList := self resolveRepositoryReference: repoSpec. "just need a FileTree repository instance here"
      repoOrList isCollection
        ifTrue: [ repositoryList addAll: repoOrList ]
        ifFalse: [ repositoryList add: repoOrList ] ].
^ self mccopyVersion: version to: repositoryList

versionFor: versionName inRepository: repo
  | reference version |
  reference := GoferResolvedReference name: versionName repository: repo.
^ reference version

mccopyVersion: version to: repositoryList
  ^ repositoryList
    collect: [ :repo | self storeVersion: version inRepository: repo ]

Dale

[1] https://github.com/dalehenrich/tode/blob/master/repository/Topez-Server-Core.package/TDMonticelloTool.class/
On 2/18/17 4:20 AM, Guillermo Polito wrote:
We could try that... The thing is that it contains definitions of a Smalltalk kernel, so there are alternative Boolean classes, String classes, and so on... We would like to avoid conflicts in the image.

On Sat, Feb 18, 2017 at 1:17 PM, <[hidden email]> wrote:
I don't understand because you can load your project in a Pharo image and save it as with FileTree.

Envoyé de mon iPhone

Le 18 févr. 2017 à 13:09, Guillermo Polito <[hidden email]> a écrit :

Hi Serge,

Jonathan is trying to convert some old code I have in here:


to Filtree.

The thing is that at that moment I started that, FileTree was not there, So I made my own format and my own parser based and PetitParser and the Smalltalk petit parser that produced my own little meta-model :P.

But now we want to move to the standard tools of today.

What we would like to know is what should we use to write FileTree from something that is not Monticello, what is the class to look at, and the API to use.

ANY information is welcome :)

Thanks,
Guille

On Fri, Feb 17, 2017 at 5:22 PM, Jonathan Khalil <[hidden email]> wrote:
Oh really ? My school is Ecole Supérieur Polytechnique (ESP).

I want to rewrite the pharoCandle in the FileTree format but i don't know where to start. 

Jonathan

2017-02-17 16:37 GMT+01:00 Serge Stinckwich <[hidden email]>:
On Fri, Feb 17, 2017 at 3:06 PM, Jonathan Khalil <[hidden email]> wrote:
> Hi everyone,
>
> I'm Jonathan, student in master, from Dakar, Sénégal and i will be working
> with stephane ducasse's team for my internship.

Great Jonathan. Where are you located ? My research team is working in
Senegal in Dakar and St-Louis.

> I need some lectures on FileTree.
> Someone know how can i get it ?

What kind of information you are looking for FileTree ?
I'm not sure that there is that much information about it except the code :-)

https://github.com/dalehenrich/filetree

Regards,
--
Serge Stinckwich
UCBN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/