Leonardo de Moura
128acd3b47
chore(library/init): remove @[extern cpp ...]
2019-08-24 07:40:38 -07:00
Leonardo de Moura
98e6e0c09a
feat(library/init): add "extern c" attributes
2019-08-20 11:53:46 -07:00
Leonardo de Moura
d00019f57e
chore(library/init): fix whitspaces before =>
2019-08-09 09:13:49 -07:00
Leonardo de Moura
4d913370a7
chore(library/init): eliminate whitespaces using another patch script
2019-08-09 09:01:39 -07:00
Sebastian Ullrich
3ed67138d5
chore(*): update equation syntax in files and old parser
...
for f in ../../**/*.lean; do echo $f; ./patch.lean.out $f > tmp && cat tmp > $f; done
2019-08-09 11:11:34 +02:00
Leonardo de Moura
86d7904ea7
chore(library/init/data/nat/basic): avoid empty set of equations
2019-07-16 13:13:04 -07:00
Leonardo de Moura
1a81d60820
chore(frontends/lean/parser): simplify binder notation
...
The `<ident> : <expr>` now requires explicit brackets.
2019-07-08 08:54:19 -07:00
Leonardo de Moura
ea6eee516b
chore(frontends/lean): use => instead of := in match-expressions
...
Motivation: use same separator used in lambda expressions as in
other programming languages.
2019-07-04 11:38:38 -07:00
Leonardo de Moura
07cff06b6e
chore(library): Π ==> ∀
2019-07-02 17:35:15 -07:00
Leonardo de Moura
0bee94886e
feat(frontends/lean/builtin_exprs): , from ==> from, and cleanup suffices
2019-07-02 17:22:50 -07:00
Leonardo de Moura
7ba9a5012a
chore(frontends/lean/builtin_exprs): make sure have-expression is consistent with let-expression
2019-07-02 16:46:51 -07:00
Leonardo de Moura
a02443d23d
chore(frontends/lean): fun x, e ==> fun x => e
2019-07-02 13:22:11 -07:00
Leonardo de Moura
39221adcd6
chore(frontends/lean/builtin_exprs): remove assume notation
2019-07-02 10:40:07 -07:00
Leonardo de Moura
300414e6e4
chore(frontends/lean): change explicit universe parameter notation in declarations
2019-07-02 08:57:08 -07:00
Leonardo de Moura
6841e47aa4
chore(frontends/lean/builtin_exprs): remove support for (<infix>) and (<infix> <expr>) notations
...
In Lean 4, we will support the more general
`a + ·` ==> `fun x, a + x`
`· + b` ==> `fun x, x + b`
`· + ·` ==> `fun x y, x + y`
`f · y` ==> `fun x, f a y`
`g · · b` ==> `fun x y, g x y b`
2019-07-02 08:06:06 -07:00
Leonardo de Moura
ab487ea4ac
feat(frontends/lean): allow ; instead of in in let-decls
2019-06-27 17:12:03 -07:00
Leonardo de Moura
94bca2b9d8
chore(library/init): mimize use of notations
2019-06-24 15:48:11 -07:00
Leonardo de Moura
dda0e38802
chore(library/init): avoid local notation
2019-06-24 15:48:11 -07:00
Leonardo de Moura
9e73d92e42
chore(library/init): remove instances of scoped notation
2019-06-20 14:08:35 -07:00
Leonardo de Moura
d2d2c32c81
feat(library/init/data/nat/bitwise): use lean::nat_land and lean::nat_lor
2019-05-31 21:55:57 -07:00
Leonardo de Moura
ef89945ea0
fix(library/init/lean/compiler/ir/emitcpp): tail call
...
Implement fix used at 4d2837430a in the new IR compiler.
2019-05-22 07:58:33 -07:00
Leonardo de Moura
83692eef6d
feat(library/init/lean/compiler/ir): explicit RC
2019-05-19 16:46:51 -07:00
Leonardo de Moura
251890b490
feat(library/init/control/combinators): add Nat.mfold and rename Nat.for => Nat.fold
2019-05-10 10:47:57 -07:00
Leonardo de Moura
49551036ed
refactor(library/init): minor changes
...
Old `Nat.repeat` => `Nat.for`
Old `Nat.mrepeat` => `Nat.mfor`
New `Nat.repeat` has type
```
def repeat {α : Type u} (f : α → α) (n : Nat) (a : α) : α :=
``
`List.repeat` => `List.replicate` (like in Haskell)
Avoid weird `ℕ` in List library
2019-03-29 10:39:00 -07:00
Leonardo de Moura
b66f5dcf5c
chore(library/init): avoid wf_term_hack
2019-03-27 12:12:21 -07:00
Leonardo de Moura
8225146aa2
chore(library/init/core): HasLt => HasLess, HasLe => HasLessEq, ...
2019-03-23 10:07:46 -07:00
Leonardo de Moura
3fe5cf1528
chore(library/init/core): remove another weirdness: the bs at bnot, band and bor
2019-03-22 12:57:31 -07:00
Leonardo de Moura
e31c3fde56
chore(library/init): remove dead code, lemma => theorem
2019-03-22 09:27:30 -07:00
Sebastian Ullrich
7615c9f92f
chore(library/init/core): style review of the first half
2019-03-21 15:06:45 -07:00
Sebastian Ullrich
b9edaf888f
chore(library/init/core): ne -> Ne, not -> Not
2019-03-21 15:06:45 -07:00
Leonardo de Moura
0b5862b6ce
chore(*): and => And
2019-03-21 15:06:44 -07:00
Leonardo de Moura
4c50859129
chore(*): or => Or
2019-03-21 15:06:44 -07:00
Leonardo de Moura
2be87ecd92
chore(library/init): Bool.tt => Bool.true and Bool.ff => Bool.false
2019-03-21 15:06:44 -07:00
Leonardo de Moura
2ea0baeb99
chore(library): use lowercase in imports
2019-03-21 15:06:44 -07:00
Leonardo de Moura
675003318e
chore(*): small fixes
2019-03-21 15:06:44 -07:00
Sebastian Ullrich
beda5f5f43
chore(library): capitalize types and namespaces
2019-03-21 15:06:43 -07:00
Sebastian Ullrich
f7aeeaf237
exclude export/extern, translate constants.txt
2019-03-21 15:06:43 -07:00
Sebastian Ullrich
b939162168
chore(library): switch from snake_case to camelCase
2019-03-21 15:06:43 -07:00
Leonardo de Moura
4ca9c6f22e
feat(runtime): add efficient fixpoint implementation
2019-03-10 10:09:57 -07:00
Leonardo de Moura
2032b10482
feat(library/init/data): bitwise operations
2019-03-09 10:19:35 -08:00
Leonardo de Moura
456ed23cc2
feat(library/init): use extern when declarating nat primitives
2019-02-12 18:12:29 -08:00
Leonardo de Moura
afc2569f7c
fix(library/init/data/nat/basic): tail recursive nat.repeat
2019-02-08 11:00:48 -08:00
Leonardo de Moura
835b3a10cc
chore(library/init): consistent names
2018-11-14 13:08:57 -08:00
Leonardo de Moura
34f01ff32e
chore(library/init/data/nat/basic): missing [specialize]
2018-10-31 14:44:23 -07:00
Leonardo de Moura
4bcb7051a8
chore(library/init/data/nat/basic): missing @[inline]
2018-10-03 17:24:53 -07:00
Sebastian Ullrich
fea637288d
fix(library/init/data/nat/basic,library/vm/vm_nat): regression in old compiler: primitive for nat equality was ignored
...
Improves parser performance by 26%
2018-09-14 16:33:04 -07:00
Leonardo de Moura
71dd8653bc
feat(library/init/core): decidable_eq is a proper class
...
We need this to take advantage of the new indexing structure we are
going to add to improve performance.
2018-09-07 16:38:11 -07:00
Leonardo de Moura
c48eaed9a4
chore(library): remove relation_manager
2018-09-07 12:35:04 -07:00
Leonardo de Moura
66adac6af6
chore(library/init): avoid calc at corelib
2018-08-27 12:17:30 -07:00
Leonardo de Moura
70fc656931
refactor(library/init/data/nat/basic): remove nat.less_than_or_equal inductive predicate
...
We now define nat.le using (nat.ble : nat -> nat -> bool) function.
We will add builtin support for reducing `nat.ble` efficiently when the arguments are the to be added nat literals.
2018-06-14 11:30:09 -07:00