Skip to content
This repository has been archived by the owner on Feb 3, 2019. It is now read-only.

annotate-inlinable-defs #8

Open
arrdem opened this issue Jun 8, 2014 · 2 comments
Open

annotate-inlinable-defs #8

arrdem opened this issue Jun 8, 2014 · 2 comments

Comments

@arrdem
Copy link
Owner

arrdem commented Jun 8, 2014

This pass will traverse all defs in the AST after doing taken as value analysis and arity shaking to identify functions which are never taken as values, which are not part of the user defined API and which are constant and annotate them as ^:inline so that the emitter will inline their uses.

It's worth discussing the generality of this approach since there may be other things which can be inlined away but we'll start here.

@arrdem
Copy link
Owner Author

arrdem commented Jun 16, 2014

This is blocked on #6 which is today's project.

@arrdem
Copy link
Owner Author

arrdem commented Jun 18, 2014

note that for clojure core :inline isn't a bool, it's a macro function. This is silly and unfortunate, but it's the case. See TODO.org for notes on a better partial evaluation based implementation.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant