emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] GSoC 2012 -- Elisp backend for Ragel


From: Aurélien Aptel
Subject: Re: [O] GSoC 2012 -- Elisp backend for Ragel
Date: Tue, 27 Mar 2012 22:34:58 +0200

On Sun, Mar 25, 2012 at 2:52 PM, Martyn Jago <address@hidden> wrote:
> For the design process I currently use the excellent plantuml library
> from within Org-mode (Aurélien, see lisp/ob-plantuml.el for the
> Org-babel interface), although have previously used a bespoke
> Ruby/Graphviz library of my design, and previous to that Ragel.

I didn't know about plantuml. Nice tool!

> For that reason I think it would be great to see an `Org-Babel'
> implementation of Ragel. I think it could be a very useful tool.

I'm discovering org-mode little by little. The whole org-babel thing
is really nice too. So what you want is an org-babel interface that
will convert a source block input for ragel to an image of the
automata/generated code once you export e.g. to html?

>  1) It complicates the build process

Yes, it adds complexity for the developers. Users won't notice.

>  2) It adds yet more SOUP (software of unknown provenance) to the build
>  process which may then need mitigating against (this is relevant to me,
>  although possibly not to Org-mode).

You mean it complicates the build process? I'm not sure I understand.

>  3) FSM implementation into code is inherently very simple anyway

Well I've never done it for big language but I did not find it that
easy. Mistakes are easily made e.g. you end up accepting more thing
that the language does in order to simplify the code, etc.

> What I do instead is validate the FSM code against the formal state
> representation as an integration test (which is fairly easy to arrange).

I'm not familiar with this. Does this mean you test random valid and
invalid input against the parser (aka fuzzing)?

> So my point is, I personally don't see the use of FSM code generators as
> a panacea to perfect super-fast code. To me their usefulness is in the
> visual representation of the state interaction (during development, and
> subsequent code documentation), and the resulting code quality.

I'm not very experienced (just a student :) but for me their
usefulness is in the robustness and the abstraction it brings. It also
happens to be faster. But I see what you're saying.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]