Hi all,
We have added the method "allUsing:".
It takes a Trait as a parameter and will return all the entities in your
model that use the trait.
Example:
mooseModel allUsing: FamixTClass
will return all the FamixJavaClass and FamixJavaInnerClass (if
FamixJavaInnerClass --|> FamixJavaClass)
It will be the main method if you want to query your model with abstract
entities.
Benoît
Hello
I want to execute statement
RTHTML5Exporter new export: aRoassalView
How?? to download exporter or?? exporter for???? Glamorou browser.
I read moose book and want use it for logistic application.
Feliks
Hi,
We are currently cleaning the traits in FamixNG.
Once again, the idea is to remove FamixCompatibility metamodel and to keep only FamixStEntities or FamixJavaEntities (and so on). Obviously, it has incidence on tests.
Do you use FamixTypeGroup, FamixClassGroup… and more generally groups in Famix?
Thank in advance for your answer.
Anne
Hello everyone!
I'm glad to announce the release of Moose v7.0.0.
I'll explain the main changes since Moose 6.1 and what are the future
plans for Moose 8 in this mail.
* What changed?
In this version of Moose a lot of things changed from the meta model
management point of view. In Moose 6.1 we only had one big metamodel
build with inheritance to analyze all languages. This had a lot of
limits and a lot of work has been done to improve Moose on those weak
points.
In Moose 7, you can now have multiple meta-models independant from
each others. This mean that we will now have one meta model by parser.
We can also create simple meta-models for test purpose. Also those MM
are build by composing stateful traits instead of using inheritance.
On top of that we now also have the possibility to use generators to
manage meta-models. Instead of writing every classes by hand, we can
describe a meta-model in a generator and use it to generate the MM.
Then we can use it to regenerate it also.
Pavel, who did most of the work, wrote some documentation you can find
here: https://pavel-krivanek.github.io/famix/
There is still a lot of work to do to make it better but this will
come with Moose 8. The reason we release now is that in Moose 7 we
started to have split MM for Java, Pharo, and other languages, but we
still have a compatibility meta-model. The work needed to improve
Moose further will require to break the compatibility MM. Thus we are
releasing a stable version now with a compatibility MM and we will
work on a Moose 8 version where the compatibility MM will be removed.
* Workflow for bugfixes
Another change with Moose 6.1 is that now Moose is managed via Github.
This will allow use to do patches or minor releases in case the
community find bugs or need some new simple features in Moose 7 as
long as it only contains backward compatible changes.
* Plan for the next release
We already stated to work on Moose 8. We plan to work on multiple aspects:
- Improve the usability of the generator, especialy while regenerating MMs
- Update the Traits contained in Moose to build our MM. Currently,
they are a reproduction of what was in Moose 6.1 in order to get the
compatibility model. The goal is to remove all the hacks and get
cleaner traits.
- Start to build new tools to use the full power of this new version of Moose
- Fix bugs that will be discovered after such a big change
* How to get Moose 7
You can get Moose 7 in two ways. First is to install it in a Pharo 7 image:
```
Metacello new
baseline: 'Moose';
repository: 'github://moosetechnology/Moose:v7.x.x/src';
load.
```
The second is to get it via the Pharo Launcher. It now has a Moose 7
entry to get this version and a Moose 8 entry to get the development
version.
We will also need to update Moose technology website.
* Credits
Thank to Pavel Krivanek who did most of the work.
Thank also to:
- Benoit Verhaeghe
- Julien Delplanque
- George Ganea
- Christopher Fuhrman
- Stephane Ducasse
- Anne Etien
- Nicolas Anquetil
- Cyril Ferlicot
And any other I might have forgot who participated in the development
of Moose 7 :)
--
Cyril Ferlicot
https://ferlicot.fr
Hi,
Last month we did some changes to the MM generator of the development
version of Moose and it might impact people using it.
I'll explain the changes and what to do in this mail.
Context:
In the development version of Moose, we have two ways of building a
metamodel. The first is to do as in Moose 6.1 and write it by hand.
The second and recommended way is to describe it in a MetaModel
generator and to generate it.
This generator is also able to regenerate a metamodel. In order to do
that, it needs to know the Traits and Slots it generated. This was
done by generating two methods on each entity: #generatedSlotNames and
#generatedTraitNames.
Changes:
With Julien Delplanque, we updated Moose to remove the need of those
two methods. For Traits, we are now able to just ask an entity for its
Traits that are part of the metamodel. Thus, we do not need the
#generatedTraitNames method. For Slots, we have two kinds. One that
describe a relation between entities and another that store
properties. The relations already had a slot specific to Famix. We
introduced another one call FMProperty to be used to store the
properties. With that change, all slots generated by the generator are
specific to Famix, thus we can lust ask a class for its famix slots
and we do not need to generate a static method with the slot names in
entities.
Actions to take after this change:
We added some compatibility code to keep things working during a
transition period. Two actions are needed if you want a clean MM after
those changes:
- The first one is to remove the #generatedTraitNames methods from the
class side of generated entities.
- The second one is to regenerate your metamodel and this will
automatically replace InstanceVariableSlot by FMProperty and remove
#generatedSlotNames methods.
Change in generator behavior:
This change as a side effect you need to know. Before, regeneration of
MM was updating only the Traits and Slots it generated. Now it will
regenerate all Traits that are part of the metamodel (with a
#MSEClass:super pragma) and all Famix slots. Thus, if you are managing
a MM via a generator, you need to update the generator description to
add a Trait or Slot from Famix instead of adding it by hand. Else, it
will be removed during the next generation.
--
Cyril Ferlicot
https://ferlicot.fr
Hi everyone,
As already explained, we are currently cleaning the traits in FamixNG. Pavel did a great job by providing a back office to create new meta model with a tiny DSL and by building the old meta model using the new infrastructure. Now, we want to:
- clean elementary traits (for example when there is a FMMany slot, sometime there is an addXXX method and sometime not)
- compose traits (FamixTClass is not a composition of traits, it has to be done when we build the meta model), to provide semantically rich traits.
- be sure that tests are passing. They were tests in FamixNG, only to ensure compatibility with the old meta model.
Consequently, I developed a generator to create tests associated to elementary traits. Normally you don’t need to use this generator if you use only build traits by composing existing ones.
Anyway, if needed, you can get the generator from FamixNG-TestGenerators package in TestGenerator3 branch:
fttg := FamixTestAndTraitGenerator new.
fttg runFor: FamixTClass
I developed a second generator to generate tests from the trait composition. We will use it after cleaning FamixNG. Obviously, later the generator has no vocation to remain in the image, tests will be generated once and you can add tests by hand.
fcg := FamixComposingTestTraitsGenerator new.
fcg addingTraitsToTestTraitFor: FamixTClass
For using this later, we need that a correction in Pharo concerning composition of traits with slots is back tracked in Pharo 7. Or you can use the attached file.
We already get 135 tests for FamixNG and we will continue.
If you have any question don’t hesitate.
Anne
It should be up and running now.
George
> On 25 Jun 2019, at 13:00, moose-dev-request(a)list.inf.unibe.ch wrote:
>
> thanks doru this is important for the credibility of the community.
>
>
>> On 25 Jun 2019, at 00:29, Tudor Girba <tudor(a)tudorgirba.com <mailto:tudor@tudorgirba.com>> wrote:
>>
>> Oh. Thanks for the report. We will fix that.
>>
>> Doru
Doru
can you tell us how we can fix the fact that http://www.moosetechnology.org is failing.
Stef
--------------------------------------------
Stéphane Ducasse
http://stephane.ducasse.free.frhttp://www.synectique.eu / http://www.pharo.org
03 59 35 87 52
Assistant: Julie Jonas
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France
IWST 19 Information and Call For Papers
IWST19 — International Workshop on Smalltalk Technologies Cologne, Germany; August 27-29th, 2019
Goals and scopes
The goals of the workshop is to create a forum around advances or experience in Smalltalk and to trigger discussions and exchanges of ideas. The topics of your paper can be on all aspect of Smalltalk, theoretical as well as practical. Participants are invited to submit research articles or industrial papers. This year we want to open two different tracks: one research track and one industrial track with less scientific constraints.
We expect papers of three kinds:
• Short position papers describing emerging ideas
• Long research papers with deeper description of experiments and of research results.
• Industrial papers with presentation of real and innovative Smalltalk applications; this kind of paper should enlighten why Smalltalk is really appropriate for your application.
We will not enforce any length restriction.
Important Dates
• Submission deadline: June 15th, 2019
• Notification deadline: July 20th, 2019
• Workshop: between August 27th and 29th, 2019
Topics
We welcome contributions on all aspects, theoretical as well as practical, of Smalltalk related topics such as:
• Aspect-oriented programming,
• Design patterns,
• Experience reports,
• Frameworks,
• Implementation, new dialects or languages implemented in Smalltalk,
• Interaction with other languages,
• Meta-programming and Meta-modeling,
• Tools
Best Paper Award
To encourage the submission of high-quality papers, the IWST organizing committee is very proud to announce a Best Paper Award for this edition of IWST.
We thank the Lam Research Corporation for its financial contribution which makes it possible for prizes for the three best papers: 1000 USD for first place, 600 USD for second place and 400 USD for third place.
The ranking will be decided by the program committee during the review process. The awards will be given during the ESUG conference social event.
The Best Paper Award will take place only with a minimum of six submissions. Notice also that to be eligible, a paper must be presented at the workshop by one of the author and that the presenting author must be registered at the ESUG conference.
Publication
Both submissions and final papers must be prepared using the ACM SIGPLAN 10 point format. Templates for Word and LaTeX are available at http://www.sigplan.org/Resources/Author/ <http://www.sigplan.org/Resources/Author/>. This site also contains links to useful informations on how to write effective submissions. Submission
All submissions must be sent via easychair: https://easychair.org/conferences/?conf=iwst19 <https://easychair.org/conferences/?conf=iwst19>
Program chairs
• Anne Etien (Université de Lille, France)
• Loïc Lagadec (Ensta Bretagne, France)
Hi,
We extended Glamorous Toolkit to include direct support for Famix in the distribution. We currently support Famix3, which we ported from SmalltalkHub to GitHub along side with Fame:
https://github.com/feenkcom/gt4famix3https://github.com/feenkcom/famix3
This is likely a temporary solution. Ideally, we would like to not fork, but we wanted something that we can use right now and that can be loaded without external dependencies.
This can already be combined with all the interaction, visualization, and the advanced syntax highlighting support that already exists in GT.
Cheers,
Doru
--
feenk.com
"Don't give to get. Just give."
Hi guys,
In Moose 7/Pharo 7, I have this message : "Moose description are not initialized. Have you refreshed the meta-model? (e.g., MooseModel resetMeta)".
I am working on my own model created in Moose6.1. It worked with it.
Browsing the model in the MoosePanel is possible with the use of pragmas MSEProperties.
But it seems that in Moose 7, there are changes.
Can someone help me or give me a documentation about what was changed in Moose 7 in the declaration on models ?
Thank you
Hello,
Here are the slides of the tutorial: https://www.slideshare.net/JulienDelp/famix-nextgeneration <https://www.slideshare.net/JulienDelp/famix-nextgeneration>
Cheers,
Julien
---
Julien Delplanque
Doctorant à l’Université de Lille
http://juliendelplanque.be/phd.html
Equipe Rmod, Inria
Bâtiment B 40, Avenue Halley 59650 Villeneuve d'Ascq
Numéro de téléphone: +333 59 35 86 40
> Le 29 mai 2019 à 09:47, Anne Etien <anne.etien(a)univ-lille.fr> a écrit :
>
> Hi Jannik,
>
> Yes you have to create your own builder.
> Yes some traits are already exist and they are mostly OOP, but we try to make them generic.
> Julien has done a tutorial to explain how to write your own builder. And he developed a MM for PL/SQL what is not OOP. The only thing is that you won’t reuse lot of traits and will define more.
>
> @Julien, can you send a link to your tutorial?
>
> Cheers,
>
> Anne
>
>> Le 29 mai 2019 à 09:28, Jannik Laval <jannik.laval(a)univ-lyon2.fr <mailto:jannik.laval@univ-lyon2.fr>> a écrit :
>>
>> Thank you Nicolas,
>>
>> What I understand is that I need to create a builder, and define my model.
>> Also, If I understand well, the traits are dedicated to OOP (TClass, TMethod…)
>>
>> I will try and see.
>> Cheers,
>> --
>> ~~Jannik Laval~~
>> Enseignant-chercheur
>> Responsable Pédagogique Licence Coordonnateur de Projet
>> IUT Lumière, Université Lumière Lyon 2
>> laboratoire DISP
>> +33 4 78 77 43 06
>> http://www.jannik-laval.eu <http://www.jannik-laval.eu/>
>> http://www.phratch.com <http://www.phratch.com/>
>> http://www.approchealpes.info <http://www.approchealpes.info/>
>>
>>> Le 29 mai 2019 à 08:07, Nicolas Anquetil <nicolas.anquetil(a)inria.fr <mailto:nicolas.anquetil@inria.fr>> a écrit :
>>>
>>>
>>> The Famix metamodel was completly redesign to make it easier to create
>>> new models.
>>>
>>> It now uses stateful traits to represent basic properties (eg an entity
>>> as a name, or an entity contains methods) that are combined to create
>>> the entities one needs.
>>>
>>> we are still working on it, but you can have a look at
>>> https://github.com/SquareBracketAssociates/Booklet-FamixNG <https://github.com/SquareBracketAssociates/Booklet-FamixNG>
>>>
>>> nicolas
>>>
>>>
>>> On Tue, 2019-05-28 at 19:16 +0000, Jannik Laval wrote:
>>>>> Hi
>>>>> guys,
>>>>> In
>>>>> Moose 7/Pharo 7, I have this message : "Moose description are not
>>>>> initialized. Have you refreshed the meta-model? (e.g., MooseModel
>>>>> resetMeta)".
>>>>> I
>>>>> am working on my own model created in Moose6.1. It worked with
>>>>> it.
>>>>> Browsing
>>>>> the model in the MoosePanel is possible with the use of pragmas
>>>>> MSEProperties.
>>>>>
>>>>>
>>>>> But
>>>>> it seems that in Moose 7, there are changes.
>>>>> Can
>>>>> someone help me or give me a documentation about what was changed
>>>>> in Moose 7 in the declaration on models ?
>>>>>
>>>>>
>>>>> Thank
>>>>> you
>>>>
>>>> _______________________________________________
>>>> Moose-dev mailing list
>>>> Moose-dev(a)list.inf.unibe.ch <mailto:Moose-dev@list.inf.unibe.ch>
>>>> https://www.list.inf.unibe.ch/listinfo/moose-dev <https://www.list.inf.unibe.ch/listinfo/moose-dev>
>>> --
>>> Nicolas Anquetil
>>> RMod team -- Inria Lille
>>>
>>> _______________________________________________
>>> Moose-dev mailing list
>>> Moose-dev(a)list.inf.unibe.ch <mailto:Moose-dev@list.inf.unibe.ch>
>>> https://www.list.inf.unibe.ch/listinfo/moose-dev <https://www.list.inf.unibe.ch/listinfo/moose-dev>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> Moose-dev(a)list.inf.unibe.ch <mailto:Moose-dev@list.inf.unibe.ch>
>> https://www.list.inf.unibe.ch/listinfo/moose-dev
>
Hello,
Today I've decided to clean the Moose Jenkins,
So I've deactivated all the project in gray in the attached file.
They were in error for at least 6 months or still use smalltalkhub.
I did NOT delete the success build, so you still can use the produced image
from the Pharo Launcher or directly from the jenkins.
If you want to activate back a project, just let me know.
Kind regards,
Benoît Verhaeghe
Hi doru
We all use Moose 70 internally and it would be good to have Moose 70 on the web
How can we do it?
Stef
--------------------------------------------
Stéphane Ducasse
http://stephane.ducasse.free.frhttp://www.synectique.eu / http://www.pharo.org
03 59 35 87 52
Assistant: Julie Jonas
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France
Hi
I started and I will continue to collect little projects that extract information (git, GS…) but that are not targeting Moose but plain pharo objects.
I called them Kiwi-Something to convey that they are small.
I would like to avoid to reinvent the wheel.
Stef
--------------------------------------------
Stéphane Ducasse
http://stephane.ducasse.free.frhttp://www.synectique.eu / http://www.pharo.org
03 59 35 87 52
Assistant: Julie Jonas
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France
I will be showcasing the *features *of Lands
<https://npapoylias.gitlab.io/lands-project/>,
in *espresso-sized form* for the next couple of
months on twitter ;)
*Please support the project by making some noise !*
*On related news*: I am joining the LIG lab at <https://www.liglab.fr/en>
Grenoble <https://www.liglab.fr/en> to work on *DSLs for the Linux kernel*,
so stay tuned !
*Best*,
Nick,
========================================================================
Call for Papers
DLS 2019 - 15th Dynamic Languages Symposium
Co-located with SPLASH 2019, October 22, Athens, Greece
https://conf.researchr.org/home/dls-2019
Follow us @dynlangsym
========================================================================
Dynamic Languages play a fundamental role in today’s world of software,
from the perspective of research and practice. Languages such as
JavaScript, R, and Python are vehicles for cutting edge research as well
as building widely used products and computational tools.
The 15th Dynamic Languages Symposium (DLS) at SPLASH 2019 is the
premier forum for researchers and practitioners to share research and
experience on all aspects on dynamic languages.
DLS 2019 invites high quality papers reporting original research and
experience related to the design, implementation, and applications of
dynamic languages.
Areas of interest are generally empirical studies, language design,
implementation, and runtimes, which includes but is not limited to:
- innovative language features
- innovative implementation techniques
- innovative applications
- development environments and tools
- experience reports and case studies
- domain-oriented programming
- late binding, dynamic composition, and run-time adaptation
- reflection and meta-programming
- software evolution
- language symbiosis and multi-paradigm languages
- dynamic optimization
- interpretation, just-in-time and ahead-of-time compilation
- soft/optional/gradual typing
- hardware support
- educational approaches and perspectives
- semantics of dynamic languages
- frameworks and languages for the Cloud and the IoT
Submission Details
------------------
Submissions must neither be previously published nor under review at
other events. DLS 2019 uses a single-blind, two-phase reviewing process.
Papers are assumed to be in one of the following categories:
Research Papers:
describe work that advances the current state of the art
Experience Papers:
describe insights gained from substantive practical
applications that should be of a broad interest
Dynamic Pearls:
describe a known idea in an appealing way to remind the
community and capture a reader’s interest
The program committee will evaluate each paper based on its
relevance, significance, clarity, and originality.
The paper category needs to be indicated during submission,
and papers are judged accordingly.
Papers are to be submitted electronically at https://dls19.hotcrp.com/
in PDF format. Submissions must be in the ACM SIGPLAN conference acmart
format, 10 point font, and should not exceed 12 pages. Please see full
details in the instructions for authors available at:
https://conf.researchr.org/home/dls-2019#Instructions-for-Authors
DLS 2019 will run a two-phase reviewing process to help authors make
their final papers the best that they can be. Accepted papers will be
published in the ACM Digital Library and will be freely available for
one month, starting two weeks before the event.
Important Deadlines
-------------------
Abstract Submission: May 29, 2019
Paper Submission: June 5, 2019
First Phase Notification: July 3, 2019
Final Notifications: August 14, 2019
Camera Ready: August 28, 2019
All deadlines are 23:59 AoE (UTC-12h).
AUTHORS TAKE NOTE: The official publication date is the date the
proceedings are made available in the ACM Digital Library. This date
may be up to two weeks prior to the first day of your conference.
The official publication date affects the deadline for any patent
filings related to published work.
Program Committee
-----------------
Alexandre Bergel, University of Chile
Carl Friedrich Bolz-Tereick, Heinrich-Heine-Universität Düsseldorf
Chris Seaton, Oracle Labs
David Chisnall, Microsoft Research
Elisa Gonzalez Boix, Vrije Universiteit Brussel
Gregor Richards, University of Waterloo
Guido Chari, Czech Technical University
Hannes Payer, Google
James Noble, Victoria University of Wellington
Jeremy Singer, University of Glasgow
Joe Gibbs Politz, University of California San Diego
Juan Fumero, The University of Manchester
Julien Ponge, Red Hat
Mandana Vaziri, IBM Research
Manuel Serrano, Inria
Marc Feeley, Université de Montréal
Mark Marron, Microsoft Research
Na Meng, Virginia Tech
Nick Papoulias, Université Grenoble Alpes
Richard Roberts, Victoria University of Wellington
Sam Tobin-Hochstadt, Indiana University
Sarah Mount, Aston University
Sébastien Doeraene, École polytechnique fédérale de Lausanne
William Cook, University of Texas at Austin
Program Chair
-------------
Stefan Marr, University of Kent, United Kingdom
Hi nick
I wanted to support your chapters via paypal but it asked me about my visa and I would like
to pay via my paypal account. Do you know if this is possible?
Else can you send me your pp account?
Stef
> On 17 Mar 2019, at 10:21, Nick Papoylias <npapoylias(a)gmail.com> wrote:
>
> Dear friends !
>
> I am quite excited to announce the availability of an alpha version
> of my latest work around Parsing and Programming Languages at:
>
> https://npapoylias.gitlab.io/lands-project/ <https://npapoylias.gitlab.io/lands-project/>
>
> Accompanied by ~ 30 min of transcribed eye-candy:
>
> https://www.youtube.com/playlist?list=PLIjPQnRzAKVHABG1-oTvwWc3Gj1Z4C91B <https://www.youtube.com/playlist?list=PLIjPQnRzAKVHABG1-oTvwWc3Gj1Z4C91B>
>
> Backed by a crowdfunding campaign ! To get the book and stable release
> successfully out of the door:
>
> https://www.patreon.com/lands_project <https://www.patreon.com/lands_project>
> https://npapoylias.gitlab.io/lands-project/Support/ <https://npapoylias.gitlab.io/lands-project/Support/>
>
> Click, download, watch, enjoy ! If you like what you see, support the project ! Tiers
> start from 5 and 10 euros per chapter for individuals. Companies supporting
> the project can get 6 to 12 days of consultancy, on-site workshops and other perks.
>
> =================
>
> What is all about ??
>
> Lan.d.s is a new solution for language design. From general purpose
> languages like Lise (short for (list (embedding)) to Domain-Specific
> Languages using the MOODs framework, and everything else in between.
> Lan.d.s is build around the formalism of Multi-Ordered Grammars,
> which are a possible alternative to CFGs and PEGs in wider use today.
>
> Multi-ordered grammars (or simply MOGs) aim for a better exploration of ambiguity,
> recursion, ordering and associativity during language design. They can be parsed using the
> Gray Algorithm. After parsing in order to ease the production of executable code
> Lan.d.s introduces the Abstract Syntax Language (ASL), which is an OO
> solution for compile-time meta-programming. Finally in order to promote
> language extension and re-use, Lan.d.s employs GrammarTraits, as units of
> composition for both MOG rules and ASL actions.
>
> =================
>
> Some random highlights for the impatient:
>
>
> * Object subclass: #Prediction uses: Future syntax
>
> * Languages are everywhere, they are all around you, even now in this very sentence.
>
> * Study SICP with a Xerox flavor, while re-inventing some Bell-labs utilities.
>
> * TOC-Board, the TOC for your next talk ;)
>
>
> Enjoy !
> <Theory-and-Applications-Of-Multi-Ordered-Grammars.pdf><Lands-Alpha-All-Along-The-Language-Tower.png>
--------------------------------------------
Stéphane Ducasse
http://stephane.ducasse.free.frhttp://www.synectique.eu / http://www.pharo.org
03 59 35 87 52
Assistant: Julie Jonas
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France
*Dear friends ! *
I am quite excited to announce the availability of an alpha version
of my latest work around *Parsing and Programming Languages* at:
https://npapoylias.gitlab.io/lands-project/
Accompanied by ~ *30 min of transcribed eye-candy:*
https://www.youtube.com/playlist?list=PLIjPQnRzAKVHABG1-oTvwWc3Gj1Z4C91B
Backed by *a crowdfunding campaign* ! To get the *book and stable release *
successfully out of the door:
https://www.patreon.com/lands_projecthttps://npapoylias.gitlab.io/lands-project/Support/
*Click, download, watch, enjoy !* If you like what you see, support the
project ! Tiers
start *from 5 and 10 euros per chapter for individuals.* Companies
supporting
the project can get *6 to 12 days of consultancy, on-site workshops and
other perks.*
=================
*What is all about ??*
*Lan.d.s is a new solution for language design.* From *general purpose *
*languages* like *Lise* (short for (list (embedding)) to *Domain-Specific *
*Languages using the MOODs framework*, and everything else in between.
Lan.d.s is build around the formalism of *Multi-Ordered Grammars, *
*which are a possible alternative to CFGs and PEGs in wider use today. *
Multi-ordered grammars (or simply MOGs) aim for a better exploration of
ambiguity,
recursion, ordering and associativity during language design. They can
be *parsed
using the *
*Gray Algorithm.* After parsing in order to ease the production of
executable code
Lan.d.s introduces the* Abstract Syntax Language (ASL),* which is an OO
solution for compile-time meta-programming. Finally in order to promote
language extension and re-use, Lan.d.s employs *GrammarTraits, as units of *
*composition for both MOG rules and ASL actions.*
=================
Some random highlights for the impatient:
** Object subclass: #Prediction uses: Future syntax*
** Languages are everywhere, they are all around you, even now in this very
sentence.*
** Study SICP with a Xerox flavor, while re-inventing some Bell-labs
utilities.*
** TOC-Board, the TOC for your next talk ;)*
Enjoy !
I'm trying to view the playground of an Example in Roassal in Moose 7 in
Pharo 7, but I get the following error:
Instance of RBSequenceNode did not understand
#formattedCodeWithMaxLineLength:
Using spotter I found that there's a method: #formattedCode, and
substituting that with the debugger allows the example to show its
playground.
Should this "bug" (my interpretation) be committed to a tracker somewhere?
Could this be a good candidate for the Pharo 7 deprecation re-writing
feature?
Cheers,
Cris