looking for tips on how to implement "ruby-style" Domain Specific Language in Python

J Kenneth King james at agentultra.com
Thu Jan 8 10:25:56 EST 2009


Jonathan Gardner <jgardner at jonathangardner.net> writes:

> On Jan 7, 9:16 am, "Chris Mellon" <arka... at gmail.com> wrote:
>>
>> The OP wants a Ruby-style DSL by which he means "something that lets
>> me write words instead of expressions". The ruby syntax is amenable to
>> this, python (and lisp, for that matter) syntax is not and you can't
>> implement that style of internal DSL in those languages.
>>
>> The answer to the OP is "you can't - use Ruby or modify your requirements".
>>
>
> As far as putting the code into Python, yeah, you can't put it in
> Python. The best you can do is store it in a string and then interpret
> the string with some function later on.

That's what I'm saying.

It seems we're defining "DSL" in two different ways.

You can't write a DSL in Python because you can't change the syntax and
you don't have macros.

You can write a compiler in Python that will compile your "DSL."

As another poster mentioned, eventually PyPy will be done and then
you'll get more of an "in-Python" DSL.



More information about the Python-list mailing list