Commit graph

29 commits

Author SHA1 Message Date
Leonardo de Moura
71f91cca23 chore: make sure isClass? return none when argument contains type errors
This is particularly useful for the delaborator when trying to pretty
print code that contains type errors.
2020-09-17 08:24:06 -07:00
Sebastian Ullrich
131f30f7a9 feat: pretty print tuples 2020-09-17 08:12:28 -07:00
Sebastian Ullrich
27d936ffa5 feat: pretty print structure instances 2020-09-17 08:12:28 -07:00
Sebastian Ullrich
6a91fb1613 fix: delaborating projections 2020-09-17 08:12:28 -07:00
Sebastian Ullrich
f09a83d38a fix: delaborating projections 2020-09-17 08:12:28 -07:00
Sebastian Ullrich
bacc77efa1 feat: delaborate builtin operators 2020-09-17 08:12:28 -07:00
Sebastian Ullrich
fd423bada7 fix: pretty print loose bound variables 2020-09-17 08:12:28 -07:00
Sebastian Ullrich
753b598232 fix: delaborator: ignore mdata by default 2020-09-17 08:12:28 -07:00
Sebastian Ullrich
c4812f6e7a feat: pretty print let 2020-09-17 08:12:28 -07:00
Sebastian Ullrich
4f5b59ad02 feat: pretty print shortened names (export/open/namespace/private) 2020-09-17 08:12:28 -07:00
Sebastian Ullrich
aae1f52580 fix: pretty print unknown fvars 2020-09-17 08:12:28 -07:00
Sebastian Ullrich
b54fe2e17a feat: hide optParams and autoParams by default 2020-09-17 08:12:28 -07:00
Sebastian Ullrich
78d3ea4ce3 feat: hide private names by default 2020-09-17 08:12:28 -07:00
Sebastian Ullrich
ab046db6ed feat: prettify mvars somewhat 2020-09-17 08:12:28 -07:00
Sebastian Ullrich
607227dc7f feat: delaborator: tolerate ill-typed terms (such as IR) 2020-09-17 08:12:28 -07:00
Sebastian Ullrich
4d2efd4d08 fix: HasOrelse (DelabM _) 2020-09-17 08:12:28 -07:00
Leonardo de Moura
49f5e4db20 refactor: cleanup 2020-08-24 17:47:27 -07:00
Leonardo de Moura
e391cb5b64 refactor: use internal exceptions instead of OptionT
@Kha: the motivations are

- Code is more uniform, and make sure we are using only `ReaderT` and
`StateRefT` on top of our basic monads.
- It is easier to support variants of `monadMap`. We don't need to
explain the system how these variants behave with `OptionT`.
2020-08-24 16:48:15 -07:00
Leonardo de Moura
ac565de96c refactor: add MonadMetaM class 2020-08-24 12:17:47 -07:00
Leonardo de Moura
5ffbada3df feat: add Lean.MonadEnv, Lean.MonadError, and Lean.MonadOptions
This is the first set of polymorphic methods. I will add more later,
and keep reducing code duplication.

cc @Kha
2020-08-22 16:00:43 -07:00
Leonardo de Moura
916b395d1b chore: cleanup 2020-08-21 09:29:09 -07:00
Leonardo de Moura
05a0e7f6d0 refactor: build all main monads on top of ECoreM 2020-08-20 18:36:04 -07:00
Sebastian Ullrich
eb5a171764 feat: adjust semantics to new syntax 2020-08-19 09:56:23 -07:00
Leonardo de Moura
f934a86646 feat: add (ref : Syntax) to Meta.Exception.other
@Kha The Syntax is here just to provide possition information. The
goal is to improve error message location information in code such as `DepElim`.
2020-08-06 09:40:16 -07:00
Sebastian Ullrich
1d725f7c83 feat: almost activate new pretty printer by default 2020-08-06 09:27:12 -07:00
Leonardo de Moura
cdd6e48315 fix: do not assume the prefix of a projection function name is the structure name 2020-07-16 11:10:20 -07:00
Leonardo de Moura
cbb14673ef chore: move RBTree and RBMap to Std 2020-06-25 13:26:16 -07:00
Leonardo de Moura
249bda16c0 chore: remove prelude commands from Lean package 2020-06-25 11:21:17 -07:00
Leonardo de Moura
4ccc3fef52 chore: move Init.Lean files to Lean package 2020-05-26 15:04:35 -07:00
Renamed from src/Init/Lean/Delaborator.lean (Browse further)