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 mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 2A1BA7F60D for ; Sun, 26 Mar 2017 17:37:18 +0200 (CEST) Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=ngzhian@gmail.com; spf=Pass smtp.mailfrom=ngzhian@gmail.com; spf=None smtp.helo=postmaster@mail-pg0-f46.google.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of ngzhian@gmail.com) identity=pra; client-ip=74.125.83.46; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="ngzhian@gmail.com"; x-sender="ngzhian@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of ngzhian@gmail.com designates 74.125.83.46 as permitted sender) identity=mailfrom; client-ip=74.125.83.46; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="ngzhian@gmail.com"; x-sender="ngzhian@gmail.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@mail-pg0-f46.google.com) identity=helo; client-ip=74.125.83.46; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="ngzhian@gmail.com"; x-sender="postmaster@mail-pg0-f46.google.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3AiQDf1xGh2sbwF2FB/2+UaZ1GYnF86YWxBRYc798d?= =?us-ascii?q?s5kLTJ7zosuwAkXT6L1XgUPTWs2DsrQf2raQ6/iocFdDyK7JiGoFfp1IWk1Nou?= =?us-ascii?q?QttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZr?= =?us-ascii?q?KeTpAI7SiNm82/yv95HJbQhFgDWwbaluIBmqsA7cqtQYjYx+J6gr1xDHuGFIe+?= =?us-ascii?q?NYxWNpIVKcgRPx7dqu8ZBg7ipdpesv+9ZPXqvmcas4S6dYDCk9PGAu+MLrrxjD?= =?us-ascii?q?QhCR6XYaT24bjwBHAwnB7BH9Q5fxri73vfdz1SWGIcH7S60/VC+85Kl3VhDnlC?= =?us-ascii?q?YHNyY48G7JjMxwkLlbqw+lqxBm3oLYfJ2ZOP94c6zaYN0aWHFBXt5PWCNdHoOy?= =?us-ascii?q?YYwPD+8bMuZZqYn2ul8CoBS6CAWpAu7k1z1GiWLs3aAi0eshHwHI0gIjEdwTrn?= =?us-ascii?q?rbsM74O70OXe2v1qTE0SnPYvFQ1Dzg6IbIaBchofSUUL1zccrRyFQkGh/Djl6N?= =?us-ascii?q?sYLlMC6e2+MLs2iU7utgVeOvhHQhqwxqrTivw90jiojNho4P1l/E8iB5zZ8zKN?= =?us-ascii?q?alRkB7ZtukH4FRtyGcL4Z2Q8UiQ3tpuCkg0LEGt4S7cDAFyJQm2x7fa+GHfJOS?= =?us-ascii?q?7hLiU+adOTh4hHN5eLK/mha96lKsxfH7VsmxyFpLrjBKktnLtnAKzRDc9s+HSv?= =?us-ascii?q?5780y82jiPzxje5+NLLEwuiKbXNZ4szqQzm5cdq0jOES77lUPrh6GMbEok4PKn?= =?us-ascii?q?6+H/b7XmuJCcM4h0hxn7Mqs0m8y/Bf00MhABX2SH4Oi82rLu8EzjTLVFif02la?= =?us-ascii?q?bZsJTEKsgBuqG5BApV3p4i6xa5ETimzMwVkHsIIV5fZR6LkYjkN0vNLf32F/uy?= =?us-ascii?q?jFWhnC9ux//cP73hBpvNLmLEkLfkZbt97UFcyQszzdBe/Z1UDKoMIP32WkDrtd?= =?us-ascii?q?zYCgU1PBCzw+biENl9zJ8RWXqTAq+FN6PfqUOH6fgqI+mIfYMVvDf9K+M55/P1?= =?us-ascii?q?ln84mVodfbGz0pcNaXC4GO5mI0SDbnb2jNcBCzRCgg1rb+HsiVaCUHZ6fH+zF/?= =?us-ascii?q?Y1/Tg6IIO9S4DIRonribfH3j/tTbNMYWUTOFCNWV7uP6OLE6MKZzCSI8ZnujMB?= =?us-ascii?q?XLmlDYQm0Ef950fB17N7I7+MqWUjvpX52Y0wurTe?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0B7KgC639dYfy5TfUpcDg4BAQQBAQoBA?= =?us-ascii?q?RcBAQQBAQoBAYNLAT6BCweDW5tcgjqGS4cWhTCCDiqFeAKDIgdBFgEBAQEBAQE?= =?us-ascii?q?BAQEBEgEBCQsLCCYxgjMigkEBAgIBIx0BGxILAQMBCwYFBAcaHQICIgERAQUBC?= =?us-ascii?q?hIGEwgKiVwBAw0IDp5ZP4wDggQFARyDCQWDTwoZJwMKVYIuAQEBAQYBAQEBAQE?= =?us-ascii?q?BGQIGEosrhQGCWYJfBYdCDIkRi3yGC3CLUYJQjmGSHRQfgRUPFgGBNVkVQReEC?= =?us-ascii?q?CqBUkozNYl4AQEB?= X-IPAS-Result: =?us-ascii?q?A0B7KgC639dYfy5TfUpcDg4BAQQBAQoBARcBAQQBAQoBAYN?= =?us-ascii?q?LAT6BCweDW5tcgjqGS4cWhTCCDiqFeAKDIgdBFgEBAQEBAQEBAQEBEgEBCQsLC?= =?us-ascii?q?CYxgjMigkEBAgIBIx0BGxILAQMBCwYFBAcaHQICIgERAQUBChIGEwgKiVwBAw0?= =?us-ascii?q?IDp5ZP4wDggQFARyDCQWDTwoZJwMKVYIuAQEBAQYBAQEBAQEBGQIGEosrhQGCW?= =?us-ascii?q?YJfBYdCDIkRi3yGC3CLUYJQjmGSHRQfgRUPFgGBNVkVQReECCqBUkozNYl4AQE?= =?us-ascii?q?B?= X-IronPort-AV: E=Sophos;i="5.36,227,1486422000"; d="scan'208,217";a="218086476" Received: from mail-pg0-f46.google.com ([74.125.83.46]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 26 Mar 2017 17:36:53 +0200 Received: by mail-pg0-f46.google.com with SMTP id g2so17328958pge.3 for ; Sun, 26 Mar 2017 08:36:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=Qper6DsZVCL+bJDIz44gHHXB2d6FscFh7thFW7YGWe4=; b=pxE2dqDWyI9vUdZy7pVO7wlX9LOv3bQV2U8caACE4jZQN1+79Z9csoTpHRs2LillfV O+b+4OdkXvzFZr5UWtKXDSZ2NTS6ELQjHJ3kKep9utH++GzRHRDq+SWmv6eFQWxLF/gD HnzH5UZG5wk/sZb3BDRAIqLrsTX37yB2KM+vBfR/Cs8A+0QsC0tLc+WGgWIxOhzZbBTv hSqUqd3mITnu9OVlCYG1zAQrcoCoihwzcX5UTpOBCt1GAhR4xV3Xtr8br31IApisdo2M +sXfxLiyTETNiLQjORTN3KT/RSDRaj3xjSZPUpsMr+8hJ9wngANsHd0lYyeodQqJFEoR RCng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=Qper6DsZVCL+bJDIz44gHHXB2d6FscFh7thFW7YGWe4=; b=Sqmnc+6ftfhQhsYzKaAlAJRb62YQDEdtFJkpU7RT3BFXdl+ykzFd2li8aCpqq8/aDX BHwrGRCijfxUCBdFpNPw8EzB4MvlKyktihpY8VwrsXTd6TKbpqWOSULb7qai3gX0OcBq YWHBU6+tWb+PjpJlsZ6210EzBjY3xI71TwQavE3RM4X/fFa7Fxt+xHOIVC8btuy0uxiE YB6Sc0a+uH3oL1reoJDgw1UG0vwL8qOrIzg/xV0BNIvSbe2rzHJFH0Lmrkoh8OdiEWNR bAERu/ZLHjL+fZaskqWzqOpGvuiIv2b9Ta4FTkCai1JZScb2ehBiGFR4aQkv05wseeHD kQYg== X-Gm-Message-State: AFeK/H0un7EJj382xqrjiIDvz1bqXD5Kh8IG/ewVm11buX3EpJvCnT3AGlOeG47rFyMV+0ifbF6ZkslxCimlyw== X-Received: by 10.84.213.16 with SMTP id f16mr24001981pli.156.1490542611677; Sun, 26 Mar 2017 08:36:51 -0700 (PDT) MIME-Version: 1.0 Received: by 10.100.169.77 with HTTP; Sun, 26 Mar 2017 08:36:31 -0700 (PDT) In-Reply-To: <20170326094804.GA51737@pllab.is.ocha.ac.jp> References: <20170326094804.GA51737@pllab.is.ocha.ac.jp> From: Zhi An Ng Date: Sun, 26 Mar 2017 23:36:31 +0800 Message-ID: To: Kenichi Asai Cc: caml-list@inria.fr Content-Type: multipart/alternative; boundary=f403045d22fee448c4054ba3feb1 X-Validation-by: ngzhian@gmail.com Subject: Re: [Caml-list] React.js programming in OCaml? --f403045d22fee448c4054ba3feb1 Content-Type: text/plain; charset=UTF-8 On Sun, Mar 26, 2017 at 5:48 PM, Kenichi Asai wrote: > What is the best way to do react.js programming as introduced in > > https://facebook.github.io/react/ > > in OCaml? I found the tutorial on the above page written very well, > and I want to do the same thing in OCaml at the similar abstraction > level as in JS. Any information is welcome. Thanks in advance. > The closest thing I know is reason-react, reason is facebook's sugar syntax for ocaml for the web. Bucklescript, is another javascript backend for ocaml, and has interop with javascript libraries. I think the main difference is that [0] allows you to write JSX. [0] https://github.com/reasonml/reason-react [1] https://github.com/bloomberg/bucklescript/ > > -- > Kenichi Asai > > -- > 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 > --f403045d22fee448c4054ba3feb1 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On Sun, Ma= r 26, 2017 at 5:48 PM, Kenichi Asai <asai@is.ocha.ac.jp> wrote:
What is= the best way to do react.js programming as introduced in

https://facebook.github.io/react/

in OCaml?=C2=A0 I found the tutorial on the above page written very well, and I want to do the same thing in OCaml at the similar abstraction
level as in JS.=C2=A0 Any information is welcome.=C2=A0 Thanks in advance.<= br>

The closest thing I know is reason-react,= reason is facebook's sugar syntax for ocaml for the web.
Bucklescri= pt, is another javascript backend for ocaml, and has interop with javascrip= t libraries.

I think the main difference is that [= 0] allows you to write JSX.

=C2=A0
=

--
Kenichi Asai

--
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/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

--f403045d22fee448c4054ba3feb1--