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 c5ff346549e7 (Postfix) with ESMTPS id A2C435D5 for ; Sun, 26 May 2019 06:27:39 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.60,513,1549926000"; d="ml'63?html'63,217?scan'63,217,208,217,50,63,49?gz'63,217,208,217,50,63,49,50?_fac'63,217,208,217,50,63,49,50,63";a="384748825" Received: from sympa.inria.fr ([193.51.193.213]) by mail2-relais-roc.national.inria.fr with ESMTP; 26 May 2019 08:27:23 +0200 Received: by sympa.inria.fr (Postfix, from userid 20132) id 9491C826E1; Sun, 26 May 2019 08:27:23 +0200 (CEST) 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 BFCF97ED69 for ; Sun, 26 May 2019 08:27:17 +0200 (CEST) Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=asai@is.ocha.ac.jp; spf=Pass smtp.mailfrom=asai@is.ocha.ac.jp; spf=None smtp.helo=postmaster@web.is.ocha.ac.jp IronPort-PHdr: =?us-ascii?q?9a23=3AnHFTpxSNnmP7rGiqGNRs3XwRTtpsv+yvbD5Q0YIu?= =?us-ascii?q?jvd0So/mwa69YRWN2/xhgRfzUJnB7Loc0qyK6vmmADVRqs/Z6zgrS99lb1c9k8?= =?us-ascii?q?IYnggtUoauKHbQC7rUVRE8B9lIT1R//nu2YgB/Ecf6YEDO8DXptWZBUhrwOhBo?= =?us-ascii?q?KevrB4Xck9q41/yo+53Ufg5EmCexbal9IRmrsAndrNQajZZmJ6o+1xfFvnVFcP?= =?us-ascii?q?lKyG11Il6egwzy7dqq8p559CRQtfMh98peXqj/Yq81U79WAik4Pm4s/MHkugXN?= =?us-ascii?q?QgWJ5nsHT2UZiQFIDBTf7BH7RZj+rC33vfdg1SaAPM32Sbc0WSm+76puVRTlhj?= =?us-ascii?q?sLOyI//WrKjMF7kaBVrw+7pxFnzYDaYJ+bOud9cKzSYdwVWGROU91UVyBdGI6x?= =?us-ascii?q?dZcDAvAfMetesoLzp0EOrRy7BQS0Ae3g1DlIhn7q0q060uQqDB3L3Bc6ENIPrX?= =?us-ascii?q?/Zq8/6NLwIXuC016TIzC7DY+lR2Tjh6IjHaAotruuQUr5qc8rR0VAiGgXYhVue?= =?us-ascii?q?rozlOima1uULs2WD4OpgVP6vi246qw5quDSg2sAsiozPi4kIyV7E7T10zJs7KN?= =?us-ascii?q?C2UkJ2YN6pHIFRuiyVLYd6X98uT3l2tConybAKo5G2cSgQxJkmxhPTceGLfoeV?= =?us-ascii?q?7h/lSe2fOy13hGh/d7K6nxuy8Vavyun7VsSs3ldFsDFKnsPNtnAWzRDT7dSISv?= =?us-ascii?q?tn8Uu7wzmAyxrf6uNcIUwslKrbLYAuwqIom5YOv0nOEDX6lUT2gaOMd0gp9fKk?= =?us-ascii?q?5/n7brn+o5+TLY50igXwMqQ0ncy/BPw1PRIVX2eB+OSxz7zj/VbjTLVNkvI2kr?= =?us-ascii?q?PWvIrAKssHvKK5ARdV3p456xmjFzemzMgYnX4fIV1ZYh2HiozpN0jKIPD5Fve/?= =?us-ascii?q?n0+hkCxrxvDDJr3uGI/BLnnFkLf7fLZy8VRQyAQpzYMX25UBAbgEJLf3W1TtnN?= =?us-ascii?q?3eFB4wdQKukMj9D9Ao9Y4YWGmPA+ewK6rT+QuB/esuC+iXIogeuD+7IvNj5ea4?= =?us-ascii?q?3ixxokMUYaT8hchfU3u/BPkzexzEM0qpuc8IFCIxhiR7TOHujwTTAyFebTCzRO?= =?us-ascii?q?Q77TEyToutS4XbFNj03O6xmRyjF5gTXVhoT0iWGC61JYSfHfAHaCvUK8QnkCRW?= =?us-ascii?q?DeHwGb9k7gmnsUrB85QiK+PV/iMCspe6iYp0/KvUnhE7szV/ScaFgTiA?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0CBLADMMOpcbQpAQYVlGwEBAQEXAQEBB?= =?us-ascii?q?QMBAQEKAQEBgUiBKAIBAQEBAWBpUzEojQ6mcgEIAQMBBwECAQElCAIBAYN6XzU?= =?us-ascii?q?JgWobBwEENBMBAwEBBAEBAgEBAwETDRUHGzEMgjoihConDQUgAQUBg1iCCQEPm?= =?us-ascii?q?l08jE+IMSGBRxANAgOBIAIBAQEBAQEBgUmKGoF/g3WDTQKCLoJvgiYEiHQHgiS?= =?us-ascii?q?IfIZ1jUMJgg8Dgg+BBIIZgQWMVQwbgwaJRol9LZNDjnYCBAIEBQIGDyGBRYF4M?= =?us-ascii?q?xoIMIMnCYV2hCCGQjEygQMmE40+AQE?= X-IPAS-Result: =?us-ascii?q?A0CBLADMMOpcbQpAQYVlGwEBAQEXAQEBBQMBAQEKAQEBgUi?= =?us-ascii?q?BKAIBAQEBAWBpUzEojQ6mcgEIAQMBBwECAQElCAIBAYN6XzUJgWobBwEENBMBA?= =?us-ascii?q?wEBBAEBAgEBAwETDRUHGzEMgjoihConDQUgAQUBg1iCCQEPml08jE+IMSGBRxA?= =?us-ascii?q?NAgOBIAIBAQEBAQEBgUmKGoF/g3WDTQKCLoJvgiYEiHQHgiSIfIZ1jUMJgg8Dg?= =?us-ascii?q?g+BBIIZgQWMVQwbgwaJRol9LZNDjnYCBAIEBQIGDyGBRYF4MxoIMIMnCYV2hCC?= =?us-ascii?q?GQjEygQMmE40+AQE?= X-IronPort-AV: E=Sophos;i="5.60,513,1549926000"; d="ml'63?html'63,217?scan'63,217,208,217,50,63,49?gz'63,217,208,217,50,63,49,50?_fac'63,217,208,217,50,63,49,50,63";a="307223402" X-MGA-submission: =?us-ascii?q?MDExqTwDXPgy7vdJlan2qRTtJ5tvntF9Kca7Uk?= =?us-ascii?q?qLpLSu8tR/Z31iST+bSPxISz7Q8Bjpgye8UCT2soTApQ/nJh1p9tVF7P?= =?us-ascii?q?izl6uu++Emy5ylMbeelbUUlBsHkOGBi9hKuvgAaTW/wZdAcS0xs8ojzb?= =?us-ascii?q?X5tWP+RWvi/dtqKgEF5hhskA=3D=3D?= Received: from web.is.ocha.ac.jp ([133.65.64.10]) by mail3-smtp-sop.national.inria.fr with ESMTP; 26 May 2019 08:27:15 +0200 Received: from mail-pf1-f199.google.com (mail-pf1-f199.google.com [209.85.210.199]) by web.is.ocha.ac.jp (Postfix) with ESMTP id DB58E2009397A for ; Sun, 26 May 2019 15:27:11 +0900 (JST) Received: by mail-pf1-f199.google.com with SMTP id 77so6951741pfu.1 for ; Sat, 25 May 2019 23:27:11 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:mime-version :content-disposition:user-agent; bh=MxcZIaYLbBxkAOZYKYJrOLahhYm94LJ6qJV5xSzcIF0=; b=WbU7rkM48pirVhcIew+xUuv+ic8KxEEYukqVJPihEkjFbRdVxn3aig5iLlgKprUtif 8tacRUZ7vbOOCvBWbqzCAoBVTnAQ+VDsYbN2KyAdXLS5w+NyaJrbfIS7RISkpQPpd7qc EjM/TR+dRRuC/Xid87OE/INoJhMSFDkI+VI+lH9bPLmLpTNsRm5zl4B1ik60gTJ6enAL h+P6wzN/U/xO8iVkDhCEGeFipFVyjE26n69ZjZXN7lbMjqjKS9GdOvQdK5Bk5Hh7FVix x66FIraAeCoqowbzIgcrFFJvhzfTP0y3xVZgM3yxTEOu0/AYmU0pEJOpddjsRrb+P4M6 tuFA== X-Gm-Message-State: APjAAAWfdZWyuuKCzQuyfSna1/fnRrcuX5G+amk2pvFD13/vKh8y9Fav q69ZnietzZPr6siyZz5yugVuKF7RFhHmHxEs/zsbj24w+VcdBhTZl6oM37ypTwNhGmvOXnJhyP0 syRmCRlbrW1b3 X-Received: by 2002:a17:902:324:: with SMTP id 33mr119436300pld.284.1558852030897; Sat, 25 May 2019 23:27:10 -0700 (PDT) X-Google-Smtp-Source: APXvYqy3lNqyhJv19oe61ujYI30dhnUHXnOH8+23xMRsSF2tN+NlMaeHZzbfnbx/UBDOzowYapkVOg== X-Received: by 2002:a17:902:324:: with SMTP id 33mr119436265pld.284.1558852030493; Sat, 25 May 2019 23:27:10 -0700 (PDT) Received: from localhost (218.45.66.141.eo.eaccess.ne.jp. [218.45.66.141]) by smtp.gmail.com with ESMTPSA id l38sm5451459pje.12.2019.05.25.23.27.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 25 May 2019 23:27:09 -0700 (PDT) Date: Sun, 26 May 2019 15:26:59 +0900 From: Kenichi Asai To: caml-list@inria.fr Message-ID: <20190526062659.GA63981@pllab.is.ocha.ac.jp> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Q68bSM7Ycu6FN28Q" Content-Disposition: inline User-Agent: Mutt/1.7.2 (2016-11-26) Subject: [Caml-list] How can I use a library in a toplevel created by js_of_ocaml? Reply-To: Kenichi Asai X-Loop: caml-list@inria.fr X-Sequence: 17572 Errors-to: caml-list-owner@inria.fr Precedence: list Precedence: bulk Sender: caml-list-request@inria.fr X-no-archive: yes List-Id: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --Q68bSM7Ycu6FN28Q Content-Type: text/plain; charset=us-ascii Content-Disposition: inline I want to create a web page where I can execute an OCaml expression that mentions a prebuilt user-defined library. I find the following example in the js_of_ocaml/toplevel repository: https://github.com/ocsigen/js_of_ocaml/tree/master/toplevel/examples/eval Can I extend this example so that the toplevel is compiled with a user-defined library? The attached program contains the following where the first three files are copied from the example in the js_of_ocaml/toplevel repository. toplevel/ -- dune -- eval.ml -- index.html -- fac/ -- dune -- fac.ml I intend that fac.ml is compiled as a library and I want to use it in the toplevel. I added "fac" in the libraries stanza of the toplevel dune file (as in the attached file): (executables (names eval) (libraries fac js_of_ocaml-compiler js_of_ocaml-toplevel) (link_flags (:standard -linkall)) (preprocess (pps js_of_ocaml-ppx))) Naturally, fac.ml is compiled and I can use it in the eval.ml, but it is not visible from the toplevel. I included the following part in the index.html (as in the attached file):
but the output says: File "/dev/fake_stdin", line 2, characters 6-12: Error: Unbound module Fac Thank you in advance. -- Kenichi Asai --Q68bSM7Ycu6FN28Q Content-Type: application/x-tar-gz Content-Disposition: attachment; filename="toplevel.tar.gz" Content-Transfer-Encoding: base64 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 --Q68bSM7Ycu6FN28Q--