Building a DSLs-Zoo realized with Mps

Hi,
to build up a community I think it would be nice to have a "DSLs zoo" like the one of other Language Workbenches (see for example http://www.eclipse.org/Xtext/community.html or http://www.emftext.org/index.php/EMFText_Concrete_Syntax_Zoo.

I would offer to create a website and list different experiences, showcases, links to your blogs or websites and repositories.

In this way we could learn about similar efforts (possibly join forces), learn about best-practices, get the feeling of what the community is building.

Moreover having a list of projects using Mps could be useful for research reasons (I am a PhD in Language Engineering).

What do you think? Are you interested in participate?
55 comments
Comment actions Permalink
Hello to everybody! I suggest you to try also MPS-centric tutorials — i mean tutorials working as solutions inside MPS (if that is possible). I'm just learning MPS so don't know if it could be implemented, but it would be awesome if it could — we could abandon the screencasts that make you to switch between MPS and video player, which can't show you the hotkeys. Of course, all of the info should be then written precisely and it's rather hard to implement that on second thought — but it will all pay back, since it is THE kind of tutorials MPS needs.
0
Comment actions Permalink
Also we could come up with documentation language. It needs to document every concept of the bundled ones with MPS.
0
Comment actions Permalink
What you are describing sounds kind of like "cheat sheets" in Eclipse.  Is that what you have in mind?
0
Comment actions Permalink
Did not try that. Maybe will find time to do it :)
--
Andrew Zabavnikov
0
Comment actions Permalink
What i mean is a way to get user through step-by-step instructions, maybe with some visual indicators on important control elements. Of course, some instructions would be more long, since they would introduce some info and some — shorter, since they will just describe a way of doing particular action in MPS.
0
Comment actions Permalink
Hi Everyone I started created a blog at https://jetbrainsmpscommunity.wordpress.com (we could later move it to another domain). We could start collecting materials already published on other personal blogs. I understand we could have personal blogs were we want to cross-post the cool stuff we are working on, this is not intended as blog were all the material have to be original, just as a collector. In the next few days I will travel so I will not be able to put online the tutorial I am working on but please register and start post your stuff, let me know who want to have permissions for writing, administring and so on.

I need you help guys!
0
Comment actions Permalink
Exactly! (Or almost exactly — some details may still have to be changed :-) That's precisely what i had in mind, though, i even used them once, just have forgotten how they are called.
0
Comment actions Permalink
Ok, then I'll set up my personal blog and start writing so that we have some input.
0
Comment actions Permalink
Done: http://thelittlemetaprogrammer.wordpress.com/2013/07/05/extend-money-sample-with-currency-check/
If you would review it and either collect it into the blog or reject it with some comments...
0
Comment actions Permalink
Great! I will read it next week, now I am on holiday.
0
Comment actions Permalink
So, guys, what do you think? Is that what we want from our tutorials? Can it be implemented? What do you think about creating documentation inside MPS?
0
Comment actions Permalink
Just watched a video to learn about Eclipse cheat sheets. Basically it boils down to have a side windows with (navigatable) text. The instructions would also fit well into screencast shownotes. Personally I like screencasts a lot, so having a screencast for introduction and the shownotes as cheat sheet on the side for own experiments seems to be the perfect solution. Have to think about how to bring it all together. But it's doable with MPS, yes.
0
Comment actions Permalink
You may want to have a look at mbeddr's documentation language. This might be a basis for writing tutorials inside MPS. The nice thing is that you can embed actual references to arbitrary nodes in the documentation. In addition to that we generate screenshots and text snippets when generating to tex or html.


BTW: I think what you are planning to do is a really big thing for MPS :-) Keep going
0
Comment actions Permalink
I already thought about referring to nodes from the tutorial's text. Thanks for proof that it's possible!
0
Comment actions Permalink
Thank you for that hint. At first I thought about a language as tiny as possible because only some text hints have to be presented but maybe MPS can get a lot more self-explaining with that. And because the AST-manipulation is really easy, a "do it for me"-button should not be that hard to be implemented.
0
Comment actions Permalink
Right. You definitely should have a look at Sasha Lisson's richt-text stuff. I think it is part of MPS 3.0 anyway. Mbeddr's documentation language is just a tiny wrapper around that which allows you to create sections, listings and similar things. In addition it generates HTML and Latex. It is independent of the C implementation.
0
Comment actions Permalink
Sashas stuff is definitely something for the DSL library Federico suggested in his initial post.
0
Comment actions Permalink
Mike, would you mind adding a (perhaps empty) repository to this project please so that we could start? Firstly I would set up a list where we could gather links to MPS languages just like Federico stated in his initial post: http://www.emftext.org/index.php/EMFText_Concrete_Syntax_Zoo.
0
Comment actions Permalink
Now I nearly finished a field report about using MPS in a brownfield project. Unfortunately wordpress.com has problems with uploading pictures (screenshots) the last days so that I cannot publish that article. Any volunteers for reviewing? I could deliver a PDF and the missing screenshots by e-mail, GitHub or so.
0
Comment actions Permalink
Hi Jens,
I read it, I think it would be a good contribution for the MPS community.

I would just:
  • explain where to get the money example and how to extend it
  • provide the final version of the code (on github, maybe)
  • add some detailed which are obvious for some readers but could be not for beginners. I am thinking about the typesystem aspects. When you say: "One drawback is that you can add different currencies like 3 EUR + 4 USD." I would add a sentence like "You want to prevent doing that and permit only to sum the same currency". This is just my personal opinion, of course.

To invite you as an editor of the "community" blog I need your e-mail or your wordpress user id.
You could write to me at f <DOT> tomassetti (<AT> gmail <DOT> com).

Thank you!

Federico
0
Comment actions Permalink
Hello Federico,
I just updated the post. I thought I had explained where to get the money sample but now it is a bit more explicit. The final version was already on GitHub, indeed I forgot to mention it. And I added some details - and some stuff the reader should try out ;)
Do you also want to review my second (possible) post, a field report where we used MPS in a brownfield project - not creating any production code but nevertheless getting out valuable contributions?
0
Comment actions Permalink
Sorry I've been out of the loop - I've been busy starting my new job.  So I don't hold things up anymore, I added you (Jens) as an owner of the mpszoo organization, so you should be able to create repositories and do whatever you wish.

Hopefully over the next few days, or this weekend at the latest, I can get the time to catch up on everything you guys have done.  It's great to see all the progress being made.  I look forward to reading your blog posts and seeing what I can do to help move things forward.
0
Comment actions Permalink
Thank you Mike, I hope everything is good with the new job. We are looking forward to your contributions to the blog, you can write me your e-mail address so that I can invite you as an administrator of the blog (f dot tomassetti at gmail dot com).
0
Comment actions Permalink
Thank you and all the best for your new job!
I've created a repo and started a list of languages. Because of KISS I started with the existing README.md. When the list evolves and gets longer, we probably should find a better form, but for a start it should be ok. So if you have some recommendations - let me know!
0

Please sign in to leave a comment.