Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> > Mashing together two DSLs can be close to impossible.

> What?!? Unbelievable.

Let me put the unbelievable into concrete terms for you. On a previous project, I had a program that needed to repeatedly do the following

1) Download and XML config file 2) Parse said XML file for a set of voltages 3) Send the voltages over a set of power supplies 4) Retrieve a new array of voltages from our ADCs 5) Plot the voltages 6) Display the plots on a webpage

At an early point in the project, everything was using the best DSL for the job. The XML was parsed via XSLT. LabView was used to control the power supplies and ADCs. OriginPro provided the plots. The web pages were written in php.

However, the amount of effort that went into channeling the data between AWK, LabView, OriginPro, and php was found to be far greater than what it took to write a new application that did all of it in Python. No single stage of the process was as easy as it had been in the DSL, but the impedance mismatch between the languages was nightmarish.



sklogic is talking about DSLs embedded in a host language. You are comparing it to external DSLs, some of which were built not to play particularly well with others.

You can, of course, still have impedance mismatch between eDSLs, but you're just not talking about the same things.


Sorry about that. Looking back, he even said eDSL in his post.

Yeah, embedded DSLs are awesome.


Of course. Not having a single common fabric for all the DSLs can be a nightmare.

For this reason, eDSLs built on top of a common, sufficiently powerful metalanguage are much better than any standalone DSL.

The said Maru seems to be sufficiently powerful.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: