Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
Find a file
Gabriel Ebner 36dc037d65 perf(util/rc): do not use fences
As suggested by David Chisnall.  If I read the spec correctly, it would
be unsafe to use the release ordering for dec_ref_core: then the
following situation could happen:

```c++
// m_rc -> 2

// Thread 1:
unsigned x = atomic_fetch_sub_explicit(&m_rc, 1u, memory_order_release);

// Thread 2:
unsigned y = atomic_fetch_sub_explicit(&m_rc, 1u, memory_order_release);

// x = y = 1u, m_rc -> 2
```

That is, a release store operation is not required to be visible to
another release operation.

Herb Sutter also recommends the acq_rel ordering for reference counters.
2017-07-28 18:31:04 +01:00
.github chore(.github/ISSUE_TEMPLATE): typo 2017-07-14 08:02:08 +01:00
bin dist: add leanpkg.bat script for invocation on Windows 2017-07-20 21:50:23 +01:00
doc perf(frontends/lean): add notation #[...] 2017-07-21 04:20:48 -07:00
extras/latex chore(extras/depgraph): remove leandeps 2017-07-15 02:27:17 -07:00
images
leanpkg feat(leanpkg): make test imply build 2017-07-27 10:15:42 +02:00
library chore(init/data/int/basic): define nat_abs using equation compiler 2017-07-28 16:47:53 +01:00
script chore(script/deploy_gh_pages): --reset-author 2017-07-27 10:23:16 +02:00
src perf(util/rc): do not use fences 2017-07-28 18:31:04 +01:00
tests chore(library/standard): remove standard.lean (unused, and confusing given stdlib) 2017-07-28 16:47:53 +01:00
tmp feat(frontends/lean,library/equations_compiler): store tactics for generating well founded relation and decreasing proofs 2017-05-23 15:00:29 -07:00
.appveyor.yml chore(.appveyor.yml,.travis.yml): simplify using glob patterns 2017-07-26 17:13:34 +02:00
.clang-format feat(library/vm/process): add basic process support 2017-03-28 18:08:06 -07:00
.codecov.yml fix(.codecov.yml): do not fail github ci if coverage drops by 0.01% 2017-06-25 10:35:02 +02:00
.gitignore chore(gitignore): ignore nix files 2017-06-19 13:16:04 +02:00
.travis.yml chore(.appveyor.yml,.travis.yml): simplify using glob patterns 2017-07-26 17:13:34 +02:00
LICENSE
README.md feat(doc/export_format): advertise trepplein 2017-07-15 22:49:24 +01:00