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
a02443d23d
chore(frontends/lean): fun x, e ==> fun x => e
2019-07-02 13:22:11 -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
89ab07a4b0
refactor(library/init/lean/environment): more flexible PersistentEnvExtensionState
...
The previous API was not flexible enough to implement the new
`AttributeManager` with all "bells and whistles" we want.
For example, the new `addImportedFn` field allows us to initialize
the state for the imported entries using a `Thunk`.
2019-06-04 16:35:21 -07:00
Leonardo de Moura
0a08569b46
feat(library/init/lean/environment): remove lazy, add addImported field to PersistentEnvExtension
...
It seems `lazy := false` is only going to be used in the attribute
manager. So, I remove it. I added a new field `addImported : Bool`
instead. An extension can specify whether `addEntryFn` is going to be
invoked or not for imported entries. `addImported := false` is useful for extensions such
as `protected`, and I will use it in the attribute manager too.
2019-06-03 16:45:27 -07:00
Leonardo de Moura
5a72368967
feat(library/init/lean/compiler/ir): improve checker
2019-05-21 13:18:56 -07:00
Leonardo de Moura
b0e7b05f63
feat(library/init/lean/compiler/ir/emitcpp): add entry point
2019-05-20 09:50:57 -07:00
Leonardo de Moura
300c251b49
feat(library/init/lean/compiler/ir): add explicitBoxing to new IR compiler stack
2019-05-19 08:10:45 -07:00
Leonardo de Moura
ca818e6850
feat(library/init/lean/compiler/ir): add borrow inference
2019-05-18 10:48:26 -07:00
Leonardo de Moura
c9bcd4990c
feat(library/compiler): register extern constants into the new IR
2019-05-17 17:12:51 -07:00
Leonardo de Moura
66d4995c56
feat(library/init/lean/compiler/ir/compilerm): add ' versions
2019-05-17 16:37:21 -07:00
Leonardo de Moura
ac69f802e1
feat(library/compiler): interface with new IR compiler entry point
2019-05-16 15:41:47 -07:00
Leonardo de Moura
5482a11642
feat(library/init/lean/compiler/ir/default): add new entry point
2019-05-16 10:20:00 -07:00
Leonardo de Moura
2d065c7ded
feat(library/init/lean/compiler/ir): add Lean.IR.CompilerM
...
and environment extension for storing Lean IR declarations.
2019-05-16 10:20:00 -07:00