Leonardo de Moura
f456e006dc
chore: test instance ... where
2020-11-23 18:24:23 -08:00
Leonardo de Moura
304c80d610
feat: use <|
2020-11-19 09:03:38 -08:00
Leonardo de Moura
c305c2691f
chore: use :=
2020-11-19 07:22:31 -08:00
Leonardo de Moura
77eaf17a47
refactor: move idDelta to Prelude.lean, add idRhs
2020-11-15 12:54:29 -08:00
Leonardo de Moura
dbf99a17b6
chore: define notation using infix commands
2020-11-11 08:26:12 -08:00
Leonardo de Moura
9c9d65e640
chore: move definitions needed by macros to Prelude.lean
2020-11-11 06:56:45 -08:00
Leonardo de Moura
cca3bad0bb
feat: add Prelude.lean
...
`Prelude.lean` has no dependencies, and
at the end of `Prelude`, the `syntax` and `macro` commands are operational.
2020-11-10 18:08:18 -08:00
Leonardo de Moura
c665d5e20a
chore: cleanup
2020-11-10 15:40:00 -08:00
Leonardo de Moura
7f364feeb5
chore: add Classical.lean, Equivalence, and cleanup
2020-11-10 14:55:34 -08:00
Leonardo de Moura
7e51020685
chore: move SizeOf to its own file
2020-11-10 14:43:03 -08:00
Leonardo de Moura
2daeb195b5
chore: use new names
2020-11-10 10:15:19 -08:00
Leonardo de Moura
fdb7db5650
chore: rename Eq.subst argument
2020-11-08 14:05:17 -08:00
Sebastian Ullrich
f56d81de32
chore: revert "chore: avoid .."
...
This reverts commit 60c0e7b3d4 .
2020-11-03 15:12:23 +01:00
Leonardo de Moura
60c0e7b3d4
chore: avoid ..
...
@Kha The parenthesizer generates an error when `..` is used in terms
2020-11-02 19:32:32 -08:00
Leonardo de Moura
bb99fc400a
chore: remove old crap
2020-11-02 19:16:23 -08:00
Leonardo de Moura
dfc346e76f
chore: remove obsolete attribute
2020-11-02 06:47:20 -08:00
Leonardo de Moura
806e8784e7
chore: cleanup Quot/Quotient
2020-11-01 09:12:24 -08:00
Leonardo de Moura
6858cb5fb6
chore: cleanup
2020-10-29 10:24:16 -07:00
Leonardo de Moura
86cb5cbdfe
chore: remove auxiliary definition for old frontend
2020-10-28 09:46:38 -07:00
Leonardo de Moura
898a08a0c1
chore: avoid Has prefix in type classes
...
closes #203
2020-10-27 18:29:19 -07:00
Leonardo de Moura
97c93ec557
chore: prepare to rename
2020-10-27 18:09:03 -07:00
Sebastian Ullrich
7696f71518
Revert "chore: avoid fun | ... => notation"
...
This reverts commit 8c6f536367 .
2020-10-27 16:50:58 +01:00
Leonardo de Moura
f89d34e0dc
chore: cleanup
2020-10-25 09:53:52 -07:00
Leonardo de Moura
8c6f536367
chore: avoid fun | ... => notation
...
@Kha the pretty printer fails when we use the `fun+match` macro. Example:
```
fun
| PSum.inl a => 1 + sizeof a
| PSum.inr b => 1 + sizeof b
```
The test `Reparen.lean` fails without this commit. Here is the error message
```
error: no known parenthesizer for kind 'Lean.Parser.Term.matchAlts'
```
2020-10-25 09:36:44 -07:00
Leonardo de Moura
1d338c4fc4
chore: move Core.lean to new frontend
2020-10-25 08:54:37 -07:00
Leonardo de Moura
0d99c92886
chore: use motive to name the motive of Eq.ndrec and friends
2020-10-23 05:34:26 -07:00
Leonardo de Moura
fac2849e50
feat: forIn for PersistentArray
2020-10-20 09:33:50 -07:00
Leonardo de Moura
7bfa39ae45
fix: for .. in .. do notation and universe constraints
...
We use `MProd` instead of `Prod` to group values when expanding the
`do` notation. `MProd` is a universe monomorphic product.
The motivation is to generate simpler universe constraints in code
that was not written by the user but generated by the `do` macro.
Note that we are not really restricting the macro power since the
`HasBind.bind` combinator already forces values computed by monadic
actions to be in the same universe.
The new test cannot be compiled without this modication.
2020-10-18 18:05:00 -07:00
Leonardo de Moura
0b81ffb569
refactor: factor out nested do term support and document code
...
We currently use the nested `do` terms for two combinators: `catch`
and `finally`. We may want to support more in the future.
2020-10-09 11:59:14 -07:00
Leonardo de Moura
8a6cb1842f
feat: expand doTry
...
@Kha I did not implement support for reassignments and `continue`,
`break`, `return` inside the `finally` clause. It is doable, but it
feels like unnecessary complexity. We currently don't have any
instance in our code base where this would be useful.
2020-10-08 19:39:36 -07:00
Leonardo de Moura
5b76155318
feat: new return semantics
...
`return e` is not equivalent to `pure e` anymore.
Now, `return e` means "return value `e` as the result of the root `do` block".
2020-10-07 14:07:58 -07:00
Leonardo de Moura
b4289d5c5d
feat: add DoResult
2020-10-03 15:38:30 -07:00
Leonardo de Moura
21d90afa43
feat: add ForInStep type
2020-10-03 15:16:45 -07:00
Sebastian Ullrich
ab6b6ac3ba
feat: add dedicated task priority
2020-09-29 08:01:10 -07:00
Sebastian Ullrich
562c7ed5ce
feat: expose task priorities
2020-09-29 08:01:10 -07:00
Sebastian Ullrich
77cbaa752c
fix: Task: make reference and -j0 semantics eager, simplify
2020-09-14 17:57:33 +02:00
Leonardo de Moura
27170cddb9
feat: mark Lean.ofReduceBool and Lean.ofReduceNat as axioms
...
The idea is to inform users whether their trust code base depends on
the compiler, interpreter, `[implementedBy]` and `[extern]`
annotations.
2020-08-28 12:22:12 -07:00
Leonardo de Moura
f8db5d2652
fix: must use lean_mk_task_own
2020-08-27 12:21:10 -07:00
Leonardo de Moura
5a09883cc7
chore: add namedPattern
2020-08-11 15:04:09 -07:00
Leonardo de Moura
447000a797
fix: >>= associativity
2020-08-03 14:00:19 -07:00
Leonardo de Moura
09eb27404f
chore: remove <$ and $> notation
...
cc @Kha
2020-06-15 14:52:31 -07:00
Leonardo de Moura
f23780a334
chore: add hack for allowing old and new frontends to parse Core.lean
2020-06-09 14:11:34 -07:00
Leonardo de Moura
e62e30ad0f
chore: remove whitespace
2020-06-09 14:11:34 -07:00
Leonardo de Moura
50990b99d6
chore: remove unnecessary annotations
2020-05-12 15:02:03 -07:00
Leonardo de Moura
ebfa362507
chore: fix HasOfNat
2020-05-12 15:02:03 -07:00
Leonardo de Moura
33a10130cf
chore: fix stdlib
2020-05-12 15:02:03 -07:00
Leonardo de Moura
7a5fcfae8b
feat: add [recursor] attribute to Iff.elim
2020-04-09 10:45:27 -07:00
Leonardo de Moura
596a547e57
feat: add helper theorems
2020-03-16 11:17:41 -07:00
Leonardo de Moura
2d7ec0b49c
fix: bug at unsafe umapMAux implementation
...
closes #125
2020-03-14 13:41:14 -07:00
Leonardo de Moura
2e6fac2853
feat: add support for reduceBool and reduceNat in the kernel type_checker
2020-03-14 12:13:22 -07:00