Leonardo de Moura
db5fe843de
chore: add expandInterpolatedStr helper function, rename msg! => m!
2020-11-14 13:52:52 -08:00
Leonardo de Moura
cc7d7422db
fix: UInt ctors/fields in generated code
2020-11-14 12:50:32 -08:00
Leonardo de Moura
9acbc7bb7d
feat: declare subtype notation using syntax
2020-11-14 08:46:02 -08:00
Leonardo de Moura
e1551afbd8
feat: add macro "exists" xs:explicitBinders ", " b:term : term
...
The ASCII version
2020-11-14 08:21:47 -08:00
Leonardo de Moura
99fad9fc4d
feat: goodies for writing notation with binders
2020-11-14 07:32:44 -08:00
Leonardo de Moura
bed1582844
chore: remove workaround of the workaround
2020-11-14 07:04:17 -08:00
Leonardo de Moura
ffc4abed32
fix: UInt* and USize Inhabited instances
2020-11-13 16:30:48 -08:00
Leonardo de Moura
35f1844d16
feat: add ParserDescr.checkPrec
2020-11-13 16:00:31 -08:00
Leonardo de Moura
8c4ac7ccc1
refactor: rename LeanInit ==> Meta, and reduce dependencies
2020-11-13 16:00:31 -08:00
Leonardo de Moura
70385b87fa
feat: add instance MonadRef MacroM
2020-11-13 16:00:31 -08:00
Leonardo de Moura
396e767f3d
refactor: move Ref to Prelude and rename it to MonadRef
...
`MacroM` will implement `MonadRef` because
1- It will be easier to throw errors from macros
2- We will be able to `getRef` to retrieve the syntax node at macro
rules.
I renamed `Ref` to `MonadRef` to make it consistent with other classes
providing monadic methods (e.g. `MonadEnv`, `MonadState`, etc).
cc @Kha
2020-11-13 16:00:31 -08:00
Leonardo de Moura
f64d6c4514
feat: add ParserDescr.nodeWithAntiquot
2020-11-13 16:00:31 -08:00
Leonardo de Moura
65dafaf07c
fix: stdlib and tests
...
We also declare a few macros for the syntax command.
2020-11-12 07:12:30 -08:00
Leonardo de Moura
3f95541a32
chore: delete temporary ParserDescrNew
2020-11-11 19:02:21 -08:00
Leonardo de Moura
3bfc5248ca
chore: ParserDescrNew => ParserDescr
2020-11-11 18:57:49 -08:00
Leonardo de Moura
ba9a06dfc9
feat: compact ParserDescr
2020-11-11 18:52:26 -08:00
Leonardo de Moura
2eb76580f1
feat: add notation for coe
2020-11-11 16:39:01 -08:00
Leonardo de Moura
2537a2b84a
chore: implement list and array literals using syntax command
2020-11-11 13:50:25 -08:00
Leonardo de Moura
78da6b3aa2
chore: add space for pretty printer
2020-11-11 11:39:11 -08:00
Leonardo de Moura
100670e3b5
feat: add if-then-else macros
2020-11-11 11:15:31 -08:00
Leonardo de Moura
b882dff754
chore: do not use if-then-else notation at Prelude.lean
2020-11-11 10:37:19 -08:00
Leonardo de Moura
5490235447
chore: remove renamed functions
2020-11-11 10:14:26 -08:00
Leonardo de Moura
f17e226638
chore: naming convention
...
Example: `mkNameStr` => `Name.mkStr`
cc @Kha
2020-11-11 10:08:55 -08:00
Leonardo de Moura
df5b7fdc24
chore: naming convention
...
Use namespaces (e.g., `mkStxLit` ==> `Syntax.mkLit`)
cc @Kha
2020-11-11 09:55:23 -08:00
Leonardo de Moura
dbf99a17b6
chore: define notation using infix commands
2020-11-11 08:26:12 -08:00
Leonardo de Moura
f936fe306c
chore: fix annotation
2020-11-11 07:15:13 -08:00
Leonardo de Moura
bf7660ff5a
chore: avoid infix operators at Prelude.lean
...
We also fix the copyright date
2020-11-11 06:56:45 -08:00
Leonardo de Moura
9c9d65e640
chore: move definitions needed by macros to Prelude.lean
2020-11-11 06:56:45 -08:00
Leonardo de Moura
ccf69ae69d
fix: missing file
2020-11-11 05:56:47 -08:00
Leonardo de Moura
6ab0be952c
chore: merge src/Control files
...
Some of them were almost empty after the refactoring.
2020-11-10 18:47:23 -08:00
Leonardo de Moura
a8c791ecae
chore: remove dead files and functions
...
Remove obsolete combinators: `whenM`, `unlessM`, and `condM`
cc @Kha
2020-11-10 18:37:15 -08:00
Leonardo de Moura
cca3bad0bb
feat: add Prelude.lean
...
`Prelude.lean` has no dependencies, and
at the end of `Prelude`, the `syntax` and `macro` commands are operational.
2020-11-10 18:08:18 -08:00
Leonardo de Moura
c665d5e20a
chore: cleanup
2020-11-10 15:40:00 -08:00
Leonardo de Moura
7f364feeb5
chore: add Classical.lean, Equivalence, and cleanup
2020-11-10 14:55:34 -08:00
Leonardo de Moura
7e51020685
chore: move SizeOf to its own file
2020-11-10 14:43:03 -08:00
Leonardo de Moura
bd5c668347
feat: add helper functions for new Prelude.lean
2020-11-10 12:34:40 -08:00
Leonardo de Moura
1c01bd59be
chore: add numBitsEq
2020-11-10 11:59:16 -08:00
Leonardo de Moura
2daeb195b5
chore: use new names
2020-11-10 10:15:19 -08:00
Sebastian Ullrich
3d9f97574b
refactor: use and improve mkAppStx
2020-11-10 10:11:24 -08:00
Leonardo de Moura
fdb7db5650
chore: rename Eq.subst argument
2020-11-08 14:05:17 -08:00
Leonardo de Moura
a8a457b355
refactor: move getTailInfo/copyTailInfo/etc to LeanInit
2020-11-08 11:52:14 -08:00
Leonardo de Moura
4a3b9c75e1
feat: add Quote Bool instance
2020-11-08 08:07:17 -08:00
Leonardo de Moura
fc4d991707
feat: add allowTrailingSep parameter to ParserDescr.sepBy and ParserDescr.sepBy1
2020-11-08 07:51:10 -08:00
Leonardo de Moura
ef3f8c8723
feat: add funext tactic macro
2020-11-08 07:30:24 -08:00
Leonardo de Moura
34cba1ec2e
feat: add withPosition and checkCol constructors
2020-11-08 06:42:25 -08:00
Leonardo de Moura
2d2d39c78e
chore: use mut
2020-11-07 17:32:13 -08:00
Leonardo de Moura
81d6e065e7
chore: adjust files and tests
2020-11-07 17:32:12 -08:00
Leonardo de Moura
bf4d48f348
chore: cleanup for presentation
2020-11-05 12:43:02 -08:00
Leonardo de Moura
fa7fd4687c
feat: induction with multiple targets
2020-11-03 17:20:53 -08:00
Leonardo de Moura
7cbee83a8a
feat: add try tactic
2020-11-03 17:20:52 -08:00