Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] option to disable partially qualified Require Imports

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] option to disable partially qualified Require Imports


Chronological Thread 
  • From: Théo Zimmermann <theo AT irif.fr>
  • To: Ralf Jung <jung AT mpi-sws.org>
  • Cc: Coq Club <coq-club AT inria.fr>
  • Subject: Re: [Coq-Club] option to disable partially qualified Require Imports
  • Date: Fri, 18 Sep 2020 13:48:00 +0200
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=theo AT irif.fr; spf=Pass smtp.mailfrom=theo AT irif.fr; spf=None smtp.helo=postmaster AT korolev.univ-paris7.fr
  • Ironport-phdr: 9a23:1lfmUR+HJg41QP9uRHKM819IXTAuvvDOBiVQ1KB20uMcTK2v8tzYMVDF4r011RmVBNqds6wP0LGe8/i5HzBZv9DZ6DFKWacPfidNsd8RkQ0kDZzNImzAB9muURYHGt9fXkRu5XCxPBsdMs//Y1rPvi/6tmZKSV3wOgVvO+v6BJPZgdip2OCu4Z3TZBhDiCagbb9oIxi6sAfcutMKjYZjJao8xBXEqWZMd+hK2G9kP12ekwv968uq4JJv7yFcsO89+sBdVqn3Y742RqFCAjQ8NGA16szrtR3dQgaK+3ARTGYYnAdWDgbc9B31UYv/vSX8tupmxSmVJtb2QqwuWTSj9KhkVhnlgzoaOjEj8WHXjstwjL9HoB+kuhdyzZLYbJ2TOfFjZa7WY88USnRdUcZQTyxBA52zb40TD+oaIO1Uq5Dxq0YSoReiAAWhAv7kxD1ViX/sxaA13OohHgPG0gIuHNwArWrao8n6OqoJTeC11bPFwSnfY/9K2zrw7pXDfBA7ofGLWLJ9adTfyUk1EAPCllqfqo3lPzaQ1usTqWib6vBvVeSpi2U6rAxxvjivydkrioTSh4IV0FHE9StjzIY7P921UUh2asOrH5VMrS+VLZd2Qt88TGFyviY30rkLtJq5cSUKx5oq2h7RZ+KJfoWI7RzuSuifLCt4iX55d7+yhRm//Ee+xuHiSsW5zVJHoy5FnNfMtH0A1ADe5MiBR/Bg8Emh3jOP2BrS6uFCOU00kLLbK584zr4rmJsTql7PHijsmEX5iqKda0Yq+vCw5uj6ZrjrqYWQO5F0hwzxKKgjm9GzDf4lPgUAXGWX4fqw2KHn8EHjQ7hHjuc6nrTYvZ3YP8gWprO1DglI2Yg58Rm/FS2p0NEAkHkHMl1FfBWHgpDqO1HJOvD4CvO/jEqykDtx2vDGOLzhAovUInjbirjhZ7d961VexQYpw9Bf/YpYCrAHIP3tRk/8rMHUAxs2PgCu3erqCNpw2pkfVG6SGKOVLa3fvFyQ6uIqOeaMZYsVuDjnK/gi4v7jlWM5mV8DcqmuxpYXaWq4HvVoI0mDb3rsmM8NEX0WsQomUOzqlFqCXCZPaHa1RqIw/y00CIa7DYjYXY2tm7yA3CKjHpJMfGxGC1aMEW3pd4qeQfsMZjiScYddlWk+XLyvA6080x7m4A3nzbVPK/LVvzYHrtTkztcjtMPJkhRnyTz1CPOv0mSIQntxl2UOD2sq3K14iU1ny1nF37Iu0K8QLsBa+/4cClRyDpXb1eEvTomqAludLOfMc06vR5CdOR90Vsg4ko0PeUdzXdu43EiajniaRoQNnrnOP6Qat6fV3nz/PcF4miTHzqgvyVc8EJIWaD+Ww5Vn/g2WPLbn1kWUk6HwKfYf2zTK8Gqdi3eIvV8dSAdqUL6aG34FNBPb

Hi Ralf,

I was only talking about the "stale vo" problem indeed.

The approach of Coq developers regarding this ambiguous import feature
so far has been to encourage users to systematically use the From
clause and to encourage library authors to avoid having several
modules named the same under a shared namespace.

Anyway, anyone, feel free to open a feature request on Coq's bug
tracker regarding this flag to disable partially qualified Require.
But I don't think we will be able to turn such a flag on by default as
long as the standard library is organized the way it is today. Feel
free also to prepare a CEP if you see a path that could lead Coq to
move away from the ambiguous import "feature" without suddenly
increasing the verbosity of every Coq file. As often, design is the
hard part.

Kind regards,
Théo

Le ven. 18 sept. 2020 à 13:26, Ralf Jung <jung AT mpi-sws.org> a écrit :
>
> Hi Théo,
>
> >> I've had quite weird problems in the past caused by stale .vo files
> >> being picked
> >> up by ambiguous imports, so I'd be all for a way to ensure that all
> >> imports are
> >> unambiguous. (In fact I am quite surprised that ambiguous imports exist
> >> at all,
> >> that seems quite contrary to Coq's usual design geared towards
> >> precision. No
> >> other language I work or worked with has ambiguous imports the way Coq
> >> does --
> >> Python, Java, C++, Rust all do not have this problem.)
> >
> > With Dune, this won't be an issue anymore.
>
> Given that Dune is a build system, how can it add the missing language
> feature
> of precisely specifying which file to import?
> It might help against the "stale vo" problem, but that was just an example.
> There are many more reasons for wanting imports to be unambiguous, like
> being
> sure ones code keeps compiling and doing the right thing when more modules
> are
> added.
>
> Kind regards,
> Ralf
>
> --
> Website: https://people.mpi-sws.org/~jung/



Archive powered by MHonArc 2.6.19+.

Top of Page