Sebastian Ullrich
4c650d23d4
chore(shell/CMakeLists): avoid overlapping make output
2019-07-03 08:30:18 -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
92466272ed
fix(library/init/lean/compiler/ir/emitcpp): incorrectly emitting unicode characters in the range [128, 255]
...
For example, "·" was being stored as `\xb7` which is not the valid UTF8.
2019-07-02 15:56:32 -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
e29bf35d15
chore(frontends/lean/builtin_exprs): remove hard coded (::) notation
2019-07-02 11:01:05 -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
7cfbf94ca6
chore(frontends/lean/parser): comma separated universe levels
...
Make sure old C++ parsers uses the new Lean4 syntax for explicit
universe levels.
2019-07-02 08:21:16 -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
5691450b5b
feat(library/init/lean/parser): term parser skeleton
2019-07-01 15:04:13 -07:00
Leonardo de Moura
531ef5d700
feat(library/init/lean/parser): universe level parser and bug fixes
2019-06-30 09:02:06 -07:00
Leonardo de Moura
4648be6451
feat(runtime/alloc): save memory using a smaller LEAN_OBJECT_SIZE_DELTA
2019-06-29 15:29:39 -07:00
Leonardo de Moura
a77c6f3917
chore(util/object_ref): style
2019-06-27 18:01:54 -07:00
Leonardo de Moura
91e1d30cf8
feat(frontends/lean/builtin_exprs): use ; in do-notation
2019-06-27 18:00:43 -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
557dd16864
chore(library,frontends/lean): remove old attribute manager
2019-06-27 14:01:34 -07:00
Leonardo de Moura
4e444a283d
feat(library/class): switch to Lean implementation
2019-06-27 13:51:09 -07:00
Leonardo de Moura
7049f4a889
feat(library/init/lean/class): register attributes and export functions
2019-06-27 13:27:13 -07:00
Leonardo de Moura
8399e41a5b
feat(library/class): simpler get_class function
...
It does not depend on `type_context.h`, and we will used it as a
template to implement the Lean version.
2019-06-27 10:42:14 -07:00
Leonardo de Moura
6727c1fa68
feat(library/compiler/specialize): switch to specExtension in Lean
2019-06-27 10:08:39 -07:00
Leonardo de Moura
235b4c02c1
feat(library/init/lean/compiler/specialize): implement specExtension in Lean
2019-06-27 09:58:19 -07:00
Leonardo de Moura
4bc0346c17
chore(library/init/lean/compiler): specializeattrs.lean ==> specialize.lean
2019-06-27 09:38:21 -07:00
Leonardo de Moura
3c0caee73b
chore(library/compiler/specialize): cleanup
...
Preparing to implement environment extension in Lean.
2019-06-27 09:32:25 -07:00
Leonardo de Moura
cf6f6bc96d
chore(stage0): update
2019-06-27 09:30:53 -07:00
Leonardo de Moura
dfa3b6d9af
chore(frontends/lean): compilation warnings
2019-06-27 08:00:48 -07:00
Leonardo de Moura
9037595ead
chore(stage0): update
2019-06-26 19:09:20 -07:00
Leonardo de Moura
bd58525080
chore(library/class): simplify
2019-06-26 16:51:36 -07:00
Leonardo de Moura
14f05d2001
feat(library/init/lean/compiler): register [implementedBy] attribute using new attribute manager
2019-06-26 15:55:51 -07:00
Leonardo de Moura
1f53c4fd33
feat(library/init/lean/eqncompiler): register [matchPattern] attribute using new attribute manager
2019-06-26 15:38:14 -07:00
Leonardo de Moura
14d77f8204
feat(library/compiler/specialize): use new attribute manager
2019-06-26 15:09:14 -07:00
Leonardo de Moura
3a1aff1687
feat(library/init/lean/compiler): register [specialize] and [nospecialize] attributes using new attribute manager
2019-06-26 15:08:12 -07:00
Leonardo de Moura
e6e71a1f79
chore(init/lean/compiler): inline.lean ==> inlineattrs.lean
2019-06-26 14:10:00 -07:00
Leonardo de Moura
105ca4f76b
feat(library/init/lean/compiler/inline): use EnumAttributes to declare inlining attributes
2019-06-26 14:01:30 -07:00
Leonardo de Moura
34ca44cca1
chore(frontends/lean,library): remove unnecessary #includes and dead code
2019-06-26 11:36:23 -07:00
Leonardo de Moura
e00dc873a8
chore(library/pattern_attribute): [pattern] ==> [matchPattern]
2019-06-26 11:26:49 -07:00
Leonardo de Moura
7e60c6063e
chore(library/compiler): remove dead code
2019-06-26 11:08:23 -07:00
Leonardo de Moura
5cfdd2452a
chore(library/init/lean/compiler/externattr): remove unnecessary [export] annotations
2019-06-26 11:06:38 -07:00
Leonardo de Moura
16d423dab6
feat(frontends/lean): switch to [extern] implemented in Lean
...
This commit also changes how we represent attribute parameters as
Syntax objects.
2019-06-26 10:57:33 -07:00
Leonardo de Moura
be6ca5ba30
feat(library/init/lean/compiler/externattr): @[extern] attribute in Lean
2019-06-26 08:42:57 -07:00
Leonardo de Moura
ff07ec70f4
core(library/projection): switch to Lean implementation
2019-06-26 08:12:06 -07:00
Leonardo de Moura
0e86ae7a8c
feat(library/init/lean): projection info in Lean
2019-06-26 07:57:10 -07:00
Leonardo de Moura
8a1e2bf79b
chore(library/projection): preparing to port projection_info to Lean
2019-06-25 13:17:59 -07:00
Leonardo de Moura
5148497e8c
feat(library/init/lean/compiler/externattr): add mkExternAttr skeleton
2019-06-25 13:16:11 -07:00
Leonardo de Moura
1972f9a426
fix(stage0): missing files
2019-06-25 11:23:34 -07:00
Leonardo de Moura
2e01ac508a
feat(library/init/lean/syntax): primitives for creating and testing string and nat literals
2019-06-25 10:39:23 -07:00
Leonardo de Moura
d870b8af85
chore(stage0): update
2019-06-25 09:18:38 -07:00
Leonardo de Moura
70a1589817
refactor(library/init/lean): move extern.lean to compiler subdirectory
2019-06-25 08:59:55 -07:00
Leonardo de Moura
6cb35bd8a1
chore(frontends/lean/elaborator): replace C++ elaborator attributes with new ones implemented in Lean
2019-06-25 08:37:19 -07:00
Leonardo de Moura
74f0c77915
feat(library/init/lean/elaborator): implement elaborator strategy attributes in Lean
2019-06-25 08:24:56 -07:00