From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: plum.tunbury.org; dkim=pass (1024-bit key; unprotected) header.d=inria.fr header.i=@inria.fr header.a=rsa-sha256 header.s=dc header.b=vXe2Baxf; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=exn.st header.i=@exn.st header.a=rsa-sha256 header.s=key1 header.b=bXP/UxlK; dkim-atps=neutral Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=192.134.164.83; helo=mail2-relais-roc.national.inria.fr; envelope-from=caml-list-owner@inria.fr; receiver=tunbury.org Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by plum.tunbury.org (Postfix) with ESMTPS id 6311B40066 for ; Fri, 15 Aug 2025 11:38:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=message-id:date:mime-version:to:references:from: in-reply-to:content-transfer-encoding:subject:reply-to: sender:list-id:list-help:list-subscribe:list-unsubscribe: list-post:list-owner:list-archive; bh=6Vp9SWekggM3j+gfvVCyBkcCNF9Uh+s4Q780y7yjJG8=; b=vXe2BaxfvHeUDbQOb5eWklR8KfmHHK3tDhQEYN08Omk3Yig/VpvdYQQd TZeO5Ck09V9dq1ZNoOLGq60rf7clucFtDdSUOvP7GZcgeWHU1nKAISkM8 79Kk6ywMg0mMdsd5Qi91vvqPV+QarfqPtT0tucqT0zug5rSoai2Yde+jh M=; X-CSE-ConnectionGUID: BMPBI3O2Q6S5skvze+xBjA== X-CSE-MsgGUID: aJsGPCNLT0u7HV87oaSk8A== Received-SPF: Pass (mail2-relais-roc.national.inria.fr: domain of caml-list-owner@inria.fr designates 128.93.162.160 as permitted sender) identity=mailfrom; client-ip=128.93.162.160; receiver=mail2-relais-roc.national.inria.fr; envelope-from="caml-list-owner@inria.fr"; x-sender="caml-list-owner@inria.fr"; x-conformance=spf_only; x-record-type="v=spf1"; x-record-text="v=spf1 include:mailout.safebrands.com a:basic-mail.safebrands.com a:basic-mail01.safebrands.com a:basic-mail02.safebrands.com ip4:128.93.142.0/24 ip4:192.134.164.0/24 ip4:128.93.162.160 ip4:128.93.162.3 ip4:128.93.162.88 ip4:89.107.174.7 mx ~all" Received-SPF: None (mail2-relais-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@sympa.inria.fr) identity=helo; client-ip=128.93.162.160; receiver=mail2-relais-roc.national.inria.fr; envelope-from="caml-list-owner@inria.fr"; x-sender="postmaster@sympa.inria.fr"; x-conformance=spf_only Authentication-Results: mail2-relais-roc.national.inria.fr; spf=Pass smtp.mailfrom=caml-list-owner@inria.fr; spf=None smtp.helo=postmaster@sympa.inria.fr; dkim=hardfail (signature did not verify [final]) header.i=@exn.st X-IronPort-AV: E=Sophos;i="6.17,290,1747692000"; d="scan'208";a="235122015" Received: from prod-listesu18.inria.fr (HELO sympa.inria.fr) ([128.93.162.160]) by mail2-relais-roc.national.inria.fr with ESMTP; 15 Aug 2025 13:38:02 +0200 Received: by sympa.inria.fr (Postfix, from userid 20132) id DAB0EE0264; Fri, 15 Aug 2025 13:38:01 +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 9EFC6E0171 for ; Fri, 15 Aug 2025 13:37:59 +0200 (CEST) X-CSE-ConnectionGUID: 2c2wRt0YTlKiNnRwxOCjxA== X-CSE-MsgGUID: SjnmuwfZQFe4HjV14qkU5g== IronPort-SDR: 689f1c16_O6gREZH3sz6qzV5+5llScC1cx1HmRqo3es3f6kNLK+H1Rsj bMaL7yk4CpTTnmpSpVBYLfgrEFU6BgIV3VzINRA== X-ThreatScanner-Verdict: Negative X-IPAS-Result: =?us-ascii?q?A0GBBgCwGp9ohaw6119aDnuEE4EAWTQHCElDHoN0g0+OA?= =?us-ascii?q?yKEO5gKgz0VAg8BAwENMSAEAQEDAQOFAAILjBoCHwYBBDQTAQIEAQEBAQMCA?= =?us-ascii?q?wEBAQEBAQEBAQ0BAQUBAQECAQECBAYBAhABAQEBQEmGTw2CYgEzghYsDSZYA?= =?us-ascii?q?QEBAyMVCAEBOA8LGAICJgICVgYBgxQBgiEHRgexH4EygQGCDAEBBoEI3QAJH?= =?us-ascii?q?n0uiFEBgXKENAGBE4IveieCKIE8glIxPoFQhk6CRyKCJoEWkGCDDYZaUngcA?= =?us-ascii?q?1ksAVUTFwsHBYEgQwMqNDEjSwUtHYEnfYQZhCgrT4IidYF3Wj+DUx4Gaw8Gg?= =?us-ascii?q?RUZHS4CAgIFAkM+gV0XJAYfEgIDAgICgRlAAgELbT03CQsbBj2UOIMkgRUBI?= =?us-ascii?q?4EDVqQugTagO4E+hCaEAJ1cBhMvhyWjRpkGIpZfkkCBfyOBXE1zgmcJRgMZD?= =?us-ascii?q?446iAaCZYgwol5FMjwCBwsBAQMJkh6BSwEB?= IronPort-PHdr: A9a23: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 IronPort-Data: A9a23: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 IronPort-HdrOrdr: A9a23:WgKDQKxdcdl6AvrgqJrxKrPwGL1zdoMgy1knxilNoG9uEvBw8P re+8jztCWE7Ar5PUtLpTnuAsS9qB/nhPxICMwqTNKftWrd1FdATrsI0WKK+VSJJ8S9zI9gPM xbHJSWZuefMXFKyeL77gG0D5IOxd+YmZrY49s2OE0dLj1XVw== X-Talos-CUID: 9a23:tldfhW+u/2bTaD4NdxyVvxQfQN8fbiXs8HPzImm+M3l5b5aXWXbFrQ== X-Talos-MUID: 9a23:XOQFtQoxpfpuumHuBIMezwpgMsJ1/KqcMW4AzbUEhZDYLC9NZjjI2Q== X-IronPort-Anti-Spam-Filtered: true X-IronPort-AV: E=Sophos;i="6.17,290,1747692000"; d="scan'208";a="123326864" X-MGA-submission: =?us-ascii?q?MDEDHC23ikKb7aOWAYvtBCoTMYG0lLq8WIP7RP?= =?us-ascii?q?sXtXJEEq94iQD7iAyLgvkCdHbF7m9I4c5YCmut/QPYaRBg5vC41tzLc1?= =?us-ascii?q?9w1cXpnivUuWAqbLmmkP8uaA2cTrU9QqRJ1nUj7tzKWiG2m89/3EcsPS?= =?us-ascii?q?xYc+UCwQsWGSzP7mHtnfubkA=3D=3D?= Received: from out-172.mta1.migadu.com ([95.215.58.172]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Aug 2025 13:37:59 +0200 Message-ID: <8574f38c-a6ef-49b8-a60a-b4c89db51552@exn.st> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=exn.st; s=key1; t=1755257877; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=6Vp9SWekggM3j+gfvVCyBkcCNF9Uh+s4Q780y7yjJG8=; b=bXP/UxlKOmHFcvSJt8pTT7iscZA2h9npWVvRpBXPGK4Zq4up7M87SgrdZottqJ8CuJmh7D wLNP1m3UahdOioF/fLQP8hAnC7Mv3nLTfQiSchnCb58v/YlAjhgPBaOkhZSGX0lSp0fFmo 3NeLE/xSK/OSD8Lt+b8zpD33WAMVtgaAZ48vAFz0fnYyLPissAdTuHygnQa1Sa5fXN3zfU O1p86LUBawYtyh3eB54ori2vClffqRbzvdlKuAPLH4n5Wo4hlm5nX1/woCY5nQwFAYS6Pe nokdyeI9Rj8OePTbsu6MyOpM/7Kpz1LGf3BAanS4m1zaki02/42x672M9jG7KA== Date: Fri, 15 Aug 2025 12:37:52 +0100 MIME-Version: 1.0 To: Kenichi Asai , caml-list@inria.fr References: Content-Language: en-GB, fr, de-DE X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Kate In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Migadu-Flow: FLOW_OUT Subject: Re: [Caml-list] utop execution of multiple OCaml files Reply-To: Kate X-Loop: caml-list@inria.fr X-Sequence: 19362 Errors-To: caml-list-owner@inria.fr Precedence: list Precedence: bulk Sender: caml-list-request@inria.fr X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Archived-At: I'm not exactly sure if there is an easy way to do this for you but #use_output "your command";; in the default ocaml toplevel (i'm not sure that exists in utop) should be useful. The command can be any shell command. For example "dune top" will output the right #directory and #load, but this only works for libraries the same way "dune utop" does. So maybe something like: #use_output "dune top";; #use_output "for f in src/*.ml; do echo \"#mod_use \\\"$f\\\";\";done";; The first "dune top" will load any dependencies you may have and the shell command will load all of the ml files from src. I hope this helps, Kate On 8/15/25 01:50, Kenichi Asai wrote: > Suppose I have a.ml that uses definitions in b.ml (and possibly more). > To compile these files, all I need to do is to prepare a dune file > that mentions only the main file: (executable (name a)), and type > "dune build". > > But before I compile the whole program, I often want to play with > functions in a.ml using OCaml toplevel, like utop. If b.ml were > registered as a library, I could do it by "dune utop ." and then "#use > a.ml". But to do so, I need to create a directory for the library and > create another dune file for it. > > Is there a way to load all the modules into utop, just as simple as > typing "dune build" for the compilation case? > > Perhaps, there is a tool to analyze the dependency and produce a list > of commands like the following? > > #mod_use "b.ml";; > #mod_use "a.ml";; >