Thanks for that, Maurizio.

Yes, Maurizio did a bunch of stuff on this last year, figuring out how
Xtend/XText works.

What we realized is that XText/XTend won't allow the body of methods to be
written in Java, they must be in XTend.  I don't have a problem with that,
but Maurizio does.

There's also a more philosophical point about what the scope of a DSL
should be.

Maurizio's view (I believe) is that this DSL should be to define the
structure of domain objects and the logical interactions (basically its
interface) but should say nothing about its implementation (ie that is done
in Java, as I said).

For myself, I guess I'm happier for Kemble to be a general purpose
language, suitable for writing Isis domain models.  To be honest, I don't
really see Kemble as particularly strategic for Isis, but - for those who
users who do want to use it or experiment with it - I think they would be
quite happy to also code the body implementations in XTend rather than
Java.  I think the target audience is the sort of dev who has also
experimented with Lombok, Groovy, Ceylon or Kotlin, looking to remove as
much boilerplate as possible.

Maurizio didn't mention that he has taken his ideas from last year and gone
on to build a different (non open source?) framework called GAPE [1], [2].
 It's pretty nifty stuff, I must say (and it has a very pretty demo app);
the role of its DSL is deliberately tightly constrained.   You can see how
the Java slots into a code-generated "user space" class.

HTH
Dan

PS: I do have some code fragments from Maurizio's experiments last year,
not yet checked in anywhere.  These define some of the Kemble grammar;
certainly a starting point.


[1] http://gape-todo.appspot.com/
[2] https://github.com/madytyoo/gape-dsl-sdk






On 20 March 2014 02:30, Maurizio Taverna <tavernamauri...@gmail.com> wrote:

> Hello,
> I worked on the Kemble/Xtext project last year, with the kind support of
> Lorenzo Bettini.
> The problem with  Kemble  is the language specification, which results in
> a MACRO language rather than a DSL.
> I've discussed with Dan many options, Dan's proposal was posted in the
> mailing list, about the adoption of XTend as
> embedded language, without feedback.
> In my opinion, it would be wise validate the language specification,
> before submit this the to the GSOC.
>
> Cheers
> Maurizio
>
>
> 2014-03-19 17:00 GMT+01:00 DImuthu Upeksha <dimuthu.upeks...@gmail.com>:
>
> Hi Dan,
>>
>> As far as I have understood we can use XText to write DSL grammar
>> rules. I went through some XText tutorials and managed to test some
>> code samples in eclipse.
>>
>> However the problem is, what is the use of Kemble to ISIS? Is it like
>> a programming language written on top of java to represent entities/
>> Domain objects of ISIS? If the answer is yes, then we have to come up
>> with a well defined grammar rule set. In jira ticket you have given
>> some examples which can get an Idea about that grammar rules. In
>> addition to that is there a specification just like restful objects
>> spec for these grammar rules?
>>
>> And sorry for the late reply. I was extremely busy with my internship
>> project in these days.
>>
>> Thanks
>> Dimuthu
>>
>> On Thu, Mar 13, 2014 at 11:24 PM, Dan Haywood
>> <d...@haywood-associates.co.uk> wrote:
>> >
>> >
>> >
>> > On 13 March 2014 17:38, DImuthu Upeksha <dimuthu.upeks...@gmail.com>
>> wrote:
>> >>
>> >> Hi Dan,
>> >> I accidentally noticed ISIS is on apache GSoC project list. I went
>> >> through some ideas and found idea [1] quite interesting because it
>> >> includes a lot to learn. If you are ok I would like to give it a try.
>> >> I'm currently doing my internship and it will be finished at the end
>> >> of April. So in these days I don't have much time to dedicate. But
>> >> after April I'll have enough time to dedicate for a GSoC project.
>> >
>> >
>> > no worries.
>> >
>> >
>> >>
>> >> Where can I begin?
>> >
>> >
>> > I strongly think this should be implemented using Eclipse XText / XBase
>> so
>> > that's the place to start.
>> >
>> > XText is the main project for designing the DSL grammar
>> >
>> > XBase is a base-level DSL to inherit from.  It is used as the basis of
>> > XTend, which is basically an out-of-the-box enhancement to Java (Java
>> 10,
>> > they call it).
>> >
>> > In our original thoughts we wanted to embed Java (as the method body)
>> within
>> > the DSL, but I think that using XText requires that the method body
>> must be
>> > XBase.  I think that's fine, I know that Maurizio thought otherwise.
>> >
>> > This slidedeck (from a few years ago) should help untangle these.
>> >
>> >
>> http://www.slideshare.net/schwurbel/pragmatic-dsl-design-with-xtext-xbase-and-xtend-2
>> >
>> >
>> > There's also a book that came out n the topic (Packt Publishing) a few
>> > months back.
>> >
>> >
>> >
>> >>
>> >> Is this something like writing a new language?
>> >
>> >
>> > Yes.  What's nice about XText/XTend is that it also generates all the
>> > tooling /code completion plugins (for Eclipse).
>> >
>> >
>> >>
>> >> In
>> >> fact what is Kemble and its usage?
>> >>
>> >
>> > Kemble is just a name we gave for this language.  It doesn't exist, no
>> one
>> > is using it.
>> >
>> > Why Kemble?  Well, it's the name of a village that's close to the
>> source of
>> > the River Thames (= River Isis).  "Source of Isis" ... if you get the
>> pun.
>> >
>> > Also, Ceylon (JBoss' language) also uses a (defunct) place name.
>> >
>> >
>> > Yeah, if you want to put a GSOC proposal in, that'd be great...
>> >
>> > Cheers
>> > Dan
>> >
>> >
>> >>
>> >> [1] https://issues.apache.org/jira/browse/ISIS-369
>> >>
>> >> Thanks
>> >> Dimuthu
>> >> --
>> >> Regards
>> >>
>> >> W.Dimuthu Upeksha
>> >> Undergraduate
>> >>
>> >> Department of Computer Science And Engineering
>> >>
>> >> University of Moratuwa, Sri Lanka
>> >
>> >
>>
>>
>>
>> --
>> Regards
>>
>> W.Dimuthu Upeksha
>> Undergraduate
>>
>> Department of Computer Science And Engineering
>>
>> University of Moratuwa, Sri Lanka
>>
>
>

Reply via email to