<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coq/plugins/ltac, branch master</title>
<subtitle>The formal proof system</subtitle>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/'/>
<entry>
<title>Relying on the abstract notion of streams with location for parsing.</title>
<updated>2021-04-23T13:34:29+00:00</updated>
<author>
<name>Hugo Herbelin</name>
</author>
<published>2021-04-05T14:40:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=e07efb3798c7c6ec54aac9093ab50fddfc6c6a5b'/>
<id>e07efb3798c7c6ec54aac9093ab50fddfc6c6a5b</id>
<content type='text'>
We also get rid of ploc.ml, now useless, relying a priori on more
robust code in lStream.ml for location reporting (see
e.g. parse_parsable in grammar.ml).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We also get rid of ploc.ml, now useless, relying a priori on more
robust code in lStream.ml for location reporting (see
e.g. parse_parsable in grammar.ml).
</pre>
</div>
</content>
</entry>
<entry>
<title>[flags] [profile] Remove bit-rotten CProfile code.</title>
<updated>2021-03-30T13:37:00+00:00</updated>
<author>
<name>Emilio Jesus Gallego Arias</name>
</author>
<published>2020-03-10T05:06:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=5d3c0a0326af68e85f1f1cfc6bfa2214b0052de8'/>
<id>5d3c0a0326af68e85f1f1cfc6bfa2214b0052de8</id>
<content type='text'>
As of today Coq has the `CProfile` infrastructure disabled by default,
untested, and not easily accessible.

It was decided that `CProfile` should remain not user-accessible, and
only available thus by manual editing of Coq code to switch the flag
and manually instrument functions.

We thus remove all bitrotten dead code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As of today Coq has the `CProfile` infrastructure disabled by default,
untested, and not easily accessible.

It was decided that `CProfile` should remain not user-accessible, and
only available thus by manual editing of Coq code to switch the flag
and manually instrument functions.

We thus remove all bitrotten dead code.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add an Ltac1 to Ltac2 FFI for identifiers.</title>
<updated>2021-03-26T14:51:08+00:00</updated>
<author>
<name>Pierre-Marie Pédrot</name>
</author>
<published>2021-03-24T17:00:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=7b4018dc480826373f6295e1d68a6418279f1a0e'/>
<id>7b4018dc480826373f6295e1d68a6418279f1a0e</id>
<content type='text'>
Before you ask, the Ltac2.Ltac1 module is voluntarily underdocumented.

Fixes #13996: missing Ltac1.to_ident.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before you ask, the Ltac2.Ltac1 module is voluntarily underdocumented.

Fixes #13996: missing Ltac1.to_ident.
</pre>
</div>
</content>
</entry>
<entry>
<title>Factorize goal selector handling</title>
<updated>2021-03-22T12:04:20+00:00</updated>
<author>
<name>Gaëtan Gilbert</name>
</author>
<published>2021-03-22T11:42:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=cbe88ec043df8dff118e437f00c0299a464c8e8a'/>
<id>cbe88ec043df8dff118e437f00c0299a464c8e8a</id>
<content type='text'>
As a bonus ltac2 can produce bullet suggestions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As a bonus ltac2 can produce bullet suggestions.
</pre>
</div>
</content>
</entry>
<entry>
<title>Move the responsibility of type-checking to the caller for tactic-in-terms.</title>
<updated>2021-03-12T18:16:55+00:00</updated>
<author>
<name>Pierre-Marie Pédrot</name>
</author>
<published>2021-03-12T17:30:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=5645beeab5801e86704c97b2cc8687b01c14acb8'/>
<id>5645beeab5801e86704c97b2cc8687b01c14acb8</id>
<content type='text'>
Instead of taking a type and checking that the inferred type for the expression
is correct, we simply pick an optional constraint and return the type directly
in the callback. This prevents having to compute type conversion twice in the
special case of Ltac2 variable quotations.

This should be 1:1 equivalent to the previous code, we are just moving code
around.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of taking a type and checking that the inferred type for the expression
is correct, we simply pick an optional constraint and return the type directly
in the callback. This prevents having to compute type conversion twice in the
special case of Ltac2 variable quotations.

This should be 1:1 equivalent to the previous code, we are just moving code
around.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix #12011 ssreflect "rewrite in" with setoids</title>
<updated>2021-03-04T00:11:19+00:00</updated>
<author>
<name>Gaëtan Gilbert</name>
</author>
<published>2021-02-26T16:35:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=0cb04b50bfde83001e59cd74da77142b567706d9'/>
<id>0cb04b50bfde83001e59cd74da77142b567706d9</id>
<content type='text'>
ssreflect asks setoid rewrite to rewrite in goal
"forall_special_name_ : T, _other_name_"

