From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Aur=C3=A9lien_Aptel?= Subject: Re: GSoC 2012 -- Elisp backend for Ragel Date: Tue, 27 Mar 2012 22:34:58 +0200 Message-ID: References: <87vclsykl6.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([208.118.235.92]:47191) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SCd6c-0000pz-7U for emacs-orgmode@gnu.org; Tue, 27 Mar 2012 16:35:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SCd6a-0003iS-6r for emacs-orgmode@gnu.org; Tue, 27 Mar 2012 16:35:01 -0400 Received: from mail-ob0-f169.google.com ([209.85.214.169]:55469) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SCd6Z-0003i9-VW for emacs-orgmode@gnu.org; Tue, 27 Mar 2012 16:35:00 -0400 Received: by obbta14 with SMTP id ta14so380493obb.0 for ; Tue, 27 Mar 2012 13:34:58 -0700 (PDT) In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Martyn Jago Cc: emacs-orgmode@gnu.org On Sun, Mar 25, 2012 at 2:52 PM, Martyn Jago w= rote: > For the design process I currently use the excellent plantuml library > from within Org-mode (Aur=C3=A9lien, 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? > =C2=A01) It complicates the build process Yes, it adds complexity for the developers. Users won't notice. > =C2=A02) It adds yet more SOUP (software of unknown provenance) to the bu= ild > =C2=A0process which may then need mitigating against (this is relevant to= me, > =C2=A0although possibly not to Org-mode). You mean it complicates the build process? I'm not sure I understand. > =C2=A03) 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.