From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 7EE697F62A for ; Wed, 11 May 2016 17:39:19 +0200 (CEST) IronPort-PHdr: 9a23:iRlCwxyWh+ZIy/vXCy+O+j09IxM/srCxBDY+r6Qd0OoUIJqq85mqBkHD//Il1AaPBtWKrasawLqM+4nbGkU+or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6anHS+4HYoFwnlMkItf6KuSt+U1pr8h7r60qaQSjsLrQL1Wal1IhSyoFeZnegtqqwmFJwMzADUqGBDYeVcyDAgD1uSmxHh+pX4p8Y7oGx48sgs/M9YUKj8Y79wDfkBVGxnYFYO+dbzuBLfYQyK73oaGiVKw1sbSzTCuT3zQJb9+g7XkNZH9WHOMcj7S6wuVBym7qF2WFrmki4BPDN/93vY3J9elqVe9Sm5pgZ42Mb5ZICSLP1jeqTGNYcBSG5AWd5WSgROB4q9a80ECO9XbrUQlJX0u1Zb9Uj2PgKrHu66j2IRiw== Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=seliopou@gmail.com; spf=Pass smtp.mailfrom=seliopou@gmail.com; spf=None smtp.helo=postmaster@mail-lf0-f68.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of seliopou@gmail.com) identity=pra; client-ip=209.85.215.68; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="seliopou@gmail.com"; x-sender="seliopou@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of seliopou@gmail.com designates 209.85.215.68 as permitted sender) identity=mailfrom; client-ip=209.85.215.68; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="seliopou@gmail.com"; x-sender="seliopou@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-lf0-f68.google.com) identity=helo; client-ip=209.85.215.68; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="seliopou@gmail.com"; x-sender="postmaster@mail-lf0-f68.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0CWAQBaUTNXdkTXVdFdFoNAN30GgnalRSqFOYYUhHcBDYF2IoVyAoExBzgUAQEBAQEBAQERAQoLCwchMYItghYBAQMBDAYRHQEbEgUGAQMBCwYDAgQHGh0CAiIBEQEFAQoSBhMIChCHcgEDDwgOiwiPQoExPjGLO4FqgliHLQoZJwMKUoNXAQEBAQEBBAEBAQEBARQBBQoFhhGETIRsglOCWQEEhjsMkWCFfogggWlOhyuFN44DEh6BDg8PAQGCOoIPIDIBiQkBAQE X-IPAS-Result: A0CWAQBaUTNXdkTXVdFdFoNAN30GgnalRSqFOYYUhHcBDYF2IoVyAoExBzgUAQEBAQEBAQERAQoLCwchMYItghYBAQMBDAYRHQEbEgUGAQMBCwYDAgQHGh0CAiIBEQEFAQoSBhMIChCHcgEDDwgOiwiPQoExPjGLO4FqgliHLQoZJwMKUoNXAQEBAQEBBAEBAQEBARQBBQoFhhGETIRsglOCWQEEhjsMkWCFfogggWlOhyuFN44DEh6BDg8PAQGCOoIPIDIBiQkBAQE X-IronPort-AV: E=Sophos;i="5.24,608,1454972400"; d="scan'208,217";a="217830748" Received: from mail-lf0-f68.google.com ([209.85.215.68]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 11 May 2016 17:39:18 +0200 Received: by mail-lf0-f68.google.com with SMTP id u64so5630095lff.2 for ; Wed, 11 May 2016 08:39:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=nz1Uastv505/z5ExSyrgFgCYmdQ9zfhniou8dickfaA=; b=aTFP/w7SE2fryTVIh6eC5u+K8qWDKkBbzV5zGzKKJaiekstWlwf1PPJc4fguyB0Hmo aj3vWhtTG/LxDiccIYwlyvVnajc2tybkKnmDTbMNKl4G6X3xTitsBs3QVHArzm1T2XOk zGyrvKnePkIXgS3EkNcjoHNV/eJTdslhEdXK2YOjEvwYK1UIAWXiG8KGkSwPrxQXr6qo cc5ZB52ih/vG2RQQv7R3WlCPL7YYE7gKBZgqPfaMleRMA981agZEACiaeMk+tsLLd8Ob /BOin0OJbXW+yO2OTEUe3jvOrk7dAHXXLiIUitTkPNBZ1kM4CNEE7E77xfb6+EAXdUtH 3NNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=nz1Uastv505/z5ExSyrgFgCYmdQ9zfhniou8dickfaA=; b=hdAvLG6ty++zq3z4lUBCNefeSQOrSH3VTtWYfcp34gjJjZdCNrHSVYH015IRELl3ke nAjUCuInwEUaj/71mcRwmM0JGLb/+fqvYifaw6kwMAXzLUkRsRMeZOsSYfmXR7GESNfs cMMluEYnbsMGzLqZZBA+umZmCPds9uloW4EGPgP/2QXAoK0ScYV+iTze/OzxNapB//FU DhhL9cYSO4jKzGU/sp2Iqut9Uo7EOSAzUGZ8l8rovOtkOi3tGKaf7YBwLev9+LMRJ/8f JSP/a6jhpO/jX59whUce7bVKd95oWiUP+ctNjp0pKSiLrD8EqfbMqGUI5aBw4H9uBQTP 0Beg== X-Gm-Message-State: AOPr4FWZayZKd2qHDajMGZ4mxXQTOae2+NSL5b0iHcQ1F6H5kfXOOUxz/kbqCZ6kC2jxOvyH2QctNxwMuT7Uqw== X-Received: by 10.112.62.193 with SMTP id a1mr1714431lbs.22.1462981157881; Wed, 11 May 2016 08:39:17 -0700 (PDT) MIME-Version: 1.0 Received: by 10.25.161.84 with HTTP; Wed, 11 May 2016 08:38:58 -0700 (PDT) In-Reply-To: <5732D32F.9010604@linux-france.org> References: <573205D0.3010508@linux-france.org> <8839045c-d17c-13bc-13e9-08d38e3449e6@etorok.net> <5732D32F.9010604@linux-france.org> From: Spiros Eliopoulos Date: Wed, 11 May 2016 11:38:58 -0400 Message-ID: To: David MENTRE Cc: OCaml Content-Type: multipart/alternative; boundary=001a11c3c7da3a8e11053292d821 Subject: Re: [Caml-list] Simple library to manipulate automata? --001a11c3c7da3a8e11053292d821 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Two libraries come to mind. I and others on the Frenetic[0] team have used both at various points in time to implemented automata-related algorithms. The first is a project called DPRLE. You can find its home page and my GitHub clone of the SVN repository below: http://www.cs.virginia.edu/~ph4u/dprle/ https://github.com/seliopou/dprle The second is a library that I wrote called TDK. It implements a generalization of BDDs, allowing for variables to have a lattice structure and terminal nodes to have something like a semi-ring structure. You can find the GitHub repository here: https://github.com/frenetic-lang/ocaml-tdk Last I checked, TDK is on OPAM, while DPRLE is not. Hope this helps! -Spiros E. [0]: http://frenetic-lang.org On Wed, May 11, 2016 at 2:37 AM, David MENTRE wrote: > Hello, > > Le 10/05/2016 23:20, T=C3=B6r=C3=B6k Edwin a =C3=A9crit : > >> There is safa/symkat on opam [1]. >> > > Yes, I also saw this library. But frankly, it seems overly complicated for > our needs. I took a look at the API but don't understand it, and I don't > have time to read the paper and related literature. > > Sincerely yours, > david > > > > -- > Caml-list mailing list. Subscription management and archives: > https://sympa.inria.fr/sympa/arc/caml-list > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs > --001a11c3c7da3a8e11053292d821 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Two libraries come to mind. I and others on the Frenetic[0= ] team have used both at various points in time to implemented automata-rel= ated algorithms. The first is a project called DPRLE. You can find its home= page and my GitHub clone of the SVN repository below:

<= br>
The second is a library that I wrote called TDK. It implement= s a generalization of BDDs, allowing for variables to have a lattice struct= ure and terminal nodes to have something like a semi-ring structure. You ca= n find the GitHub repository here:


Last I checked, TDK is on = OPAM, while DPRLE is not. Hope this helps!

-Spiros= E.


On Wed, May 11, 2016 at 2:37 AM, David MENTRE <= dmentre@linux-france.org> wrote:
Hello,

Le 10/05/2016 23:20, T=C3=B6r=C3=B6k Edwin a =C3=A9crit :
There is safa/symkat on opam [1].

Yes, I also saw this library. But frankly, it seems overly complicated for = our needs. I took a look at the API but don't understand it, and I don&= #39;t have time to read the paper and related literature.

Sincerely yours,
david



--
Caml-list mailing list.=C2=A0 Subscription management and archives:
https://sympa.inria.fr/sympa/arc/caml-list
Beginner's list: http://groups.yahoo.com/group/ocam= l_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

--001a11c3c7da3a8e11053292d821--