Guys - this is absolutely astounding. 6 months ago I tagged a tweet with #pharoproject
about why we put up with static source code when we can do so much more, and I'm
stunned that in literally months this is a evolving around us.
This community is awesome!
Tim
Sent from my iPhone
On 26 Aug 2017, at 01:03, Tudor Girba
<tudor(a)tudorgirba.com> wrote:
Hi,
We are really pleased to announce another major advancement in the development of the
moldable editor, and most of it was enabled because of one new feature: expandable
elements. We think this will impact significantly our day to day interactions.
To exemplify what we mean, we will make use of two more alpha projects that we did not
announce yet: GT Documenter (a set of documentation tools based on Pillar and GT Examples)
and GT Mondrian (the graph visualization engine), both of which are being implemented in
Bloc.
Please take a look at the following pictures showing the documentation Pillar file that
ships together with GT Mondrian. What stands out are the two embedded pictures. These are
actually not pictures, but visualizations rendered live during the viewing of the document
out of a referenced GT Example.
<pillar-mondrian-examples.png>
Now, GT Examples are likely also new for most people. We introduced them a couple of
years ago based on the original idea of Markus Gaelli. These are a kind of tests that
return an object and that can be built out of other examples. The nice thing is that they
are always executable and testable. So, of course, if you see the resulting object, you
can also see the code that created it, and if you see the code, you can even execute it
live, right in place (notice the preview of the second snippet).
<pillar-mondrian-expanded-preview.png>
Perhaps the most controversial part of GT Examples is that they offer a mechanism to
define static dependencies via pragmas. Please, let’s leave this debate to another
occasion, but please also notice that tools can use that static information to unfold the
code of the referenced method (notice the nested code editors).
A side note: if you look closer at the list with three items at the top of the Tutorial
section, you will notice numbering next to #. That is actually syntax highlighting and so
is the mechanism that embeds the expandable elements. It’s really cool.
Taking step back, when we introduced the editor a few weeks ago, we called it moldable
because we said we can make it take different shapes easily. GT Documenter with everything
you see in the above screenshots has currently ~500 lines of code, and all this while
still having an editor that is highly scalable.
We think that Bloc and Brick will change dramatically face of Pharo and now we can start
to get a glimpse of what is possible. For example, the use case presented above is more
than a technical tool, and we think this will change both the way we write documentation
and the way we consume it.
All these will be presented at ESUG both during presentations and at the Innovation
Awards competition. In the meantime, those that want to play with it can execute the
following in both Pharo 6.1 and Pharo 7.0:
Iceberg enableMetacelloIntegration: true.
Metacello new
baseline: 'GToolkit';
repository: 'github://feenkcom/gtoolkit/src';
load.
And then inspect:
'./pharo-local/iceberg/feenkcom/gtoolkit/doc/mondrian/index.pillar'
asFileReference
Cheers,
The feenk team
--
www.tudorgirba.com
www.feenk.com
"Innovation comes in the least expected form.
That is, if it is expected, it already happened."
_______________________________________________
Moose-dev mailing list
Moose-dev(a)list.inf.unibe.ch
https://www.list.inf.unibe.ch/listinfo/moose-dev