Leonardo de Moura
21d90afa43
feat: add ForInStep type
2020-10-03 15:16:45 -07:00
Leonardo de Moura
4fae8588fd
test: optional ';'
2020-09-28 17:11:00 -07:00
Leonardo de Moura
db7633e156
test: forIn using . notation instead of type classes
2020-09-27 08:27:05 -07:00
Leonardo de Moura
e30249c2d2
chore: add workarounds to forIn experiment
2020-09-27 08:20:58 -07:00
Leonardo de Moura
2754d78749
proto: type classes for the for in notation
2020-09-25 18:48:23 -07:00
Sebastian Ullrich
95e24371f5
test: final webserver demo
2020-06-25 10:48:38 +02:00
Leonardo de Moura
43df7b75cb
chore: PLDI examples
2020-06-17 21:28:37 -07:00
Leonardo de Moura
0c6d6f1ff1
chore: fix test
2020-06-17 21:28:37 -07:00
Sebastian Ullrich
fff0cdc0ec
test: Webserver: maybe-final version
2020-06-17 17:37:08 +02:00
Sebastian Ullrich
3c547db67c
test: Webserver: introduce antiquotations for custom parsers, remove Prelim namespace
...
/cc @leodemoura
2020-06-17 11:54:41 +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
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
Sebastian Ullrich
ade961bcf3
test: webserver demo
2020-06-16 22:10:43 +02:00
Sebastian Ullrich
e6b988a10a
feat: add natural language demo
2020-06-13 16:20:23 +02:00
Leonardo de Moura
17b6957f6c
chore: fix tests
2020-05-26 15:05:01 -07:00
Leonardo de Moura
9c0bd9dd41
chore: fix tests
2020-05-26 15:05:00 -07:00
Sebastian Ullrich
b1d9e37d66
test: add re-elaborating delaborator PoC to playground
2020-03-19 17:18:46 -07:00
Leonardo de Moura
434c148800
test: add termElab attribute test
2020-01-01 14:16:49 -08:00
Leonardo de Moura
6c04a4bcc3
feat: mkElabAttribute
2020-01-01 10:59:29 -08:00
Leonardo de Moura
dd4bed3c6f
test: simple termParser attribute test
2019-12-31 17:03:11 -08:00
Leonardo de Moura
c6048f0f94
feat: generalize binInsert
2019-11-23 08:20:20 -08:00
Leonardo de Moura
886eb3f51f
test: add foldUnify and getUnify
...
These are the primitives we need for retrieving candidate instances.
2019-11-23 06:24:09 -08:00
Leonardo de Moura
30c05416a4
test: add foldMatch and getMatch
...
These are the primitives we need for retrieving candidate simp lemmas.
2019-11-23 06:24:03 -08:00
Leonardo de Moura
ad837950d9
test: discrimination tree prototype
2019-11-22 18:41:07 -08:00
Sebastian Ullrich
3dcd4febd9
feat: make LEAN_PATH a mapping from package names to root dirs, remove C++ impl
2019-11-20 16:39:53 +01:00
Leonardo de Moura
38d9a7c063
test: interpreter bug
...
@Kha Could you please take a look at this repro?
When I use the compiler,
```
./run.sh usizeBug.lean
```
I get the expected answer: `2`.
When I use the interpreter,
```
../../bin/lean --run usizeBug.lean
```
I get `1`. I found the problem today, and managed to isolate the
problem to this small repro.
2019-11-18 18:12:33 -08:00
Leonardo de Moura
524872d68a
chore: avoid Expr constructors in tests
2019-11-14 16:54:36 -08:00
Sebastian Ullrich
9b55687597
fix: show #eval errors
2019-10-18 13:10:13 +02:00
Leonardo de Moura
4db4b26de6
test(tests): use #eval and move tests
2019-09-19 14:38:52 -07:00
Leonardo de Moura
eebc722f57
feat(library/init/lean/expr): add abstractRange
2019-09-17 17:17:46 -07:00
Leonardo de Moura
75e5f5bfd8
feat(library/init/lean/expr): expose abstract
2019-09-16 18:34:45 -07:00
Leonardo de Moura
6d7041fcb4
test(tests/playground/inst): add instantiate and instantiateRev simple tests
2019-09-16 18:30:35 -07:00
Leonardo de Moura
bd7ee8b01b
feat(library/init/lean/elaborator/term): add elabList, and fix elabTermAux
2019-09-14 08:41:49 -07:00
Sebastian Ullrich
e5ef6eae1f
chore(tests/playground/task_testX): update syntax
2019-09-12 18:26:15 +02:00
Leonardo de Moura
61a3ea61c4
perf(library/init/lean/compiler/ir/boxing): create auxiliary constants for caching the value of boxed/unboxed literals and constants
...
For example, in the new test `qsort64.lean`, the new optimization
prevents the repeated execution of `box UInt64.inhabited`.
On my machine
```
./run.sh qsort64.lean 2000000
```
Goes from 1.22s to 0.355s
2019-09-11 10:37:35 -07:00
Sebastian Ullrich
572926f5ce
perf(shell/CMakeLists.txt, tests/): define NDEBUG in leanc release builds
...
`assert` is now being used by the C runtime
2019-08-27 16:54:29 +02:00
Leonardo de Moura
f8199bb540
fix(library/playground/patch): updateArgs => modifyArgs
2019-08-09 16:05:29 -07:00
Leonardo de Moura
92da659ec7
feat(library/init/data/persistenthashmap/basic): add PersistentHashMap.contains
2019-08-09 11:25:01 -07:00
Leonardo de Moura
d00019f57e
chore(library/init): fix whitspaces before =>
2019-08-09 09:13:49 -07:00
Leonardo de Moura
4d913370a7
chore(library/init): eliminate whitespaces using another patch script
2019-08-09 09:01:39 -07:00
Sebastian Ullrich
3ed67138d5
chore(*): update equation syntax in files and old parser
...
for f in ../../**/*.lean; do echo $f; ./patch.lean.out $f > tmp && cat tmp > $f; done
2019-08-09 11:11:34 +02:00
Leonardo de Moura
022a130b86
feat(tests/playground/patch): path equation syntax
2019-08-08 20:57:54 -07:00
Leonardo de Moura
849311af00
test(tests/playground/patch): do-nothing transformer
2019-08-08 10:47:19 -07:00
Leonardo de Moura
4bd347de3a
feat(library/init/data/persistentarray/basic): PersistentArray.pop
2019-08-04 11:50:05 -07:00
Leonardo de Moura
3c5a30649d
feat(library/init/data/persistenthashmap/basic): add PersistentHashMap.erase
2019-08-02 13:31:29 -07:00
Leonardo de Moura
c371b43970
feat(library/init/data): add PersistentHashMap
2019-08-02 13:31:29 -07:00
Leonardo de Moura
fe9908cad3
chore(tests/playground/persistentarray): fix test
2019-07-31 16:02:21 -07:00
Leonardo de Moura
798bbc0662
feat(library/init/system/io): new primitives
2019-07-25 18:12:44 -07:00
Sebastian Ullrich
aef4a7159b
chore(*): remove obsolete leanpkg.path files
2019-07-25 17:46:53 -07:00
Leonardo de Moura
77a59f4998
feat(library/init/io): add IO.getEnv
2019-07-25 08:31:23 -07:00