On 7/5/15, Alain Plantec via Pharo-users <pharo-users@lists.pharo.org> wrote:
{no text body}
In his thesis Dynamic Language Embedding With Homogeneous Tool Support http://scg.unibe.ch/archive/phd/renggli-phd.pdf Lukas Renggli p 2 mentions internal DSLs. <citation> Internal languages make a creative use of the host lan- guage. They integrate seamlessly into the host lan- guage and tools, but their syntax and semantics is strictly constrained. </citation> Speaking of GUI construction in Smalltalk for the Widget part you might consider that to be a library or API. For making use of the widgets you may think of an internal DSL. In addition the widgets as such might be rendered differently for different platforms (in Smalltalk in one of the GUI frameworks, an example was Squeak Morphic and MVC ) or outside (e.g. Kivy). @Hilaire, what do you think is outstanding of special about Kivy? I think to illustrate this it might be a nice experiment to develop a 'hello world' equivalent for GUI construction and have it rendered in as many user interface languages as possible (Kivy, various types of Morphic, Bloc etc., but as PPTX and ODP) The domain to be covered should be simple as to avoid making the exercise complex. Coming from a hello world type program means that at least a picture and some interaction (mouse click and keyboard) has to be added. A model which fulfills this and at the same time is useful as is for certain contexts: a sequence of slides (think 'simple Powerpoint slide show') with the follwoing slide types - one image and one caption - on text field only reaction to click event to advance to the next slide reaction to cursor left and cursor right to navigate through the slides and then rendering of the "GUI hello world program" in various languages https://en.wikipedia.org/wiki/User_interface_markup_language Another application domain for this is a picture book. --Hannes
Notes: 1. I understand that Kivy is an _external_ DSL (i.e. it is not Python code), or is it Python code? 2. p 12 to 21 is about "2.1 Internal Languages" 3. The wikipedia example https://en.wikipedia.org/wiki/Kivy is too simple. But the idea of a 'hello world type program' should be maintained and include showing the 'containment hierarchy', 'geometry' and 'event handling' aspect of the GUI description. 4. I think for Smalltalk an internal DSL for this makes a lot of sense, see Table 2.1 on page 13. On 7/6/15, H. Hirzel <hannes.hirzel@gmail.com> wrote:
On 7/5/15, Alain Plantec via Pharo-users <pharo-users@lists.pharo.org> wrote:
{no text body}
In his thesis
Dynamic Language Embedding With Homogeneous Tool Support
http://scg.unibe.ch/archive/phd/renggli-phd.pdf
Lukas Renggli p 2 mentions internal DSLs.
<citation> Internal languages make a creative use of the host lan- guage. They integrate seamlessly into the host lan- guage and tools, but their syntax and semantics is strictly constrained. </citation>
Speaking of GUI construction in Smalltalk for the Widget part you might consider that to be a library or API. For making use of the widgets you may think of an internal DSL.
In addition the widgets as such might be rendered differently for different platforms (in Smalltalk in one of the GUI frameworks, an example was Squeak Morphic and MVC ) or outside (e.g. Kivy).
@Hilaire, what do you think is outstanding of special about Kivy?
I think to illustrate this it might be a nice experiment to develop a 'hello world' equivalent for GUI construction and have it rendered in as many user interface languages as possible (Kivy, various types of Morphic, Bloc etc., but as PPTX and ODP)
The domain to be covered should be simple as to avoid making the exercise complex.
Coming from a hello world type program means that at least a picture and some interaction (mouse click and keyboard) has to be added.
A model which fulfills this and at the same time is useful as is for certain contexts:
a sequence of slides (think 'simple Powerpoint slide show') with the follwoing slide types - one image and one caption - on text field only reaction to click event to advance to the next slide reaction to cursor left and cursor right to navigate through the slides
and then rendering of the "GUI hello world program" in various languages
https://en.wikipedia.org/wiki/User_interface_markup_language
Another application domain for this is a picture book.
--Hannes
In addition the widgets as such might be rendered differently for different platforms (in Smalltalk in one of the GUI frameworks, an example was Squeak Morphic and MVC ) or outside (e.g. Kivy).
@Hilaire, what do you think is outstanding of special about Kivy?
I think to illustrate this it might be a nice experiment to develop a 'hello world' equivalent for GUI construction and have it rendered in as many user interface languages as possible (Kivy, various types of Morphic, Bloc etc., but as PPTX and ODP)
Theoretically speaking this is already possible with Spec, which is backend-independent GUI framework connected to backends (Morphic) via adapters. It would be an interesting proof-of-concept to implement other backends such as HTML without touching Spec. Peter
On 7/6/15, Peter Uhnák <i.uhnak@gmail.com> wrote:
In addition the widgets as such might be rendered differently for different platforms (in Smalltalk in one of the GUI frameworks, an example was Squeak Morphic and MVC ) or outside (e.g. Kivy).
@Hilaire, what do you think is outstanding of special about Kivy?
I think to illustrate this it might be a nice experiment to develop a 'hello world' equivalent for GUI construction and have it rendered in as many user interface languages as possible (Kivy, various types of Morphic, Bloc etc., but as PPTX and ODP)
Theoretically speaking this is already possible with Spec, which is backend-independent GUI framework connected to backends (Morphic) via adapters.
Are mechanisms in place to add other back-ends? Or is it tied to Morphic?
It would be an interesting proof-of-concept to implement other back-ends such as HTML without touching Spec.
Does Spec offer the opportunity to specify a GUI which mimics a power point slide show or an installation wizard (sequence of slides / screens?) --Hannes
Peter, Sorry for not reading your post properly, yes you write that Spec offers the option to write adapters for other back-ends. So I think the issue is to try to come up with an example which uses some other adapters, e.g. XHTML (--> phonegap?) Kivy not necessarily complete, but complete enough to do a simple example but which has an area of use (slide show, instruction, help system, tutorial, picture book) --Hannes On 7/6/15, H. Hirzel <hannes.hirzel@gmail.com> wrote:
On 7/6/15, Peter Uhnák <i.uhnak@gmail.com> wrote:
In addition the widgets as such might be rendered differently for different platforms (in Smalltalk in one of the GUI frameworks, an example was Squeak Morphic and MVC ) or outside (e.g. Kivy).
@Hilaire, what do you think is outstanding of special about Kivy?
I think to illustrate this it might be a nice experiment to develop a 'hello world' equivalent for GUI construction and have it rendered in as many user interface languages as possible (Kivy, various types of Morphic, Bloc etc., but as PPTX and ODP)
Theoretically speaking this is already possible with Spec, which is backend-independent GUI framework connected to backends (Morphic) via adapters.
Are mechanisms in place to add other back-ends? Or is it tied to Morphic?
It would be an interesting proof-of-concept to implement other back-ends such as HTML without touching Spec.
Does Spec offer the opportunity to specify a GUI which mimics a power point slide show or an installation wizard (sequence of slides / screens?)
--Hannes
Argh.... where do you find the time to read all these papers, and books, and everything? :-( There must be some dark sorcery involved.
On 06-07-15 17:25, H. Hirzel wrote:
I think to illustrate this it might be a nice experiment to develop a 'hello world' equivalent for GUI construction and have it rendered in as many user interface languages as possible (Kivy, various types of Morphic, Bloc etc., but as PPTX and ODP)
The domain to be covered should be simple as to avoid making the exercise complex.
The interesting question is how it scales. Everyone can create a DSL that is simple for a simple problem. Stephan
Le 6/7/15 20:32, Stephan Eggermont a écrit :
On 06-07-15 17:25, H. Hirzel wrote:
I think to illustrate this it might be a nice experiment to develop a 'hello world' equivalent for GUI construction and have it rendered in as many user interface languages as possible (Kivy, various types of Morphic, Bloc etc., but as PPTX and ODP)
The domain to be covered should be simple as to avoid making the exercise complex.
The interesting question is how it scales. Everyone can create a DSL that is simple for a simple problem. Indeed :) and debug it
Stephan
Le 06/07/2015 23:25, H. Hirzel a écrit :
@Hilaire, what do you think is outstanding of special about Kivy? It just comes from a friend writting me he will start course at his university with Python and Kivy, and of course I wonder why not Pharo! Looking at Kivy features I guess motiviation came from the ability to write simple app for bothdesktop and mobile.
But anyway, it does not really deserve endless discussion Hilaire -- Dr. Geo http://drgeo.eu http://google.com/+DrgeoEu
participants (5)
-
H. Hirzel -
Hilaire -
Peter Uhnák -
Stephan Eggermont -
stepharo