Article: Domain Specific Languages in Erlang

| by Niclas Nilsson Follow 0 Followers on Jun 25, 2008. Estimated reading time: less than one minute |

A note to our readers: You asked so we have developed a set of features that allow you to reduce the noise: you can get email and web notifications for topics you are interested in. Learn more about our new features.

Erlang is mostly known for reliability and for its concurrency and scalability concepts. But did you know that Erlang is a language well suited for writing DSLs?

In this article, Dennis Byrne guides you through a case study of creating a internal Domain Specific Language in the Erlang language.

From the article:

People are talking about Erlang. This talk is disproportionately about concurrency rather than any of the other powerful properties of the platform, such as reliability. This article is about a property of Erlang which does not get the credit it deserves - Erlang is a fantastic workbench for Domain Specific Languages. The domain I have chosen is investment finance. You will see how easy it is to translate plain English at runtime and execute it in the Erlang Runtime System. You may also learn a thing or two about functional programming.

Sounds interesting? Read the full article on Domain Specific Languages in Erlang.

Rate this Article

Adoption Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Great article by Trung Nguyen

Thanks for writing a great article ...

However, there're some typos:
. "Rule >- Rules" should be "Rule <- Rules"
. "people with think twice" should be "people will think twice"

Memory leak when create function? by Shen Raymond

Is it safe to create function run time? Just as atom, if too many atoms, the VM can crash because out of memory. Can ErLang VM clean up funs which no longer required?

Thanks a lot.

Re: Memory leak when create function? by Max Bourinov

You can create up to 1M atoms in Erlang VM. Normally this is more that enough. If it is not enough it is a clear sign that you have bad program design. You cannot remove atoms at runtime.

You cannot remove function in runtime directly, but with hot code update feature you can do so. But again, if you need it during program run - you should again think about program design.

Putting it all together, I must say that Erlang is a perfect and very predictable platform for building huge scalable systems for huge load.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

3 Discuss

Login to InfoQ to interact with what matters most to you.

Recover your password...


Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.


More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.


Stay up-to-date

Set up your notifications and don't miss out on content that matters to you