6 embedded DSLs wrapped into one language

I have taken 6 different DSL’s and wrapped them into one language with a fairly ordinary looking, strongly-typed-but-inferred ALGOL derivative syntax (Beads).

The 6 DSL’s cover

  1. layout
  2. finite state machine
  3. regular expression
  4. data literals
  5. asset imports
  6. graph database manipulation primitives.

I have posted a free compiler (for Mac, Windows, and Linux via Wine) and reference manual on www.beadslang.org if anyone is interested.

The advantage of integrating multiple DSL’s into one wrapper with your typical 2-way/N-way/Looping constructs, is that you have a consistent standard for commenting, modules, and the other structural things which are invariably arbitrary. One of the many drawbacks of the current HTML / JS / CSS stack, is that even small things like the comment syntax are not uniform across these languages, and it makes it harder to read.

This is an example of how you build a webapp; you copy a small amount of code to create a sidebar which allows device emulation at “best fit” zoom level, and then you have your preview window of what it looks like on the device, and then on the right the standard Google Chrome developer panel with console, etc.

It’s not a fancy IDE, but it is workable, and am building a Pizza ordering app.

I am doing trainings via Skype if anyone is curious about exploring this language.

2 Likes