From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 919FF7F0BA for ; Mon, 29 Aug 2016 16:38:31 +0200 (CEST) IronPort-PHdr: 9a23:asUwjxTElDfcuDQ9AIlJSf45itpsv+yvbD5Q0YIujvd0So/mwa65YBeN2/xhgRfzUJnB7Loc0qyN4vmmBTBLv8vJ8ChbNscdD1ld0YRetjdjKfbNMVf8Iv/uYn5yN+V5f3ghwUuGN1NIEt31fVzYry76xzcTHhLiKVg9fbytScbshsi6n9q/54fUK10RwmHsOPUucF7o8E2R7pBQ2to6bP5pi1PgmThhQ6xu32RmJFaezV7Xx/yb29pdyRlWoO8r7MVaUK/3LOwSRL1cCyk6YShuvJW4/UqLcQzarHAVV2FTlhtTHyDE6gv7V9H/qGGy4uF03S3fOcztUZg1Xy6j5uFlUkmswG0APDc89CTcjdZ9pK1cpx2lqhNlxJPMe8eeM/80NvfadtofQS9KWdxcfyNGBYy4YoQVCPcZJqBTqIyr9HUUqh7rJwS2Cebux3dkh3r326pyh+YtEATH2gsIHdsIvW/Ittj4KOEZVuXjn/qA9inKc/4DgWS104PPaB10+fw= Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=jdimino@janestreet.com; spf=Pass smtp.mailfrom=jdimino@janestreet.com; spf=None smtp.helo=postmaster@mxout3.mail.janestreet.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of jdimino@janestreet.com) identity=pra; client-ip=38.105.200.229; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="jdimino@janestreet.com"; x-sender="jdimino@janestreet.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of jdimino@janestreet.com designates 38.105.200.229 as permitted sender) identity=mailfrom; client-ip=38.105.200.229; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="jdimino@janestreet.com"; x-sender="jdimino@janestreet.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mxout3.mail.janestreet.com) identity=helo; client-ip=38.105.200.229; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="jdimino@janestreet.com"; x-sender="postmaster@mxout3.mail.janestreet.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0BQAQAgSMRXfeXIaSZcHAEBBAEBFwEBBAEBgwoBAQEBAXV8B4J6ii2qeYIBJIV5gUMHOBQBAQEBAQEBAQEBARIBAQkWCUiCMhiCKgYRHQEBOBgGBzcCJBIBBQEiARoSCIgeAwuQQo9FgTI+MopVZ4RHAQEFim4BAQEHAQEBAQEBGQMFEIYeiTqCVYJamVSGIIkLj1WOfBMegRAegl2Bdm+GTAEBAQ X-IPAS-Result: A0BQAQAgSMRXfeXIaSZcHAEBBAEBFwEBBAEBgwoBAQEBAXV8B4J6ii2qeYIBJIV5gUMHOBQBAQEBAQEBAQEBARIBAQkWCUiCMhiCKgYRHQEBOBgGBzcCJBIBBQEiARoSCIgeAwuQQo9FgTI+MopVZ4RHAQEFim4BAQEHAQEBAQEBGQMFEIYeiTqCVYJamVSGIIkLj1WOfBMegRAegl2Bdm+GTAEBAQ X-IronPort-AV: E=Sophos;i="5.28,596,1464645600"; d="scan'208,217";a="191392031" Received: from mxout3.mail.janestreet.com ([38.105.200.229]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Aug 2016 16:38:30 +0200 Received: from tot-qpr-mailcore1.delacy.com ([172.27.56.68] helo=tot-qpr-mailcore1) by mxout3.mail.janestreet.com with esmtps (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.82) (envelope-from ) id 1beNhk-0002ju-Qs for caml-list@inria.fr; Mon, 29 Aug 2016 10:38:28 -0400 X-JS-Flow: external X-JS-Scanner-attachment: (ok) No attachments Received: by tot-qpr-mailcore1 with JS-mailcore (0.1) (envelope-from ) id BXxEjk-AAACAu-Y3; 2016-08-29 10:38:28.797190-04:00 Received: from mail-qk0-f198.google.com ([209.85.220.198]) by mxgoog1.mail.janestreet.com with esmtps (UNKNOWN:AES128-GCM-SHA256:128) (Exim 4.72) (envelope-from ) id 1beNhk-0002R5-OH for caml-list@inria.fr; Mon, 29 Aug 2016 10:38:28 -0400 Received: by mail-qk0-f198.google.com with SMTP id o1so319576879qkd.3 for ; Mon, 29 Aug 2016 07:38:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=google; h=mime-version:from:date:message-id:subject:to; bh=mSh15eGd+p/+R5xGAOcHMSrQGAxIZHoBM2fEtR6vUNE=; b=nqYimbrSHz5e0CxthlXmuBcgFYStqErksm/fbGV8LBbkiLj2HNzBqmHfkRGOG2jj5G a2EOOjl8jrFUGduP/c0M+pjMxnl8h79W9YGMqrJbc9nnneoIW4BoaFsTcwx+GNLk6HVU D2mZ6Vl8QopWCQlJfQqwCdVZpLETngeA+KqCw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=mSh15eGd+p/+R5xGAOcHMSrQGAxIZHoBM2fEtR6vUNE=; b=XARwminH+T3G8MYpuUlm9ZlMWkmTcHqkkqEEH6aamS4OsxD0YUvWRsfK7PWyimKeDH qGAbANx2nuq6z0DfXwAMVXkH57GIDLTCjaPzIw9/ro+Q0y++rYTGsOGuNCiM4+8lvKMp NYpjvL9OWEjvYR0WogTCrpJjETap7nxw+EI3NIeE/vWzUhPkuDOD0GgcG3hlPEVJ8FJQ YZ5CFD2hGQJnM9xr5fT9aWKPXE4PVvKfVpe3LiSD8Mn1vTmLxi1pgvTFzDGv00JyCiwc iC7r/MNHLJltLpsr6WiOsPGv7CmZshnvqBeNmlqpHmjjW925+95EwduRvekVnm6T2Gir //Tw== X-Gm-Message-State: AE9vXwNaqj53+pN6/AM434pitVZrvcS7z+JGCUaV8f+Fb/7m61TQtIqh5WP98Ih6FjglJ0RC898tpay8ixah60oV1XnWpjAQv1TT384PpxO6oiLdg4qE7QcQA+dwHpS+RpOnMRGm3kUzDNe3z0w/ X-Received: by 10.237.49.5 with SMTP id 5mr19037006qtg.136.1472481508374; Mon, 29 Aug 2016 07:38:28 -0700 (PDT) X-Received: by 10.237.49.5 with SMTP id 5mr19036989qtg.136.1472481508222; Mon, 29 Aug 2016 07:38:28 -0700 (PDT) MIME-Version: 1.0 Received: by 10.237.46.37 with HTTP; Mon, 29 Aug 2016 07:38:27 -0700 (PDT) From:Jeremie Dimino Date: Mon, 29 Aug 2016 15:38:27 +0100 Message-ID: To:"caml-list@inria.fr" , "ocaml-core@googlegroups.com" Content-Type: multipart/alternative; boundary=94eb2c0c9bb23c85a8053b36d1ef X-JS-Processed-by: mailcore Subject: [Caml-list] Emacs + OCaml = Ecaml --94eb2c0c9bb23c85a8053b36d1ef Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable =E2=80=8BGood news everyone! =E2=80=8BYou no longer need to rewrite Emacs f= rom scratch to =E2=80=8Bbe able to hack it in OCaml. You can now use Ecaml, a library for writing Emacs plugin in OCaml: https://github.com/janestreet/ecaml It is using the new Emacs 25 support for loading dynamic modules =E2=80=8B.=E2=80=8B =E2=80=8B We successfully used it to run =E2=80=8BAsync code as well as exp= ectation tests inside Emacs. =E2=80=8BY=E2=80=8B ou can install =E2=80=8BEcaml=E2=80=8B using our development opam repository: opam =E2=80=8Brepo add janestreet https://github.com/janestreet/opam-repository.= git opam =E2=80=8Binstall ecaml =E2=80=8BEnjoy!=E2=80=8B -- =E2=80=8B =E2=80=8B Jeremie =E2=80=8B Dimino, for the Core team=E2=80=8B --94eb2c0c9bb23c85a8053b36d1ef Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
=E2=80=8BGood news everyone! =E2=80=8BYou no longer nee= d to rewrite Emacs from scratch to =E2=80=8Bbe able to hack it in OCaml.

You can now use=C2=A0Ecaml, a library for writing Emacs plugin in OCaml:
<= br>=C2=A0 =C2=A0 https://gi= thub.com/janestreet/ecaml

It is using the new Emacs 25 support f= or loading dynamic modules
=E2=80=8B.=E2=80=8B
=E2=80=8B We successfully used it to run =E2=80=8BAsync code as= well as expectation tests inside Emacs.

=E2=80=8BY=E2=80=8B
ou can install
=E2=80= =8BEcaml=E2=80=8B
=C2=A0using our development opam repository:

= =C2=A0 =C2=A0 opam=C2=A0
=C2=A0 =C2= =A0 opam =E2=80=8Binstall ecaml

=E2=80= =8BEnjoy!=E2=80=8B

--
=E2= =80=8B =E2=80=8B

Jeremie
=E2=80=8B Dimino, for th= e Core team=E2=80=8B
--94eb2c0c9bb23c85a8053b36d1ef--