F-Script 2.0

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

F-Script 2.0

Philippe Mougin
Bonjour,

J'ai présenté les nouveautés de F-Script 2.0 au BlockCamp Paris ce weekend. Vous pouvez retrouver ce sujet traité en détail dans l'article "Welcome to F-Script 2.0" à http://www.fscript.org/documentation/WelcomeToFScript2/index.htm 
La syntaxe de création de classes est présenté à http://www.fscript.org/documentation/CreatingCocoaClassesWithFScript/index.htm

F-Script est un outil d'introspection et de scripting pour Cocoa sur Mac OS X, basé sur Smalltalk.

Merci aux organisateurs/participants du BlockCamp. J'ai bien aimé le mélange Ruby/Smalltalk.

Philippe Mougin
_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: F-Script 2.0

Noury Bouraqadi
Merci Philippe pour ta présentation.
F-Script est cool :-)

Noury
On 1 déc. 09, at 14:57, Philippe Mougin wrote:

> Bonjour,
>
> J'ai présenté les nouveautés de F-Script 2.0 au BlockCamp Paris ce  
> weekend. Vous pouvez retrouver ce sujet traité en détail dans  
> l'article "Welcome to F-Script 2.0" à http://www.fscript.org/documentation/WelcomeToFScript2/index.htm
> La syntaxe de création de classes est présenté à http://www.fscript.org/documentation/CreatingCocoaClassesWithFScript/index.htm
>
> F-Script est un outil d'introspection et de scripting pour Cocoa sur  
> Mac OS X, basé sur Smalltalk.
>
> Merci aux organisateurs/participants du BlockCamp. J'ai bien aimé le  
> mélange Ruby/Smalltalk.
>
> Philippe Mougin
> _______________________________________________
> Squeak-fr mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
>

Noury
http://car.ensm-douai.fr/noury/
--------------
-2nd International Workshop on Agent Technology for Disaster  
Management (ATDM'09), Nagoya, Japan, Dec. 13rd, 2009
http://doesnotunderstand.org/wikka.php?wakka=ATDM2009

-16ème Conférence francophone sur les Langages et Modèles à Objets  
(LMO). Pau 2010
http://lmo-conference.org/2010/index

-ESUG 18th International Smalltalk Conference - Barcelona, Spain 2010
http://www.esug.org/Conferences/2010








_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: F-Script 2.0

Luc Fabresse
Je ne connaissais pas F-Script mais j'ai trouvé ça vraiment intéressant.
Bravo ! 

Luc

Le 1 décembre 2009 15:44, Noury Bouraqadi <[hidden email]> a écrit :
Merci Philippe pour ta présentation.
F-Script est cool :-)

Noury

On 1 déc. 09, at 14:57, Philippe Mougin wrote:

Bonjour,

J'ai présenté les nouveautés de F-Script 2.0 au BlockCamp Paris ce weekend. Vous pouvez retrouver ce sujet traité en détail dans l'article "Welcome to F-Script 2.0" à http://www.fscript.org/documentation/WelcomeToFScript2/index.htm
La syntaxe de création de classes est présenté à http://www.fscript.org/documentation/CreatingCocoaClassesWithFScript/index.htm

F-Script est un outil d'introspection et de scripting pour Cocoa sur Mac OS X, basé sur Smalltalk.

Merci aux organisateurs/participants du BlockCamp. J'ai bien aimé le mélange Ruby/Smalltalk.

Philippe Mougin
_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr


