Need DSL assistance

I'm sort of pondering a project in which I think a DSL would be a good
fit for user programmability to control transactional flow. I'm
thinking about how the DSL might look, and have come up with something
like this:

    get :approval, :from => [:manager, :system_owner]
    if :approval == :ok
      get :information, :request => :clearance, :from =>
[:person_with_role, "Security Role"]
      modify :person, :with => [:clearance, :clearance_date => :now]
      notify :success => [:requestee, :requestor]
    else
      notify :failure => [:requestee, :requestor]
      finish
    end

    # unrelated to the code above
    push :change, :of => :cn, :to => :accounts, :where => ":attribute
== :old_cn"

It would expand much deeper, but for now, that's what I have. Any
thoughts on how best to implement something like this, how I could
make it a little cleaner, and how I might deal with completing the
flow after a system failure would be much appreciated

I'm sort of pondering a project in which I think a DSL would be a good
fit for user programmability to control transactional flow. I'm
thinking about how the DSL might look, and have come up with something
like this:

Check slides about DSL from RubyConf and EuRuKo.

Also look at the ruby quiz #49 lisp game, where ppl jumped through some
hoops to get rid of colons and even commas.

+--- Kero ---------------------------------- kero@chello@nl ---+

The last good thing written in C++ was the Pachelbel Canon |
Jerry Olson |

+--- M38c ------------ http://members.chello.nl/k.vangelder ---+

thanks for the pointers :slight_smile:

···

On 11/7/05, Kero <kero@chello.single-dot.nl> wrote:

> I'm sort of pondering a project in which I think a DSL would be a good
> fit for user programmability to control transactional flow. I'm
> thinking about how the DSL might look, and have come up with something
> like this:

Check slides about DSL from RubyConf and EuRuKo.

Also look at the ruby quiz #49 lisp game, where ppl jumped through some
hoops to get rid of colons and even commas.

Sorry for the late reply here, but I'm still catching up on Ruby-Talk.
While I'm not actually advocating that you use this, because it's
probably more than you need.. anyone working on a DSL for business
processes should take a look at BPEL, at least to see what problems
they had to overcome.

Even cooler would be a Ruby DSL that wrapped BPEL, because then your
DSL could inter-operate with non-Ruby code. Still, that's probably
more work than you're looking to do.

--Wilson.

···

On 11/7/05, swille <sillewille@gmail.com> wrote:

On 11/7/05, Kero <kero@chello.single-dot.nl> wrote:
> > I'm sort of pondering a project in which I think a DSL would be a good
> > fit for user programmability to control transactional flow. I'm
> > thinking about how the DSL might look, and have come up with something
> > like this:
>
> Check slides about DSL from RubyConf and EuRuKo.
>
> Also look at the ruby quiz #49 lisp game, where ppl jumped through some
> hoops to get rid of colons and even commas.
>

thanks for the pointers :slight_smile: