GithubHelp home page GithubHelp logo

coolya / mps.rocks Goto Github PK

View Code? Open in Web Editor NEW
58.0 10.0 18.0 3.03 MB

A curated list of awesome MPS extensions/libraries, software and resources.

Home Page: https://mps.rocks

License: Creative Commons Attribution 4.0 International

Makefile 100.00%
jetbrains-mps awesome-list mps-extensions mps-languages rocks

mps.rocks's Introduction

MPS rocks Awesome

A curated list of awesome MPS extensions/libraries, software and resources.

Inspired by awesome-python and awesome-rust.

What are you looking for?

Understand what MPS is

See what others have been building with MPS

  • Built with MPS are open source projects that all built on MPS
  • Research contains a list academic papers that make heavy use of MPS

Get started with MPS

To get stated we suggest to look at the tutorials in the following order:

  • MPS for the Impatient is a free hands-on course that covers the basics of JetBrains MPS from the language designer's perspective, skipping the theoretical topics as well as the practical productivity how-tos.
  • HeayMeta.tv - A complete MPS tutorial to build your first language by @coolya with lots background information on language design.
  • MPS Intro Course by @markusvoelter is an advanced introduction to MPS in the form of multiple videos as well as a github repository to play around with. It also covers extensions to MPS such as additional notations or the interpreter framework.
  • If you are specificity looking for input on how to build generators this guide contains a set of best practices.
  • The DSL Engineering Book contains detailed discussions of the concepts behind MPS in its Part III on language implementation.
  • For more details on specific MPS topics we refer to The MPS Language Workbench Book (Volume I, Volume II) as well as the official MPS User Guide

Learning contains a list of even more tutorials. In addition Research contains a list academic papers that make heavy use of MPS.

Get in touch with the community

Plugins

Plugins that improve MPS.

  • Build Script Notifier - Fix your build scripts with one click when module dependencies change.
  • digitalember.extensions - MPS baseLanguage editor extensions for better readability.
  • Durchblick - Simplified editors to increase readability of generators.
  • Editor2PDF - Serialises editor into PDF files
  • Fernsprecher - View your IntelliJ based IDE logs directly in your browser.
  • Grammar Cells - An extension to the editor language of MPS. It will help you to create consistent and well-behaving textual notations in MPS with no effort.
  • ingrid - Ingrid is a plugin for JetBrains MPS allowing import of ANTLRv4 grammars and create an MPS language out of it.
  • Key Promoter X - This plugin helps to learn essential shortcuts while you are working.
  • langdoc - This plugin allows arbitrary nodes in your models to be annotated with documentation text.
  • Language visualizer - A JetBrains MPS plugin to visualize the structure of a language.
  • Mario Progress Bar - Pretty progress bars for IJ based IDEs.
  • MPS BaseLanguage Extensions - A set of handy extensions to BaseLanguage, such as tail recursion optimization and function memoization
  • mps-code-reviewer - Code Review for JetBrains MPS providing integration with Bitbucket
  • MPS Extensions - Various extensions to simplify language development.
  • MPS gradle plugin - A Gradle plugin to build & test langauges and to support various tasks related to custom RCP packaging.
  • MPS-QA - This repository contains quality assurance tooling for Jetbrains' MPS.
  • Nyan Progress Bar - Pretty progress bars for IJ based IDEs.
  • Presentation Assistant - This plugin shows name and Win/Mac shortcuts of any action you invoke.
  • Shadow Models - Shadow Models is an incremental transformation framework for MPS.
  • Stubs Generator - Stubs Generator is a plugin to Jetbrains MPS which allows easy creation of generators of library stubs for custom MPS languages.
  • skadi gist - Share MPS code snippets via the browser.
  • Text Generator Plugin - Alternative Textgen for JetBrains MPS using the standard model to model generation mechanisms.

IDEs

Complete IDEs built with MPS.

  • Dutch Tax Office - Domain-specific languages to implement Dutch tax legislation and process changes of that legislation.
  • FBME - FBME (Function Blocks Modelling Environment) is an IDE for IEC 61499 standard built on top of JetBrains MPS language workbench.
  • Hardella IDE - Smart programming environment for PLC
  • mbeddr - An extensible C implementation in MPS to support embedded software development.
  • MetaR - A IDE for R for people with limited computer science background.
  • PeoPL - A full IDE build upon MPS to manage Software Product Lines.

Languages