Since this is a non dependent product, setoid rewrite converts that to
"impl T _other_name_" and must be taught to restore the special name
when unfolding impl.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ssreflect asks setoid rewrite to rewrite in goal
"forall_special_name_ : T, _other_name_"

Since this is a non dependent product, setoid rewrite converts that to
"impl T _other_name_" and must be taught to restore the special name
when unfolding impl.
</pre>
</div>
</content>
</entry>
<entry>
<title>[build] Split stdlib to it's own opam package.</title>
<updated>2021-03-03T15:06:14+00:00</updated>
<author>
<name>Emilio Jesus Gallego Arias</name>
</author>
<published>2020-06-22T15:52:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=ab98d847d237af3cd0e46edef42218be65cfc98f'/>
<id>ab98d847d237af3cd0e46edef42218be65cfc98f</id>
<content type='text'>
We introduce a new package structure for Coq:

- `coq-core`: Coq's OCaml tools code and plugins
- `coq-stdlib`: Coq's stdlib [.vo files]
- `coq`: meta-package that pulls `coq-{core,stdlib}`

This has several advantages, in particular it allows to install Coq
without the stdlib which is useful in several scenarios, it also open
the door towards a versioning of the stdlib at the package level.

The main user-visible change is that Coq's ML development files now
live in `$lib/coq-core`, for compatibility in the regular build we
install a symlink and support both setups for a while.

Note that plugin developers and even `coq_makefile` should actually
rely on `ocamlfind` to locate Coq's OCaml libs as to be more robust.

There is a transient state where we actually look for both
`$coqlib/plugins` and `$coqlib/../coq-core/plugins` as to support
the non-ocamlfind plus custom variables.

This will be much improved once #13617 is merged (which requires this
PR first), then, we will introduce a `coq.boot` library so finally
`coqdep`, `coqchk`, etc... can share the same path setup code.

IMHO the plan should work fine.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We introduce a new package structure for Coq:

- `coq-core`: Coq's OCaml tools code and plugins
- `coq-stdlib`: Coq's stdlib [.vo files]
- `coq`: meta-package that pulls `coq-{core,stdlib}`

This has several advantages, in particular it allows to install Coq
without the stdlib which is useful in several scenarios, it also open
the door towards a versioning of the stdlib at the package level.

The main user-visible change is that Coq's ML development files now
live in `$lib/coq-core`, for compatibility in the regular build we
install a symlink and support both setups for a while.

Note that plugin developers and even `coq_makefile` should actually
rely on `ocamlfind` to locate Coq's OCaml libs as to be more robust.

There is a transient state where we actually look for both
`$coqlib/plugins` and `$coqlib/../coq-core/plugins` as to support
the non-ocamlfind plus custom variables.

This will be much improved once #13617 is merged (which requires this
PR first), then, we will introduce a `coq.boot` library so finally
`coqdep`, `coqchk`, etc... can share the same path setup code.

IMHO the plan should work fine.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge PR #13790: [vernac] Check that no proofs do remain open at section/module closing time</title>
<updated>2021-01-28T14:35:31+00:00</updated>
<author>
<name>coqbot-app[bot]</name>
</author>
<published>2021-01-28T14:35:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=90b79076305d8b9ceb92f81a99bf0a9d423903ee'/>
<id>90b79076305d8b9ceb92f81a99bf0a9d423903ee</id>
<content type='text'>
Reviewed-by: SkySkimmer
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewed-by: SkySkimmer
</pre>
</div>
</content>
</entry>
<entry>
<title>[ltac] break dependency on the STM</title>
<updated>2021-01-27T08:45:48+00:00</updated>
<author>
<name>Enrico Tassi</name>
</author>
<published>2020-11-17T17:52:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=1fd4c22d493715f154f6b79dc7f6e4efd44ff185'/>
<id>1fd4c22d493715f154f6b79dc7f6e4efd44ff185</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[vernac] Check that no proofs do remain open at section/module closing time</title>
<updated>2021-01-26T11:13:32+00:00</updated>
<author>
<name>Emilio Jesus Gallego Arias</name>
</author>
<published>2021-01-26T11:10:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=6e41dd8c6ba0279b9c882c02053c4d34eb251971'/>
<id>6e41dd8c6ba0279b9c882c02053c4d34eb251971</id>
<content type='text'>
Fixes #13755 .
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #13755 .
</pre>
</div>
</content>
</entry>
</feed>
