BT
x Your opinion matters! Please fill in the InfoQ Survey about your reading habits!

Article: Domain Specific Languages in Erlang

by Niclas Nilsson on Jun 25, 2008 |

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.

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

Hi,
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

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT