Summary
Try to get rid of evaluated imports in generated import libraries
Metadata
- Id: 867c293afc9efcaeea60951f38858453c7c50a14
- Trac id: 1466
- Type: enhancement
- Reporter: sjamaan
- Owner: sjamaan
- Cc:
- Status: assigned
- Component: compiler
- Estimated difficulty: hard
- Resolution:
- Priority: major
- Milestone: 6.0.0
- Version: 5.0.0
- Changetime: 2023-11-06 23:53:26 UTC
- Created: 2018-05-24 10:13:03 UTC
- Keywords: import libraries, eval, merge-se, syntax environment
Description
As we found out in #1457 and #1172, `merge-se` is quadratic in complexity. This means that every `import` we do is potentially really slow.
Now that we only emit `eval` calls when generating import libraries of modules with syntax exports, it might be worthwhile to see if we can get rid of them altogether. As I|proposed earlier, one way to do this would be to attach the syntax environment as an alist to each macro in the import library, instead of deriving it via imports (which will actually provide a much larger environment than necessary).
Changes and comments
[2019-04-07 12:23:24 UTC] sjamaan changed milestone from 5.1 to 5.2
[2019-04-07 12:23:24 UTC] sjamaan wrote:
Getting ready for 5.1, moving tickets which won't make it in to 5.2.