Commit graph

15 commits

Author SHA1 Message Date
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