From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 6B38A7F798 for ; Wed, 18 Feb 2015 03:06:11 +0100 (CET) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of lukstafi@gmail.com) identity=pra; client-ip=209.85.213.54; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="lukstafi@gmail.com"; x-sender="lukstafi@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of lukstafi@gmail.com designates 209.85.213.54 as permitted sender) identity=mailfrom; client-ip=209.85.213.54; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="lukstafi@gmail.com"; x-sender="lukstafi@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-yh0-f54.google.com) identity=helo; client-ip=209.85.213.54; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="lukstafi@gmail.com"; x-sender="postmaster@mail-yh0-f54.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0D4AQDt8uNUnDbVVdFbg1haBIJ/rHsGklGFJYFiB0MBAQEBAQEQAQEBAQEGDQkJFC6EJREdARseAxIQDwImAiQBEQEFASI1h3gBAxENqUODKz4xiy6Ba4J3jQEKGScNVIUGAQEEDoETgSmDOoxogUIFkw+FYJFDEiOBDAmEET0xAYJCAQEB X-IPAS-Result: A0D4AQDt8uNUnDbVVdFbg1haBIJ/rHsGklGFJYFiB0MBAQEBAQEQAQEBAQEGDQkJFC6EJREdARseAxIQDwImAiQBEQEFASI1h3gBAxENqUODKz4xiy6Ba4J3jQEKGScNVIUGAQEEDoETgSmDOoxogUIFkw+FYJFDEiOBDAmEET0xAYJCAQEB X-IronPort-AV: E=Sophos;i="5.09,595,1418079600"; d="scan'208";a="122207630" Received: from mail-yh0-f54.google.com ([209.85.213.54]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 18 Feb 2015 03:06:10 +0100 Received: by yhot59 with SMTP id t59so1095997yho.7 for ; Tue, 17 Feb 2015 18:06:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=yBz5aNQe/3cAwnllr+KrYvQwJRDb5LeabY97RO9zBWM=; b=FbdbtugBdfp1Q7hpfkXjTB+puGowOWVzlECMkm72jeXzkQMkGNDZG4xuaxkgMJxSQ+ KlvPZLnvWQG0ck4ias52eiJjQnaFj2RLy6Si5CKKW+p46yllYboftUekuNZ0TiSByMgO LkPXJf9KE8kWKjx8/rPFXD1oqq917Ak/0hxHCqwzXgJBuS1SsgJAwKZBTPYFPJufBR7O hHR4J5wl6TtndLeRhrg2od0rRODHYAlg7exkiQ5fMSSAheoXpwYwE3Za82P2N1LU+nw5 95gQZNHflKd9MPUa3wa1W10AJxJzdAWp8Lntpk8nGkP88V6mt6ennkbR+x/lu05gyjxU 3iFA== X-Received: by 10.236.45.69 with SMTP id o45mr1055686yhb.17.1424225169655; Tue, 17 Feb 2015 18:06:09 -0800 (PST) MIME-Version: 1.0 Received: by 10.170.190.10 with HTTP; Tue, 17 Feb 2015 18:05:49 -0800 (PST) From: Lukasz Stafiniak Date: Wed, 18 Feb 2015 03:05:49 +0100 Message-ID: To: Caml Content-Type: text/plain; charset=UTF-8 Subject: [Caml-list] [ANN] InvarGenT v2.0: Great coverage I am pleased to release version 1.2 of InvarGenT, a system that infers invariants and postconditions, and exports the corresponding GADTs-based OCaml code. https://github.com/lukstafi/invargent/releases The flagship AVL trees example now does not need assertions: https://github.com/lukstafi/invargent/blob/master/examples/avl_tree.gadt https://github.com/lukstafi/invargent/blob/master/examples/avl_tree.gadti.target Changes: * Syntax sugar for if / eif - then - else and function definitions. * Constant coefficients syntax for expressions. * Built-in syntax for run-time failures. * Many command-line options to control inference. * Multiple bug fixes and algorithms improvements. * Many new tests in the examples directory.