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 sympa.inria.fr (Postfix) with ESMTPS id 7017B7FF3C for ; Fri, 28 Oct 2016 14:45:20 +0200 (CEST) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=shayne.fletcher.50@gmail.com; spf=Pass smtp.mailfrom=shayne.fletcher.50@gmail.com; spf=None smtp.helo=postmaster@mail-yw0-f175.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of shayne.fletcher.50@gmail.com) identity=pra; client-ip=209.85.161.175; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="shayne.fletcher.50@gmail.com"; x-sender="shayne.fletcher.50@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of shayne.fletcher.50@gmail.com designates 209.85.161.175 as permitted sender) identity=mailfrom; client-ip=209.85.161.175; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="shayne.fletcher.50@gmail.com"; x-sender="shayne.fletcher.50@gmail.com"; 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@mail-yw0-f175.google.com) identity=helo; client-ip=209.85.161.175; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="shayne.fletcher.50@gmail.com"; x-sender="postmaster@mail-yw0-f175.google.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3AU2QSbB8MFAx03P9uRHKM819IXTAuvvDOBiVQ1KB9?= =?us-ascii?q?0ugcTK2v8tzYMVDF4r011RmSDN+dtKkP1rGe8/i5HzdfsdDZ6DFKWacPfiFGoP?= =?us-ascii?q?1epxYnDs+BBB+zB9/RRAt+Iv5/UkR49WqwK0lfFZW2TVTTpnqv8WxaQU2nZkIm?= =?us-ascii?q?btjyT8TZhsGzkuSz4IH7YgNShTP7b6k6MQ67tx6b/p0diI5mb6Iw0Qfho31Seu?= =?us-ascii?q?0Qy3k+dnyJmBOp3ce57ZhuuwpUtu4q98NaGfHhf60pS7EeAjArL2s16det6EHr?= =?us-ascii?q?Qg6G539aWWITxEkbSzPZ5Q33C8+i+hDxsfBwjXGX?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BfAgDyRxNYf6+hVdFcHgYMGQYMgn8BA?= =?us-ascii?q?QEBAYF0B6x6hAWCU4UbggeIIwdBEgEBAQEBAQEBAQEBEgEBCQsLCRsygjMYgjA?= =?us-ascii?q?RBBkBGx4DEgkHNwIkAREBBQEiNYgXAQMXoS6CCIEyPzKLRoFrgl8Fg10KGScNU?= =?us-ascii?q?4NFAgYQkk2CWwWBJQGYaAgBAYEnFYYpiEKQBI9OEx6BESUBgUOCVoIaIjSHcwE?= =?us-ascii?q?BAQ?= X-IPAS-Result: =?us-ascii?q?A0BfAgDyRxNYf6+hVdFcHgYMGQYMgn8BAQEBAYF0B6x6hAW?= =?us-ascii?q?CU4UbggeIIwdBEgEBAQEBAQEBAQEBEgEBCQsLCRsygjMYgjARBBkBGx4DEgkHN?= =?us-ascii?q?wIkAREBBQEiNYgXAQMXoS6CCIEyPzKLRoFrgl8Fg10KGScNU4NFAgYQkk2CWwW?= =?us-ascii?q?BJQGYaAgBAYEnFYYpiEKQBI9OEx6BESUBgUOCVoIaIjSHcwEBAQ?= X-IronPort-AV: E=Sophos;i="5.31,410,1473112800"; d="scan'208,217";a="242755914" Received: from mail-yw0-f175.google.com ([209.85.161.175]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 28 Oct 2016 14:45:18 +0200 Received: by mail-yw0-f175.google.com with SMTP id h14so83389535ywa.2 for ; Fri, 28 Oct 2016 05:45:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to; bh=WyQXvm5nOSZKhdZF4ppvXV57KFTI/UnHDDYs4xEgzFs=; b=S4mi4G+iFI9EqQZtlnbjRob97jt7RmFq7JohfjOPib7gzd+h/pVrbupVSC6C3MLV0m Hlku/9zIZ2n0RQEMotflHBAFdlbpyySBoUREejqCNCgLm6TVVqryrQf2956lozEtIPKw FkVn6ejLeX4GRPTZmlW9SYyKpBhFDBHeoWACJmCoWfBQoeSKhPYhzkOSAGARyTFNv+OC d1Mav1qilscKITOWrkkuES8GnSKQ17FE8qZuY2HmvToBWbdzMMfMXdHsUFDgM3bPWrFy dm60X4JeW0x38f+HBE7TWMrIOr3o86s0cf+wRXOA2ML/7QxMp8tBe4dCBwrnPuZc40lL Z0rw== 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=WyQXvm5nOSZKhdZF4ppvXV57KFTI/UnHDDYs4xEgzFs=; b=TXQFkWwT4+P/fl5S07dem7RmXGtbEcjdfWzznXO+YTCusFq397vrlvFU2XY7R8dBYX qHJR/AXQxkXubwMI9Ho8vvDeRlyRm33gRPGsedzSLAbyIsjTq9+8XEZBtwqjqaFCeiXe VAUvhbH+Mbeh3ESYYNA3ly4ZueN/wpsXHol214FPl7pc9VKTYFwXw/lyLVU4nSb76FR3 olNSRIeXz1finzib9Fo6iAw/maK92xmD2N0i5B05lsRYFTNK4Xh+t11Cxe2QwawP22vc MurhNR1StDOvzUAnWeu/du1J2xE8UEHZ9EZjXN5XTT7iEdvQNaCI5/3sj9MGlcMaQkEo QDfw== X-Gm-Message-State: ABUngvew2eEIp41jEEU5Ak7Oaa4Qppo2xVHQ0QE9o+OV8oVs67JE1zbPm6OSsxSWjYYoxp+XfiUMMcPyPUNE7w== X-Received: by 10.13.226.83 with SMTP id l80mr13462303ywe.77.1477658715631; Fri, 28 Oct 2016 05:45:15 -0700 (PDT) MIME-Version: 1.0 Received: by 10.37.39.202 with HTTP; Fri, 28 Oct 2016 05:44:55 -0700 (PDT) From: Shayne Fletcher Date: Fri, 28 Oct 2016 08:44:55 -0400 Message-ID: To: "caml-list@inria.fr users" Content-Type: multipart/alternative; boundary=001a114fa850d83731053fec3ad4 Subject: [Caml-list] Functor signature "inheritance" --001a114fa850d83731053fec3ad4 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable If one wants to include a functor signature in another... module type EQ =3D sig type t val eq : t * t -> bool end module type EQ_PROD =3D functor (X : EQ) (Y : EQ) -> sig type t =3D X.t * Y.t val eq : t * t -> bool end module type ORD =3D sig include EQ val lt : t * t -> bool end module type LT_PROD =3D functor (X : EQ) (Y : EQ) -> sig include EQ_PROD (*What do I say here?*) end =E2=80=8B... How does one do that? Is there a syntax for this sort of thing= ?=E2=80=8B --=20 Shayne Fletcher --001a114fa850d83731053fec3ad4 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
If one wants to include a fun= ctor signature in another...

module type EQ =3D sig
=C2=A0 type t
=C2=A0 val eq = : t * t -> bool
end

module type EQ_PROD =3D functor (X : EQ) (Y : = EQ) ->
sig
=C2=A0 =C2=A0 type t =3D X.t * Y.t
=C2=A0 =C2=A0 val eq : t *= t -> bool
=C2=A0 end

module type ORD =3D sig
=C2=A0 include EQ
=C2= =A0 val lt : t * t -> bool
end
=
module type LT_PROD =3D functor (X := EQ) (Y : EQ) ->
sig
=C2=A0 include EQ_PROD (*What do I say here?*)
end<= /font>

=E2= =80=8B... How does one do that? Is there a syntax for this sort of thing?= =E2=80=8B

--
Shayne Fletc= her
--001a114fa850d83731053fec3ad4--