<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coq/clib, branch master</title>
<subtitle>The formal proof system</subtitle>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/'/>
<entry>
<title>Make critical sections safe in the presence of exceptions</title>
<updated>2021-04-09T19:05:43+00:00</updated>
<author>
<name>Lasse Blaauwbroek</name>
</author>
<published>2021-04-01T07:18:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=520ac61dfe5a6e865cb7b10f4a822c0d72f3ded9'/>
<id>520ac61dfe5a6e865cb7b10f4a822c0d72f3ded9</id>
<content type='text'>
We introduce the `with_lock` combinator that locks a mutex in an atomic fashion.
This ensures that exceptions thrown by signals will not leave the system in a
deadlocked state.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We introduce the `with_lock` combinator that locks a mutex in an atomic fashion.
This ensures that exceptions thrown by signals will not leave the system in a
deadlocked state.
</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>Fast path in tclPROGRESS.</title>
<updated>2020-12-11T17:28:05+00:00</updated>
<author>
<name>Pierre-Marie Pédrot</name>
</author>
<published>2020-12-11T17:21:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=cade097ff6e5670b5f4c3ea832b593cf88251fbd'/>
<id>cade097ff6e5670b5f4c3ea832b593cf88251fbd</id>
<content type='text'>
We first check that the list of goals have the same length before trying to
engage into potentially costly equality checks.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We first check that the list of goals have the same length before trying to
engage into potentially costly equality checks.
</pre>
</div>
</content>
</entry>
<entry>
<title>Micro-optimizations of the tight loop in Hashset.</title>
<updated>2020-11-29T16:34:04+00:00</updated>
<author>
<name>Pierre-Marie Pédrot</name>
</author>
<published>2020-11-28T13:00:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=d3777b586419c676c0b78fe135cd3d264538fd3c'/>
<id>d3777b586419c676c0b78fe135cd3d264538fd3c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Adding Array.iter3.</title>
<updated>2020-11-16T19:08:26+00:00</updated>
<author>
<name>Hugo Herbelin</name>
</author>
<published>2020-09-05T17:41:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=213207a1612d311f2f60d7e498ebd53a13ce039b'/>
<id>213207a1612d311f2f60d7e498ebd53a13ce039b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge PR #13226: Restore the List.Smart.map original implementation.</title>
<updated>2020-10-27T20:33:46+00:00</updated>
<author>
<name>coqbot-app[bot]</name>
</author>
<published>2020-10-27T20:33:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=96354508a50f12a2af49bd95073c6a24cea69713'/>
<id>96354508a50f12a2af49bd95073c6a24cea69713</id>
<content type='text'>
Reviewed-by: gares
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewed-by: gares
</pre>
</div>
</content>
</entry>
<entry>
<title>Restore the List.Smart.map original implementation.</title>
<updated>2020-10-19T13:48:28+00:00</updated>
<author>
<name>Pierre-Marie Pédrot</name>
</author>
<published>2020-10-19T13:44:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=dcb325fd6ef432cd3717264c1547b94c7da2f396'/>
<id>dcb325fd6ef432cd3717264c1547b94c7da2f396</id>
<content type='text'>
Commit 56ff0c9 mangled the code claiming to make it tail-rec, but this is not
the case. In addition to make the code convoluted it also over-allocates for
nothing and breaks the write barrier for fun.

We simply rollback to the (slightly cleaned-up) previous code, that was simpler,
likely faster, and as much tail-rec as the one introduced in 56ff0c9.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit 56ff0c9 mangled the code claiming to make it tail-rec, but this is not
the case. In addition to make the code convoluted it also over-allocates for
nothing and breaks the write barrier for fun.

We simply rollback to the (slightly cleaned-up) previous code, that was simpler,
likely faster, and as much tail-rec as the one introduced in 56ff0c9.
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid magic numbers</title>
<updated>2020-10-03T18:53:32+00:00</updated>
<author>
<name>Jim Fehrle</name>
</author>
<published>2020-10-03T18:53:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=71fe84d0d6dc8e646332cc5790308de2f8f0fdab'/>
<id>71fe84d0d6dc8e646332cc5790308de2f8f0fdab</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[lib] make canonical_path_name always absolute (fix #13031)</title>
<updated>2020-09-18T11:59:30+00:00</updated>
<author>
<name>Enrico Tassi</name>
</author>
<published>2020-09-18T11:59:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=2b258e90df02448341c051ac21b84cf1c7c20428'/>
<id>2b258e90df02448341c051ac21b84cf1c7c20428</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[numeral] [plugins] Switch from `Big_int` to ZArith.</title>
<updated>2020-08-27T17:03:33+00:00</updated>
<author>
<name>Emilio Jesus Gallego Arias</name>
</author>
<published>2018-10-16T12:55:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=094e4649c29e2426daca0476c140439de901dafe'/>
<id>094e4649c29e2426daca0476c140439de901dafe</id>
<content type='text'>
We replace Coq's use of `Big_int` and `num` by the ZArith OCaml
library which is a more modern version.

We switch the core files and easy plugins only for now, more complex
numerical plugins will be done in their own commit.

We thus keep the num library linked for now until all plugins are
ported.

Co-authored-by: Vincent Laporte &lt;Vincent.Laporte@fondation-inria.fr&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We replace Coq's use of `Big_int` and `num` by the ZArith OCaml
library which is a more modern version.

We switch the core files and easy plugins only for now, more complex
numerical plugins will be done in their own commit.

We thus keep the num library linked for now until all plugins are
ported.

Co-authored-by: Vincent Laporte &lt;Vincent.Laporte@fondation-inria.fr&gt;
</pre>
</div>
</content>
</entry>
</feed>