Noury
http://car.ensm-douai.fr/noury/
--------------
-2nd International Workshop on Agent Technology for Disaster Management (ATDM'09), Nagoya, Japan, Dec. 13rd, 2009
http://doesnotunderstand.org/wikka.php?wakka=ATDM2009

-16ème Conférence francophone sur les Langages et Modèles à Objets (LMO). Pau 2010
http://lmo-conference.org/2010/index

-ESUG 18th International Smalltalk Conference - Barcelona, Spain 2010
http://www.esug.org/Conferences/2010









_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr


_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: F-Script 2.0

stephane ducasse
In reply to this post by Philippe Mougin
philippe

tu as une syntaxe pour les extensions de classes?
car je ne l'ai pas vue.

Stef
On Dec 1, 2009, at 2:57 PM, Philippe Mougin wrote:

> Bonjour,
>
> J'ai présenté les nouveautés de F-Script 2.0 au BlockCamp Paris ce weekend. Vous pouvez retrouver ce sujet traité en détail dans l'article "Welcome to F-Script 2.0" à http://www.fscript.org/documentation/WelcomeToFScript2/index.htm 
> La syntaxe de création de classes est présenté à http://www.fscript.org/documentation/CreatingCocoaClassesWithFScript/index.htm
>
> F-Script est un outil d'introspection et de scripting pour Cocoa sur Mac OS X, basé sur Smalltalk.
>
> Merci aux organisateurs/participants du BlockCamp. J'ai bien aimé le mélange Ruby/Smalltalk.
>
> Philippe Mougin
> _______________________________________________
> Squeak-fr mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
>

_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: F-Script 2.0

SergeStinckwich
In reply to this post by Philippe Mougin
Le 1 décembre 2009 20:57, Philippe Mougin <[hidden email]> a écrit :
> Bonjour,

Salut Philippe,

> J'ai présenté les nouveautés de F-Script 2.0 au BlockCamp Paris ce weekend. Vous pouvez retrouver ce sujet traité en détail dans l'article "Welcome to F-Script 2.0" à http://www.fscript.org/documentation/WelcomeToFScript2/index.htm
> La syntaxe de création de classes est présenté à http://www.fscript.org/documentation/CreatingCocoaClassesWithFScript/index.htm
>
> F-Script est un outil d'introspection et de scripting pour Cocoa sur Mac OS X, basé sur Smalltalk.

Oui, j'ai vu que maintenant on pouvait écrire des applications avec F-Script.

> Merci aux organisateurs/participants du BlockCamp. J'ai bien aimé le mélange Ruby/Smalltalk.

Quelqu'un peut faire un compte-rendu plus détaillé ? Merci.

Cordialement,
--
Serge Stinckwich
UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam
Smalltalkers do: [:it | All with: Class, (And love: it)]
http://doesnotunderstand.org/
_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: F-Script 2.0

Noury Bouraqadi
In reply to this post by stephane ducasse

On 1 déc. 09, at 22:13, stephane ducasse wrote:

> philippe
>
> tu as une syntaxe pour les extensions de classes?
> car je ne l'ai pas vue.
>
D'après ce que j'ai compris (et vu en démo), pour modifier une classe,  
il faut recharger toute la classe.
J'en déduis donc qu'il n'y a pas de concept d'extension de classe.

Noury

> Stef
> On Dec 1, 2009, at 2:57 PM, Philippe Mougin wrote:
>
>> Bonjour,
>>
>> J'ai présenté les nouveautés de F-Script 2.0 au BlockCamp Paris ce  
>> weekend. Vous pouvez retrouver ce sujet traité en détail dans  
>> l'article "Welcome to F-Script 2.0" à http://www.fscript.org/documentation/WelcomeToFScript2/index.htm
>> La syntaxe de création de classes est présenté à http://www.fscript.org/documentation/CreatingCocoaClassesWithFScript/index.htm
>>
>> F-Script est un outil d'introspection et de scripting pour Cocoa  
>> sur Mac OS X, basé sur Smalltalk.
>>
>> Merci aux organisateurs/participants du BlockCamp. J'ai bien aimé  
>> le mélange Ruby/Smalltalk.
>>
>> Philippe Mougin
>> _______________________________________________
>> Squeak-fr mailing list
>> [hidden email]
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
>>
>
> _______________________________________________
> Squeak-fr mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
>

Noury
http://car.ensm-douai.fr/noury/
--------------
-2nd International Workshop on Agent Technology for Disaster  
Management (ATDM'09), Nagoya, Japan, Dec. 13rd, 2009
http://doesnotunderstand.org/wikka.php?wakka=ATDM2009

-16ème Conférence francophone sur les Langages et Modèles à Objets  
(LMO). Pau 2010
http://lmo-conference.org/2010/index

-ESUG 18th International Smalltalk Conference - Barcelona, Spain 2010
http://www.esug.org/Conferences/2010








_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: F-Script 2.0

Philippe Mougin
In reply to this post by Philippe Mougin
Merci pour ces retours.

Le support des extensions de classe est prévu pour la prochaine version (note: on peux déjà redéfinir une classe F-Script existante). Je pense me limiter à la possibilité d'ajouter des méthodes à une classe existante. Je n'ai pas encore trouvé de syntaxe satisfaisante et je cherche toujours. Je ne suis pas sûr au final d'introduire une syntaxe. Il est possible que je passe par un simple message. Dans ce cas, une des possibilités que j'envisage sérieusement est d'introduire une méthode permettant de demander à une classe "d'apprendre" une méthode existant dans une autre classe. Par exemple, on pourrait écrire:

MyClass learn:#aMethod from:AnotherClass

Voila où j'en suis.

-Philippe

_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: Re: F-Script 2.0

stephane ducasse

On Dec 2, 2009, at 1:26 PM, Philippe Mougin wrote:

> Merci pour ces retours.
>
> Le support des extensions de classe est prévu pour la prochaine version (note: on peux déjà redéfinir une classe F-Script existante). Je pense me limiter à la possibilité d'ajouter des méthodes à une classe existante.

oui override brek mais parfoi snecessaire

> Je n'ai pas encore trouvé de syntaxe satisfaisante et je cherche toujours. Je ne suis pas sûr au final d'introduire une syntaxe.


Point>>newDistanceFrom: aPoint
        {

        }

Class side

Point class >>newDistanceFrom: aPoint
        {

        }


> Il est possible que je passe par un simple message. Dans ce cas, une des possibilités que j'envisage sérieusement est d'introduire une méthode permettant de demander à une classe "d'apprendre" une méthode existant dans une autre classe. Par exemple, on pourrait écrire:
>
> MyClass learn:#aMethod from:AnotherClass


je trouve pas cela tres cool et je prefere pepsi voir gnu syntaxe ou coral comme au dessus.

>
> Voila où j'en suis.
>
> -Philippe
>
> _______________________________________________
> Squeak-fr mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
>

_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: F-Script 2.0

Philippe Mougin

Pour l'extension de classe dans F-Script, l'approche maintenant pressentie est celle d'une syntaxe spécifique. Par exemple, voici le code pour ajouter une méthode "print" à la classe NSObject (la classe racine sur Mac OS X):

NSObject
{
  - print
  {
    stdout print:self printString
  }
}


Et pour reprendre ton exemple:

Point
{
  - newDistanceFrom:aPoint  
  {
    ...
  }

  + newDistanceFrom:aPoint
  {
    ...
  }
}

Philippe

Le 2 déc. 2009 à 22:37, stephane ducasse a écrit :

> On Dec 2, 2009, at 1:26 PM, Philippe Mougin wrote:
>
>> Merci pour ces retours.
>>
>> Le support des extensions de classe est prévu pour la prochaine version (note: on peux déjà redéfinir une classe F-Script existante). Je pense me limiter à la possibilité d'ajouter des méthodes à une classe existante.
>
> oui override brek mais parfoi snecessaire
>
>> Je n'ai pas encore trouvé de syntaxe satisfaisante et je cherche toujours. Je ne suis pas sûr au final d'introduire une syntaxe.
>
>
> Point>>newDistanceFrom: aPoint
> {
>
> }
>
> Class side
>
> Point class >>newDistanceFrom: aPoint
> {
>
> }
>
>
>> Il est possible que je passe par un simple message. Dans ce cas, une des possibilités que j'envisage sérieusement est d'introduire une méthode permettant de demander à une classe "d'apprendre" une méthode existant dans une autre classe. Par exemple, on pourrait écrire:
>>
>> MyClass learn:#aMethod from:AnotherClass
>
>
> je trouve pas cela tres cool et je prefere pepsi voir gnu syntaxe ou coral comme au dessus.
>>
>> Voila où j'en suis.
>>
>> -Philippe



_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: Re: F-Script 2.0

Noury Bouraqadi-2
Salut Philippe,

J'imagine que tu as pensé à la solution d'objective-c avec des @. Cela  
enlève un niveau d'accolades supplémentaires. Pourquoi tu l'as écartée ?
Cela donnerait pour la classe Point qq chose du genre


@class Point
  - newDistanceFrom:aPoint
  {
    ...
  }

  + newDistanceFrom:aPoint
  {
    ...
  }
@end
On 13 janv. 10, at 12:20, Philippe Mougin wrote:

>
> Pour l'extension de classe dans F-Script, l'approche maintenant  
> pressentie est celle d'une syntaxe spécifique. Par exemple, voici le  
> code pour ajouter une méthode "print" à la classe NSObject (la  
> classe racine sur Mac OS X):
>
> NSObject
> {
>  - print
>  {
>    stdout print:self printString
>  }
> }
>
>
> Et pour reprendre ton exemple:
>
> Point
> {
>  - newDistanceFrom:aPoint
>  {
>    ...
>  }
>
>  + newDistanceFrom:aPoint
>  {
>    ...
>  }
> }
>
> Philippe
>
> Le 2 déc. 2009 à 22:37, stephane ducasse a écrit :
>
>> On Dec 2, 2009, at 1:26 PM, Philippe Mougin wrote:
>>
>>> Merci pour ces retours.
>>>
>>> Le support des extensions de classe est prévu pour la prochaine  
>>> version (note: on peux déjà redéfinir une classe F-Script  
>>> existante). Je pense me limiter à la possibilité d'ajouter des  
>>> méthodes à une classe existante.
>>
>> oui override brek mais parfoi snecessaire
>>
>>> Je n'ai pas encore trouvé de syntaxe satisfaisante et je cherche  
>>> toujours. Je ne suis pas sûr au final d'introduire une syntaxe.
>>
>>
>> Point>>newDistanceFrom: aPoint
>> {
>>
>> }
>>
>> Class side
>>
>> Point class >>newDistanceFrom: aPoint
>> {
>>
>> }
>>
>>
>>> Il est possible que je passe par un simple message. Dans ce cas,  
>>> une des possibilités que j'envisage sérieusement est d'introduire  
>>> une méthode permettant de demander à une classe "d'apprendre" une  
>>> méthode existant dans une autre classe. Par exemple, on pourrait  
>>> écrire:
>>>
>>> MyClass learn:#aMethod from:AnotherClass
>>
>>
>> je trouve pas cela tres cool et je prefere pepsi voir gnu syntaxe  
>> ou coral comme au dessus.
>>>
>>> Voila où j'en suis.
>>>
>>> -Philippe
>
>
>
> _______________________________________________
> Squeak-fr mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr

_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Reply | Threaded
Open this post in threaded view
|

Re: F-Script 2.0

Philippe Mougin
Salut Noury,

Pour la définition des classes, j'ai pensé à la syntaxe d'Objective-C, qui aurait pour avantage très intéressant la familiarité des développeur avec cette syntaxe. Deux raisons m'ont conduit à l'écarter:

- La syntaxe d'Ojective-C est sous optimale dans un contexte comme F-Script car elle requiert de déclarer l'interface de la classe séparément de l'implémentation (la raison en est le support pour la compilation séparée à la mode C). Dans le contexte de F-Script cela perd son sens et alourdirai significativement la définition de classe. Dans le cas d'une syntaxe inspiré d'Objective-C mais simplifié (comme dans ton exemple), j'ai considéré que le bénéfice de la familiarité se réduisait fortement voire qu'une certaine confusion pouvait avoir lieu, et qu'il était plus clair d'avoir une syntaxe repensée from scratch.  

- Le parsing serai largement complexifié car dans F-Script le symbol @ est utilisé pour dénoter les messaging pattern. Il faudrait pas mal de look ahead ou bien ne pas considérer la définition de classe comme une expression (pouvant apparaitre n'importe ou dans le code et pas seulement en tant qu'instruction), ce qui ne serait pas une limitation ennuyeuse en pratique mais nuirait à la régularité du langage.  

En ce qui concerne la suppression d'un niveau d'accolade, il ne me semble pas que cela soit gagnant puisqu'on remplace les accolades par "@class" et "@end".

Philippe

Le 14 janv. 2010 à 10:05, Bouraqadi Noury a écrit :

>
> Salut Philippe,
>
> J'imagine que tu as pensé à la solution d'objective-c avec des @. Cela enlève un niveau d'accolades supplémentaires. Pourquoi tu l'as écartée ?
> Cela donnerait pour la classe Point qq chose du genre
>
>
> @class Point
> - newDistanceFrom:aPoint
> {
>   ...
> }
>
> + newDistanceFrom:aPoint
> {
>   ...
> }
> @end
> On 13 janv. 10, at 12:20, Philippe Mougin wrote:
>>
>> Pour l'extension de classe dans F-Script, l'approche maintenant pressentie est celle d'une syntaxe spécifique. Par exemple, voici le code pour ajouter une méthode "print" à la classe NSObject (la classe racine sur Mac OS X):
>>
>> NSObject
>> {
>> - print
>> {
>>   stdout print:self printString
>> }
>> }
>>
>>
>> Et pour reprendre ton exemple:
>>
>> Point
>> {
>> - newDistanceFrom:aPoint
>> {
>>   ...
>> }
>>
>> + newDistanceFrom:aPoint
>> {
>>   ...
>> }
>> }



_______________________________________________
Squeak-fr mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr