DSL debugger?
Hi,
Is there a plan for a DSL level debugger in MPS?
Something like this:
http://www.cis.uab.edu/wuh/DDF/
but of course, not based on Eclipse :).
Ahmed.
Please sign in to leave a comment.
Hi,
Is there a plan for a DSL level debugger in MPS?
Something like this:
http://www.cis.uab.edu/wuh/DDF/
but of course, not based on Eclipse :).
Ahmed.
Please sign in to leave a comment.
I'm sceptical whether a full domain language debugger ever will possible.
For example, a line in DSL can create scattered code in the whole system. If
the target language is Java, it could create portions of code in different
classes, which will executed at different times. How this should map back to
the DSL? Maybe a mixed DSL/target language debugger could work.
Tom
Hello Thomas,
TS> I'm sceptical whether a full domain language debugger ever will
TS> possible. For example, a line in DSL can create scattered code in
TS> the whole system. If the target language is Java, it could create
TS> portions of code in different classes, which will executed at
TS> different times. How this should map back to the DSL? Maybe a mixed
TS> DSL/target language debugger could work.
DSL is debuger itself. Since, MPS will not evaluate runtime code - all that
you coding in MPS editor - is already in "debug" mode. In other words, concept
is tested by editor. Editor is like unit test, while Editor works.
Generated Java code may be debuged anyway in IDEA and without MPS.
Thanks!
--
Alexey Efimov, Java Developer
Tops BI
Thomas Singer wrote:
The problem of debugging will be a big one, I think. If you look at
debugging today vs. debugging of 30-40 years ago, not much has changed.
Certainly the evolution of debugging tools has not been as fast as other
tools. In my opinion, tools like MPS will free debugging to evolve and
be explored beyond what is possible today. But it's hard to see what's
in the future.
The 'step-wise' semantics of the hardware are difficult to separate from
declarative style programs. However, consider that a lot of what goes on
in today's OOP structured languages doesn't directly map to machine
instructions either. E.g. method dispatch, thread synchronization, etc.
We will probably have to invent many new debugging techniques to handle LOP.
--
Rob Harwood
Software Developer
JetBrains Inc.
http://www.jetbrains.com
"Develop with pleasure!"
In other words, we cannot expect a simple debugger in near future, right? ;-)
Tom
Well, I wasn't expecting something very complicated :). Only what was
done for Eclipse, to be done for IDEA too (see the provided URL).
Ahmed.
Thomas Singer wrote:
I think only the MPS dev team can answer that. I hadn't considered the
possibility of just a simple debugger.
--
Rob Harwood
Software Developer
JetBrains Inc.
http://www.jetbrains.com
"Develop with pleasure!"
In my view, full-blown debugger is a far future but navigation from java code back to sources in DSL is not a big problem.
It will still be java debugger but the execution of code would be traced and even animated in mps.
Igor
Now this would be a very big step forward :).
If this 'navigation' is done in transparent way to the user, and (at
least some) DSL variables are also mapped so that the user 'only debugs
at DSL level', than this debugger would be more than enough :).
Ahmed.
This sounds good-enough for the first step. So MPS' purpose is to convert
"any language" to Java and not "any language" to "any other language" (e.g. C#)?
Tom
Thomas Singer wrote:
MPS's baseLanguage contains only common features of Java and
BaseLanguage, so MPS can easily translate to C#, if translator from
baseLanguage to plain text will be defined.
Of course not. In theory: from "any semantically richer language" to "any semantically poorer language".
But in practice, MPS is stuck to IDEA services.
Fortunately, IDEA is quite versatile IDE. Apart from regular java it supports JSP debugging and, in latest, J2ME (Run/Debug mobile phone emulators).
Igor