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 mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 0E8E78239C for ; Mon, 12 Mar 2018 06:43:15 +0100 (CET) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=oleg@okmij.org; spf=Pass smtp.mailfrom=oleg@okmij.org; spf=None smtp.helo=postmaster@mail1.g3.pair.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of oleg@okmij.org) identity=pra; client-ip=66.39.3.114; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="oleg@okmij.org"; x-sender="oleg@okmij.org"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of oleg@okmij.org designates 66.39.3.114 as permitted sender) identity=mailfrom; client-ip=66.39.3.114; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="oleg@okmij.org"; x-sender="oleg@okmij.org"; 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@mail1.g3.pair.com) identity=helo; client-ip=66.39.3.114; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="oleg@okmij.org"; x-sender="postmaster@mail1.g3.pair.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3Ar+MWqRAmou/iie8XIPyvUyQJP3N1i/DPJgcQr6Af?= =?us-ascii?q?oPdwSPr+oMbcNUDSrc9gkEXOFd2Cra4c0KyO6+jJYi8p2d65qncMcZhBBVcuqP?= =?us-ascii?q?49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL1LdrWev4jEMBx7xKRR6?= =?us-ascii?q?JvjvGo7Vks+7y/2+94fcbglUijexe69+IAmrpgjNq8cahpdvJLwswRXTuHtIfO?= =?us-ascii?q?pWxWJsJV2Nmhv3+9m98p1+/SlOovwt78FPX7n0cKQ+VrxYES8pM3sp683xtBnM?= =?us-ascii?q?VhWA630BWWgLiBVIAgzF7BbnXpfttybxq+Rw1DWGMcDwULs5Xymp4aV2Rx/ykC?= =?us-ascii?q?oJOT43/n/KhMJzg61UvA+uqB5xzIPPfIGZKOBzcr/Bcd4AW2ZMWNtaWSxbAoO7?= =?us-ascii?q?aosCF/MPPeJGoInyulADqhy+BQ2yC+Pg0TJIgXz23ag70+QjCw3G2xYgH90XvX?= =?us-ascii?q?nSsd77N78SXPi0waTJ1znOYfdb1S3z5YTSbxwtvP6BUaptfcff1UUjDQ3Ig1qK?= =?us-ascii?q?pYD4Oz6ZyP4BvmaU4udmSOmhkXQoqxtrrTiq3sosipfGhoYSyl3c8CV22oc1Jd?= =?us-ascii?q?mlREJhbt6pHoFctzmAOIt3WMMuWX1nuCE/yrEeuJ67ejYFyIg/yhPeavGLaYaF?= =?us-ascii?q?7xb5WOufOzt0mW9pdb2nixa360egy+n8Vseu0FZNqypIit7MtnQT2Bzc8cWHTf?= =?us-ascii?q?h9/kKg2TaNzQzT7ftEIU8smarBN5Eh2qIwloYUsUnbAiD5gkD2jKuPekUg++io?= =?us-ascii?q?8Pjnb679pp6cMo90khvxPr4vmsy5G+Q4MxIBU3KV+eSmh/Xf+hjwRLxLiLs4iK?= =?us-ascii?q?jCu5DyIckLp6C4RQRS19UN8RG6WhCi3dtQyX4DIV1tfxGCjoqvPEvBdqOrRcyj?= =?us-ascii?q?ikihxW84j8vNOafsV82Ufyrz1Yz5dLM40HZyjQ86zNRR/ZVRU+hTJ/H2W023s8?= =?us-ascii?q?bXXEZgb16Eht3/AdA47bswHHqVC/bAYqTRtF6KoOU1LLvUPdJHiHPGM/EgosXW?= =?us-ascii?q?ozo5lFsaJPj72JIWbCn+Ea8gO0yYezznhdJTSWo=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0ClAACqEqZah3IDJ0JdHAEBAQQBAQoBA?= =?us-ascii?q?YUljhdzjH2CBIEWlDKCFQqFJQKDERkHAQQwGAECAQEBAQEBAQEBEgEBAQoLCQg?= =?us-ascii?q?oLoI4IoJKAQQBJxM/BRYhNAWFbAisajqIW4IahTWCLoFVhRWFbYJsgjIEjXJ0i?= =?us-ascii?q?3AJgmWNcA6DHotDkUiBLB6CCk0wCDqCRIJBghSOGQEBAQ?= X-IPAS-Result: =?us-ascii?q?A0ClAACqEqZah3IDJ0JdHAEBAQQBAQoBAYUljhdzjH2CBIE?= =?us-ascii?q?WlDKCFQqFJQKDERkHAQQwGAECAQEBAQEBAQEBEgEBAQoLCQgoLoI4IoJKAQQBJ?= =?us-ascii?q?xM/BRYhNAWFbAisajqIW4IahTWCLoFVhRWFbYJsgjIEjXJ0i3AJgmWNcA6DHot?= =?us-ascii?q?DkUiBLB6CCk0wCDqCRIJBghSOGQEBAQ?= X-IronPort-AV: E=Sophos;i="5.47,459,1515452400"; d="scan'208";a="317450714" Received: from mail1.g3.pair.com ([66.39.3.114]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 Mar 2018 06:43:13 +0100 Received: from mail1.g3.pair.com (localhost [127.0.0.1]) by mail1.g3.pair.com (Postfix) with ESMTP id 09BB13FB334; Mon, 12 Mar 2018 01:43:11 -0400 (EDT) Received: from Magus.localnet (g.sf.ecei.tohoku.ac.jp [130.34.192.34]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail1.g3.pair.com (Postfix) with ESMTPSA id 319C5582C95; Mon, 12 Mar 2018 01:43:10 -0400 (EDT) Date: Mon, 12 Mar 2018 14:50:00 +0900 From: Oleg To: alain.frisch@lexifi.com Cc: caml-list@inria.fr Message-ID: <20180312055000.GA894@Magus.localnet> Mail-Followup-To: Oleg , alain.frisch@lexifi.com, caml-list@inria.fr MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <701b5731-23d5-3e31-bf3a-5ec21867aa02@lexifi.com> User-Agent: Mutt/1.6.1 (2016-04-27) Subject: Re: [Caml-list] A question about custom toplevels Alain Frisch mentioned: > The Env module has the following: > ======================================================= > module Persistent_signature : sig > type t = > { filename : string; (** Name of the file containing the signature. *) > cmi : Cmi_format.cmi_infos } > (** Function used to load a persistent signature. The default is to > look for > the .cmi file in the load path. This function can be overridden > to load > it from memory, for instance to build a self-contained toplevel. *) > val load : (unit_name:string -> t option) ref > end > ======================================================= This facility has made me think (some four years ago, in fact) that OCaml may very well support type providers like those in F# (which seem to be very popular, in this age of Big Data). This load function can as well go on the web and load .cmi from there (or synthesize one from the information found in the online schema). It might be a fun project.