Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] A module cannot be applied to another module application

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] A module cannot be applied to another module application


Chronological Thread 
  • From: Chantal Keller <chantal.keller AT wanadoo.fr>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] A module cannot be applied to another module application
  • Date: Mon, 3 Jul 2017 14:29:42 +0200
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=chantal.keller AT wanadoo.fr; spf=None smtp.mailfrom=chantal.keller AT wanadoo.fr; spf=None smtp.helo=postmaster AT ext.lri.fr
  • Ironport-phdr: 9a23:PCNgyxwJVhgfRgHXCy+O+j09IxM/srCxBDY+r6Qd1eMeIJqq85mqBkHD//Il1AaPBtSEraocw8Pt8InYEVQa5piAtH1QOLdtbDQizfssogo7HcSeAlf6JvO5JwYzHcBFSUM3tyrjaRsdF8nxfUDdrWOv5jAOBBr/KRB1JuPoEYLOksi7ze6/9pnRbglSmDaxfa55IQmrownWqsQYm5ZpJLwryhvOrHtIeuBWyn1tKFmOgRvy5dq+8YB6/ShItP0v68BPUaPhf6QlVrNYFygpM3o05MLwqxbOSxaE62YGXWUXlhpIBBXF7A3/U5zsvCb2qvZx1S+HNsDwULs6Wymt771zRRH1likHOT43/mLZhMN+g61Uog6uqRNkzo7IY4yYLuZycr/TcN4YQ2dKQ8ZfVzZGAoO5d4YCEeoBMvxer4nhvVQOqQa1CwyyC+Przj9HmGX21rA93us9EQHJxgogH84Uv3TQttn1N7kdUeSxzKbW1zXOdP1X1i376IfSbx8hpvaMUah+ccrL0EQiER7OgFaIqYH9Ij+ZyOAAv3KG4+diVe+jkXMrpgFrrjWgwMonl5PHiZgPyl/e8CV02IY1KsO8SE58edOrDpRRtz2AO4tyWMMiQntkuCggyrEeuJ67ejYFyIg/yhLCdfCKd5KE7g/hWeuROzt0mXJodKiwihqq9Eiv0Oz8Vs260FZQqSpFl8HBuWwN1xPJ7MiHVuFy/kO71TaMyQ/T7uVELl4ulafAJZ8u2LgwmYAOvkTEGS/6gkv2jLWOekU+5ueo8/jnYqnhppKEK4B0jRj+Pr0ylcy7HOQ3KRMDX3Ob+OS5zL3s51f1QLRMjv0sk6nWqorWJcoBpv3xPwgA2YE6rh27Ej2O0dICnHBBIkgWVgiAit3CO1jIPPn8RdSyh1Chin8/zPDPOKHoBtPOI3zHna3JYr974kJbz0w914YMtNpvFrgdLaerCQfKv9vCA0phPg==

Ok, didn't think about that, thanks for the trick!

Btw, why this restriction?

Best
Chantal



Le 03/07/2017 à 13:41, Frédéric Besson a écrit :
>
> On Mon, 2017-07-03 at 11:28 +0200, Chantal Keller wrote:
>> Hi Frédéric,
>>
>> Thanks for your answer. This works if the nested application is in
>> the
>> resulting signature of the module, but how to deal with arguments?
>> See e.g.
>>
>> Module Id' (T:TYPE) (B1:ID T) (B2:ID (Copy T)).
>
> It seems you can do the same.
>
> Module Id' (T:Type) (B1 : ID T).
> Module CT := Copy T.
>
> Module Id'' (B2 : ID CT).
>
> --
> Frédéric
>
>
>
>
>>
>> Best
>> Chantal
>>
>>
>>
>> Le 03/07/2017 à 10:01, Frédéric Besson a écrit :
>>> Hi Chantal,
>>>
>>> What about having an inner module?
>>>
>>> Module Id (T:TYPE) (B:ID T).
>>> Module CT := Copy T.
>>> Module IId <: ID CT.
>>> Parameter id : CT.t -> CT.t.
>>> End IId.
>>> End Id.
>>>
>>>
>>> Best,
>>> --
>>> Frédéric
>>>
>>>
>>> On Sun, 2017-07-02 at 23:37 +0200, Chantal Keller wrote:
>>>> Hi,
>>>>
>>>> This example is useless, but I would like to do domething similar
>>>> to:
>>>>
>>>>
>>>> Module Type TYPE.
>>>> Parameter t : Type.
>>>> End TYPE.
>>>>
>>>> Module Copy (T:TYPE) <: TYPE.
>>>> Definition t := T.t.
>>>> End Copy.
>>>>
>>>> Module Type ID (O:TYPE).
>>>> Parameter id : O.t -> O.t.
>>>> End ID.
>>>>
>>>> Module Id (T:TYPE) (B:ID T) <: ID (Copy T).
>>>>
>>>>
>>>> Coq 8.6 complains about the last statement: "Error: A module
>>>> cannot
>>>> be
>>>> applied to another module application or with-expression; you
>>>> must
>>>> give
>>>> a name to the intermediate result module first."
>>>>
>>>> How can I give a name to the nested application since I want to
>>>> use
>>>> it
>>>> in the signature?
>>>>
>>>> Thanks
>>>> Chantal



Archive powered by MHonArc 2.6.18.

Top of Page