Sebastian Ullrich
c38f4fe837
feat: unsafe functions for freeing compacted regions
2020-07-10 07:42:26 -07:00
Sebastian Ullrich
ebd72d200f
fix: alloc/free mismatch detected by asan
2020-07-10 07:42:26 -07:00
Leonardo de Moura
f559576994
feat: inductive datatype header validation
2020-07-09 15:34:25 -07:00
Leonardo de Moura
a488ec903e
fix: remove old assertions
2020-07-08 12:45:53 -07:00
Leonardo de Moura
707ca63f87
chore: remove leftover MK_THREAD_LOCAL_GET
...
cc @Kha
2020-07-08 11:58:22 -07:00
Leonardo de Moura
d044e9f47e
chore: remove instance cache
...
If the missing cache generates perf problems in the future, we should
add the cache at `MetaM`.
cc @Kha
2020-07-08 09:40:34 -07:00
Sebastian Ullrich
b40ef65b39
feat: add IO.eprint(ln) for printing to stderr
...
Most useful when stdout is being consumed by another program
2020-07-06 09:22:47 -07:00
Sebastian Ullrich
0f6b9f5c94
chore: clean up stage 0 executable build
...
Previously we were building identical libInit/Std/Lean.a from the same stage0/stdlib sources. Now we simply link
everything right into libleancpp.a, again.
2020-07-03 19:26:00 +02:00
Leonardo de Moura
36c971546c
feat: add elabMutualInductive
2020-06-26 15:41:09 -07:00
Leonardo de Moura
30f03ad18c
feat: add mutual syntax
2020-06-26 12:47:43 -07:00
Leonardo de Moura
1ad5b5984a
feat: add Inductive.lean
2020-06-26 12:44:13 -07:00
Leonardo de Moura
b6f6e44f7c
fix: build
...
@Kha It is not clear why this change fixed the build on my
Linux (running on VirtualBox). The issue seems to be due
circular dependencies between the static libraries, and the order the
static libraries are processed. Note that the build worked on my OSX
without this change.
2020-06-25 15:30:11 -07:00
Leonardo de Moura
b291c36a1f
chore: cleanup
2020-06-25 13:30:47 -07:00
Leonardo de Moura
cbb14673ef
chore: move RBTree and RBMap to Std
2020-06-25 13:26:16 -07:00
Leonardo de Moura
11ed7c6195
chore: move PersistentArray to Std
2020-06-25 13:02:21 -07:00
Leonardo de Moura
02aa8498cd
chore: move AssocList to Std
2020-06-25 12:52:23 -07:00
Leonardo de Moura
1612097788
chore: move HashMap and HashSet to Std
2020-06-25 12:46:56 -07:00
Leonardo de Moura
1be221a1f4
chore: move PersistentHashMap and PersistentHashSet to Std
2020-06-25 11:56:00 -07:00
Leonardo de Moura
2dd1d3ac3e
chore: move ShareCommon to Std
2020-06-25 11:45:29 -07:00
Leonardo de Moura
59c082ef1a
chore: move Stack and Queue to Std
2020-06-25 11:35:09 -07:00
Leonardo de Moura
18431d7b52
chore: move DList to Std
2020-06-25 11:31:04 -07:00
Leonardo de Moura
249bda16c0
chore: remove prelude commands from Lean package
2020-06-25 11:21:17 -07:00
Leonardo de Moura
decab1ea57
fix: missing import
2020-06-25 11:20:47 -07:00
Sebastian Ullrich
81376d3902
feat: allow capturing expected type in elab
...
/cc @leodemoura
2020-06-25 14:58:45 +02:00
Sebastian Ullrich
51e4b49ba6
feat: allow arbitrary syntax in macro/elab
2020-06-25 13:54:11 +02:00
Leonardo de Moura
80bb6f174d
feat: expand elab command
...
cc @Kha
2020-06-24 20:16:56 -07:00
Leonardo de Moura
cefbc27720
feat: add elab and elab_rules command syntax
2020-06-24 18:34:23 -07:00
Leonardo de Moura
196435c73b
chore: use new fun syntax in old pretty printer
2020-06-17 21:28:03 -07:00
Leonardo de Moura
7ece1172a3
chore: remove TODOs
2020-06-17 21:28:03 -07:00
Leonardo de Moura
dbbacb3bfd
chore: remove comment from Linter
...
Old frontend is just providing `Syntax.missing`
2020-06-17 21:28:03 -07:00
Sebastian Ullrich
52f2f04dff
chore: leanmake: don't use CMake-like output by default
2020-06-17 18:20:05 +02:00
Sebastian Ullrich
9739356b91
fix: let syntax in old pretty printer
...
/cc @leodemoura
I didn't remove support for let binding groups, but that's good enough for the time being
2020-06-17 18:01:18 +02:00
Leonardo de Moura
0c089b8cbd
feat: elaborate syntaxAbbrev as a definition
...
@Kha I elaborated it as a definition. It works because we can now
reference Parser declarations in `syntax` command.
This change allowed us to replace `p.getArg 0` with `p` in the
`Websever` demo.
2020-06-16 15:43:17 -07:00
Leonardo de Moura
b01a923281
chore: throw error if a precedence is used with a parser declaration
2020-06-16 15:26:38 -07:00
Leonardo de Moura
18cd41f902
feat: add syntaxAbbrev
2020-06-16 15:18:10 -07:00
Leonardo de Moura
3e028e3812
feat: allow syntax command to use existing parser declarations
...
@Kha Note that I had to change the pattern. After I replaced,
```
syntax text : child
```
with
```
syntax Prelim.text : child
```
Thus, I wrote
```
`(child|$t:text)
```
as
```
`(child|$t)
```
It works for this example, but it may be a problem in general.
2020-06-16 15:08:23 -07:00
Leonardo de Moura
c6e7ea8fd5
feat: add ParserDescr.parser constructor for embedding parser definitions into parser descriptions
2020-06-16 14:06:46 -07:00
Leonardo de Moura
f61e4ffbbd
chore: ParserDescr.parser ==> ParserDescr.cat
2020-06-16 13:40:16 -07:00
Sebastian Ullrich
4b84f8fa88
fix: nullary attributes in new frontend
2020-06-16 21:59:40 +02:00
Sebastian Ullrich
52d966f70b
feat: #eval
2020-06-16 10:41:42 -07:00
Sebastian Ullrich
6404af6983
feat: IO.Prim.withIsolatedStreams
2020-06-16 10:41:42 -07:00
Sebastian Ullrich
f5015c9bc1
feat: adjust fun/do precedence in old frontend
2020-06-16 10:41:42 -07:00
Leonardo de Moura
392d078011
feat: declare quotation parser for new parsing category
...
@Kha We can now delete the command
```
@[termParser] def childStxQuot : Parser :=
checkPrec maxPrec >> (node `Lean.Parser.Term.stxQuot $ symbol "`(child|" >> categoryParser `child 0 >> symbol ")")
```
from the web demo.
2020-06-16 10:38:37 -07:00
Sebastian Ullrich
b3d2e51aff
feat: generalize tactic/command macro syntax
2020-06-16 19:21:48 +02:00
Sebastian Ullrich
cfd1900625
fix: #eval: redirect stdout/stderr
2020-06-16 12:06:53 +02:00
Sebastian Ullrich
f4c28fbe5f
chore: remove unnecessary getByte/putByte IO primitives
2020-06-16 12:06:53 +02:00
Simon Hudon
a64e78b90b
feat: add std streams
...
Co-authored-by: Sebastian Ullrich <sebasti@nullri.ch>
2020-06-16 12:06:53 +02:00
Sebastian Ullrich
1ccaadfcf0
feat: add #eval syntax
2020-06-16 10:56:47 +02:00
Leonardo de Moura
09eb27404f
chore: remove <$ and $> notation
...
cc @Kha
2020-06-15 14:52:31 -07:00
Leonardo de Moura
53dfd0d581
fix: expandMacroFns
...
We only keep trying other macros if the macro `m` produced
`unsupportedSyntax`. If the macro produced an error, we keep the
error.
@Kha This should fix the web demo.
2020-06-15 14:39:36 -07:00