Executability (Actions)

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

Executability (Actions)

Sean P. DeNigris
Administrator
Rereading "Magritte – A Meta-Driven Approach to Empower Developers and End
Users", I found the following very interesting passage on page 5:

> Magritte does not provide specific functionality to describe behavioral
> aspects, such as operations, their parameters and return values [17,9].
> This is not necessary, as methods in Smalltalk are objects that can be
> described as any other object. Then using the reflective facilities it is
> possible to retrieve a list of invokable method sends (first class method
> invocations) that are available on a particular class. On request these
> methods can be invoked with arguments provided by end users.

Can anyone provide or point to an example of the above in actual use? It is
very intriguing but I'm not clear how one would go about implementing it!



-----
Cheers,
Sean
--
Sent from: http://forum.world.st/Magritte-Pier-and-Related-Tools-f115649.html
_______________________________________________
Magritte, Pier and Related Tools ...
https://www.list.inf.unibe.ch/listinfo/smallwiki
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Executability (Actions)

Lukas Renggli
Have a look at the command design pattern described in The Design Patterns Smalltalk Companion. Annotate the accessor methods that configure the command with Magritte; let the user edit the command object; then execute the command as described in the book.

Pier pretty much builds around this pattern for all user invokable behavior (see the PRCommand hierarchy).

Early versions of Pier used some kind of a naming convention to describe the arguments of methods. This was not very readable and led to problems with reusability and extensibility of commands.

Cheers,
Lukas

On 28 January 2018 at 17:22, Sean P. DeNigris <[hidden email]> wrote:
Rereading "Magritte – A Meta-Driven Approach to Empower Developers and End
Users", I found the following very interesting passage on page 5:

> Magritte does not provide specific functionality to describe behavioral
> aspects, such as operations, their parameters and return values [17,9].
> This is not necessary, as methods in Smalltalk are objects that can be
> described as any other object. Then using the reflective facilities it is
> possible to retrieve a list of invokable method sends (first class method
> invocations) that are available on a particular class. On request these
> methods can be invoked with arguments provided by end users.

Can anyone provide or point to an example of the above in actual use? It is
very intriguing but I'm not clear how one would go about implementing it!



-----
Cheers,
Sean
--
Sent from: http://forum.world.st/Magritte-Pier-and-Related-Tools-f115649.html
_______________________________________________
Magritte, Pier and Related Tools ...
https://www.list.inf.unibe.ch/listinfo/smallwiki



--

_______________________________________________
Magritte, Pier and Related Tools ...
https://www.list.inf.unibe.ch/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Executability (Actions)

Sean P. DeNigris
Administrator
Lukas Renggli wrote
> Have a look at the command design pattern… Early versions of Pier used
> some kind of a naming convention… and led to problems with reusability and
> extensibility of commands

Hey, Lukas! Thanks, that clears it up. The methods are reified in the model
itself and then *that* is meta-described.



-----
Cheers,
Sean
--
Sent from: http://forum.world.st/Magritte-Pier-and-Related-Tools-f115649.html
_______________________________________________
Magritte, Pier and Related Tools ...
https://www.list.inf.unibe.ch/listinfo/smallwiki
Cheers,
Sean