Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
Find a file
Leonardo de Moura 6916a8ceca fix(library/compiler/inliner): inliner was unfolding constants aggressively when trying to reduce projections
@digama0 After this commit, your example will also produce a
non-destructive update.

```lean
structure test :=
(data1 : array nat 3)
(data2 : array nat 3)
(sz: nat)

def test.write (s : test) (i : fin 3) (v : nat) :=
{s with data1 := s^.data1^.write i v, data2 := s^.data2^.write i v}

set_option trace.array.update true
  (fin.of_nat 1) 10 in
  (a^.data1^.read (fin.of_nat 1), a^.data2^.read (fin.of_nat 2)) -- destructive write
```
2017-03-09 18:52:27 -08:00
bin chore(bin/lean-gdb): fix macro pretty-printing 2017-03-06 11:02:50 -08:00
doc chore(*): remove last remnants of mpfr 2017-02-24 21:42:58 +01:00
extras chore(extra/latex/*): update to changes in syntax 2017-01-03 11:22:04 -08:00
images chore(CMakeLists.txt): move Lean logo to make sure we can test leanemacs without installing Lean 2015-01-31 17:38:49 -08:00
library chore(frontends/lean): rename transient commands 2017-03-09 18:41:19 -08:00
old_library refactor(gitignore): remove old ignore entries 2016-12-10 08:42:39 -08:00
script chore(frontends/lean): rename transient commands 2017-03-09 18:41:19 -08:00
src fix(library/compiler/inliner): inliner was unfolding constants aggressively when trying to reduce projections 2017-03-09 18:52:27 -08:00
tests chore(frontends/lean): rename transient commands 2017-03-09 18:41:19 -08:00
tmp feat(frontends/lean/pp): add attribute [pp_using_anonymous_constructor] for marking structures we should use the anonymous constructor notation when pretty printing instances 2017-03-09 15:17:18 -08:00
.appveyor.yml chore(CMakeLists): bumped master branch to 3.1.1 2017-02-25 18:12:04 -08:00
.appveyor.yml.in chore(travis,appveyor): remove mpfr 2017-02-24 21:41:59 +01:00
.codecov.yml feat(.travis.yml): add codecov 2016-12-02 17:01:58 -08:00
.gitignore chore(.gitignore): ignore VSCode config file 2016-12-18 12:35:25 -08:00
.travis.yml chore(CMakeLists): bumped master branch to 3.1.1 2017-02-25 18:12:04 -08:00
.travis.yml.in chore(travis,appveyor): remove mpfr 2017-02-24 21:41:59 +01:00
LICENSE
README.md chore(README.md): remove obsolete mpfr dependency 2017-02-24 21:39:30 +01:00

logo

LicenseWindowsLinux / macOSTest CoverageChat
Codecov Join the gitter chat

About

Requirements

Build Instructions

Miscellaneous