From 9eca531a874dc8f71cf21c708044c1cd11a6c1f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Zimmermann?= Date: Thu, 30 May 2024 15:48:24 +0200 Subject: [PATCH] Start a GoodDefaults file collecting recommended option settings. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Théo Winterhalter Follow-up of Zulip discussion at: https://coq.zulipchat.com/#narrow/stream/237977-Coq-users/topic/Better.20default.20options Update theories/Corelib/Compat/GoodDefaults_2025.v Co-authored-by: Théo Zimmermann --- .../11-corelib/19117-good-defaults-Added.rst | 5 +++ doc/corelib/index-list.html.template | 2 + doc/sphinx/language/core/basic.rst | 14 +++++++ theories/Corelib/Compat/GoodDefaults_2025.v | 42 +++++++++++++++++++ 4 files changed, 63 insertions(+) create mode 100644 doc/changelog/11-corelib/19117-good-defaults-Added.rst create mode 100644 theories/Corelib/Compat/GoodDefaults_2025.v diff --git a/doc/changelog/11-corelib/19117-good-defaults-Added.rst b/doc/changelog/11-corelib/19117-good-defaults-Added.rst new file mode 100644 index 000000000000..4d4a31b005b9 --- /dev/null +++ b/doc/changelog/11-corelib/19117-good-defaults-Added.rst @@ -0,0 +1,5 @@ +- **Added:** + A GoodDefaults_2025 module setting various options to their recommended value, + see :ref:`the doc ` for more details + (`#19117 `_, + by Théo Zimmermann and Théo Winterhalter). diff --git a/doc/corelib/index-list.html.template b/doc/corelib/index-list.html.template index 11472171ef39..613a64308866 100644 --- a/doc/corelib/index-list.html.template +++ b/doc/corelib/index-list.html.template @@ -163,6 +163,7 @@ through the Require Import command.

Compat: Compatibility wrappers for previous versions of Coq + and recommended options at the time of a given Rocq release
theories/Corelib/Compat/Coq818.v @@ -170,6 +171,7 @@ through the Require Import command.

theories/Corelib/Compat/Coq820.v theories/Corelib/Compat/Rocq90.v theories/Corelib/Compat/Rocq91.v + theories/Corelib/Compat/GoodDefaults_2025.v theories/Ltac2/Compat/Coq818.v theories/Ltac2/Compat/Coq819.v
diff --git a/doc/sphinx/language/core/basic.rst b/doc/sphinx/language/core/basic.rst index 5bbc3d3839fd..05dcc3df53f2 100644 --- a/doc/sphinx/language/core/basic.rst +++ b/doc/sphinx/language/core/basic.rst @@ -400,6 +400,20 @@ The :term:`flag`, :term:`option` and :term:`table` mechanisms are used to modify the behavior of Rocq more globally in a document or project. +.. _good_defaults: + +The default value of some settings is not the one that would be recommended +today for compatibility reasons. We provide a *good default* file in the Corelib +which can be imported as follows: + +.. rocqtop:: in + + From Corelib Require Import GoodDefaults_2025. + +This file is versioned to account for the changes in recommendations as the Rocq +practice evolves. The 2025 edition will remain available without change after +future versions are released. + .. _attributes: Attributes diff --git a/theories/Corelib/Compat/GoodDefaults_2025.v b/theories/Corelib/Compat/GoodDefaults_2025.v new file mode 100644 index 000000000000..b5cd54b4c94a --- /dev/null +++ b/theories/Corelib/Compat/GoodDefaults_2025.v @@ -0,0 +1,42 @@ +(************************************************************************) +(* * The Coq Proof Assistant / The Coq Development Team *) +(* v * Copyright INRIA, CNRS and contributors *) +(*