A slightly different emphasis for MPS - tell me if I am off base


    I have been an intellij, resharper, and profiler user since the turn of the century. I am interested in MPS because it is generally a cool idea. I have a copy of the Intentional Programming book that I have reread over the last couple of years and I hope someday that we realize the potential of the "software factory" approach.

I have an application in mind for MPS that may be divergent from your intended use of the product. Please give me some feedback about this. I am not a developer who came from the power editor tradition of programming - I am not very good with vi, emacs, slickedit. That is why I am so dependent on your products.

This can be a hinderance, however, when trying to adopt a new language that has either very poor tool support or is only supported in tools like emacs. There are some books on programming that extoll laziness as a virtue in programmers, but my laziness is so profound that I cannot imagine learning emacs at my age.

An example of a language like this is Ocaml. I really like this language, but I also want to be able to develop in an environment like intellij. Given a grammar that describes the syntax of Ocaml, and perhaps some kind of description of the type system using your type language (which I don't know anything about), could I use MPS to create an IDE-like environment for Ocaml?

There is a post earlier asking about the direction of MPS and you guys responded that you are still looking for ways to integrate MPS into the jetbrains development world. I would think that creating a development framework that allowed you to mass-produce little IDEs for all the cool languages out there would be an excellent application.

1 comment
Permanently deleted user

Hello, George.

It's possible to do what you want. You have to create a language that reflects the grammar of OCaml. Than you have to implement text generator for it or create interpreter for it. Text generation will take less time, but you own interpreter implementation can achieve much better IDE integration.

With type system you won't have any problem. We're getting rid of the old type system and starting to use a new one. New type sytem called helgins and the 'help' directory contain description of it. This language is rich enough to implement type inference for OCaml so you won't have any problems.



Please sign in to leave a comment.