Individual languages.

  • ANTLR_MPS - An ANTLR language for MPS, and the ToMPS language to help create MPS languages and ANTRL visitors from an ANTLR 4 grammar.
  • CsBaseLanguage - An implementation of the C# 5.0 language.
  • DclareForMPS - Support for the dclare engine in MPS.
  • D-Flat - C# language implementation prototype for JetBrains MPS.
  • ecmascript4mps - ECMAScript language implementation for JetBrains MPS.
  • FormatsDSL - A DSL to describe formats and generate loaders.
  • mbeddr.cpp - C++ language implementation prototype for JetBrains MPS, built as an extension on mbeddr.core (C language).
  • MPS JSON Language - A JSON implementation for MPS.
  • PlantUML - Language for PlantUML models, also useful to generate PlantUML diagrams from custom DSL.
  • iets3 - Base language for system modelling and specification including basics abstractions for components, expression, variability, etc.
  • Physics - A physical simulation description language built with MPS.
  • Voice Menu - A voice menu language and a Java simulator built using JetBrains MPS.
  • Web languages - a collection of Web-centric, partial language implementations: JSON, JSON Schema, WSDL, XSD, SVG, CSS.

Other projects

  • Modelix - Modelix is a open source platform that aims to bring modeling on the web.
  • MPS CodeRules - New typesystem from JetBrains for MPS. Uses logic programming.
  • MPS Platform Docs - This website collects practical knowledge about MPS and popular MPS platforms.
  • MPSServer - A tool to make MPS accessible remotely.
  • mpsZooKeeper.sh - Helper script to generate an isolated configuration prefix for isolated MPS instances.
  • Skadi Cloud - An experiment with Projector to put JetBrains MPS into the browser.
  • WebEditKit - This is a framework for creating projectional editors which interact with JetBrains MPS.
  • Learn MPS - Browse top resources, improve your MPS skills, and connect with the community.
  • Creating a simple language using JetBrains MPS - The objective of this project is to construct a language to define mindmaps.
  • Fast track tutorial is the official tutorial for MPS. It will provide you with an high-level overview in 10 steps, covering all aspects of MPS at a high level.
  • HeayMeta.tv - A complete MPS tutorial to build your first language by @coolya with lots background information on language design.
  • MPS for the Impatient is a free hands-on course that covers the basics of JetBrains MPS from the language designer's perspective, skipping the theoretical topics as well as the practical productivity how-tos.
  • mps-tips - Collection of tips and tricks about the MPS ecosystem which might be useful to someone.
  • MPS tutorials - Official tutorials and cookbooks for MPS.
  • MPS Intro Course by @markusvoelter - A slightly advanced introduction to MPS wiht a focus on language extension.
  • MPS Office Hours - A weekly one-hour Zoom meeting where you can share your screen and get help.
  • DSLFoundry - DSLFoundry blog: howtos and articles about practical MPS usage.
  • F1RE - A blog focus on the model driven software engineering domain.
  • languageengineering.io - A blog focused in language engineering with many examples implemented using MPS.
  • log verbose - The repositor owner's own blog posts on MPS.
  • Official Website
  • Programming Basics - Uses MPS to teach the basics of programming to none computer science people.
  • Specific Languages - Specific Languages blog: articles about practical MPS usage.
  • Strumenta - Strumenta blog: articles about MPS and language engineering in general.

Talks / Videos

Contributing

Your contributions are always welcome! Please take a look at the contribution guidelines first.

mps.rocks's People

Contributors

abstraktor avatar alexanderpann avatar antoinegagnon avatar arimer avatar bkolb avatar coolya avatar danielratiu avatar dependabot[bot] avatar digital-ember avatar dslmeinte avatar eugenschindler avatar ftomassetti avatar neumantm avatar nkoester avatar oscarmarcelo88 avatar sergej-koscejev avatar tinvernizzi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mps.rocks's Issues

How about adding the type of resource?

Motivation

The resources seem to fall into particular categories, round about these:

  • Videos
  • Text tutorials and blogs
  • Text documentation
  • Research Papers
  • Book recommendations
  • Communication (Slack / Twitter)

It would be helpful to assess the links to get a hint on what format it has.

Once we agreed on any of these, I'd volunteer to change that.

Ideas

Idea 1: Category roots

We could have the categories as list roots in the Resource paragraph.

Idea 2: Technical Format in the link text, more categories for

I found a similar list from jetbrains here. They seem to put the technical format in the link text. Their paragraph structure looks useful for identifying the group first that I'm interested in.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.