Commit graph

36377 commits

Author SHA1 Message Date
Leonardo de Moura
bf2c0bf5b7 feat: avoid generation of auxliary join points when inlining functions that have only one exit point 2022-08-18 00:12:24 -07:00
Leonardo de Moura
23be59b747 chore: add Compiler.stat trace option 2022-08-18 00:10:56 -07:00
Leonardo de Moura
c780d390d6 fix: bug at InferType.lean 2022-08-18 00:10:35 -07:00
Leonardo de Moura
651d4044b3 fix: bug at attachJp 2022-08-17 19:22:53 -07:00
Leonardo de Moura
8985a15f96 chore: mark inferInstance and inferInstanceAs as [inline]
New code generator does not inline simple declarations not tagged with
`[inline]` yet. We need this change to simpilify testing
2022-08-17 19:08:51 -07:00
Leonardo de Moura
ff53e9cc56 chore: remove leftover 2022-08-17 19:04:12 -07:00
Leonardo de Moura
3a898802f7 feat: inline type class instances 2022-08-17 19:01:49 -07:00
Leonardo de Moura
6561fc259f feat: add MonadBacktrack instance for CompilerM 2022-08-17 18:51:26 -07:00
Leonardo de Moura
861bcee6a9 feat: add simpAppApp? 2022-08-17 17:57:49 -07:00
Leonardo de Moura
546179fd7e chore: add Compiler.simp.step trace option 2022-08-17 17:41:44 -07:00
Leonardo de Moura
275feed318 feat: simplify projection of constructor 2022-08-17 17:16:30 -07:00
Leonardo de Moura
18c95e8322 fix: bug at toLCNF cache 2022-08-17 17:16:13 -07:00
Leonardo de Moura
d7acf1f844 feat: add Compiler.jp trace class 2022-08-17 16:22:09 -07:00
Leonardo de Moura
f0791559b8 chore: fix test
Ensure `targetUri`s in the test output do not contain full paths on my machine.
2022-08-17 15:24:00 -07:00
Leonardo de Moura
26b417acf8 chore: update stage0 2022-08-17 15:12:04 -07:00
Mario Carneiro
20f9b7172f doc: documentation for Init.SizeOf 2022-08-17 14:48:10 -07:00
Mario Carneiro
8182f83929 doc: documentation for Init.Tactics 2022-08-17 14:44:40 -07:00
Henrik Böving
70ef3875d1 feat: add join point detector 2022-08-17 14:38:46 -07:00
Leonardo de Moura
ea35f6e091 fix: missing mkJpDeclIfNotSimple 2022-08-17 14:35:07 -07:00
Leonardo de Moura
31f7c51d14 feat: add simp loop
Keeps simplifying while making progress.
2022-08-17 11:57:33 -07:00
Leonardo de Moura
2820958f64 doc: attachJp 2022-08-17 11:14:56 -07:00
Leonardo de Moura
1d936e2d6b feat: sanity checking at attachJp 2022-08-17 09:47:59 -07:00
Leonardo de Moura
f0370749f9 feat: check whether there are jumps to out of scope join points
In a local function declaration, we can only jump to local join
points.
2022-08-17 09:38:19 -07:00
Leonardo de Moura
320a5a708c fix: avoid out-of-scope jumps at CSE 2022-08-17 09:06:00 -07:00
Leonardo de Moura
0d52a3f92b fix: add attachJp
Auxiliary function for attaching jump to a join point to an existing
let-code block.
2022-08-17 07:32:11 -07:00
Leonardo de Moura
763cf31c3b test: go to definition 2022-08-17 06:05:00 -07:00
E.W.Ayers
81ad807bb3 test: more unit tests
Some taken from https://stackoverflow.com/questions/37172819/test-if-c98-string-is-a-number-in-scientific-notation
2022-08-17 05:57:22 -07:00
E.W.Ayers
4e7c1e1ec8 fix: missing digits in scientific literal should be an error 2022-08-17 05:57:22 -07:00
Mario Carneiro
ba938d4a6e doc: documentation for Init.Notation 2022-08-17 05:56:10 -07:00
Mario Carneiro
37a12b635b feat: add declId hover for syntax/notation/mixfix 2022-08-17 05:55:06 -07:00
Leonardo de Moura
fd11e662b0 chore: update stage0 2022-08-16 18:36:39 -07:00
Mario Carneiro
e0221db2e2 feat: add @[inheritDoc] attribute 2022-08-16 18:31:55 -07:00
Leonardo de Moura
600740da85 feat: inlining local function declarations 2022-08-16 18:23:49 -07:00
Leonardo de Moura
aac711cf92 feat: inlining statistics 2022-08-16 18:23:49 -07:00
Leonardo de Moura
2f57a0e6d5 refactor: cleaup compiler simplifier 2022-08-16 18:23:49 -07:00
Leonardo de Moura
9f46996db7 feat: inliner 2022-08-16 18:23:49 -07:00
Leonardo de Moura
0e3e1353e2 feat: new Compiler trace classes 2022-08-16 18:23:49 -07:00
Leonardo de Moura
e8fdfe4193 feat: eliminate trivial let-declarations 2022-08-16 18:23:49 -07:00
Leonardo de Moura
117db0da01 feat: add Compiler/Simp.lean 2022-08-16 18:23:49 -07:00
Leonardo de Moura
daa833d5c9 feat: preserve internal let-declaration binder names 2022-08-16 18:23:49 -07:00
Leonardo de Moura
e876d81692 fix: missing withRoot true 2022-08-16 18:23:49 -07:00
E.W.Ayers
d543867241 doc: fix typos 2022-08-16 08:31:58 -07:00
E.W.Ayers
ff5b02622c doc: Format 2022-08-16 08:31:58 -07:00
E.W.Ayers
2e99e8c22d feat: Float ↔ Json 2022-08-16 08:01:23 -07:00
E.W.Ayers
9e194e3c3d fix: add + parser to decimalNumberFn 2022-08-16 07:29:39 -07:00
E.W.Ayers
a763d9d81e fix: decodeScientificLitVal? parses 1.0e+1 correctly
fixes #1484
2022-08-16 07:29:39 -07:00
Leonardo de Moura
37ba0df584 feat: do not generate code for matcher auxiliary declarations
We are macro inlining them.
2022-08-15 20:10:33 -07:00
Leonardo de Moura
7979d03386 fix: bug at CSE.lean 2022-08-15 20:04:29 -07:00
Leonardo de Moura
327442a85c feat: add mkFreshBinderName and use it to normalize internal names 2022-08-15 19:47:37 -07:00
Leonardo de Moura
caf2bb0797 feat: inline auxiliary matcher applications 2022-08-15 19:47:05 -07:00