move to more performant internal representation
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Refactor
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- javascript
- Domain
- compilers
Research direction
Start by locating the current expression representation and the beta-reduction entry point in the JavaScript project. Add tests for the proposed composed representation and measure whether large functions improve, while treating compilation before beta reduction as a separate design question.
Written by the indexing model from the issue text.
Description
The current internal representation leaves a lot to be desired.
Low hanging fruit would be to directly represent a(a(a(a(b)))) not as 5 different functions, but maybe just one function with a composed: 4 key. That would probably make performance actually acceptable for large functions.
The final version of this is that we can probably get hella hella speed improvements if we 'compile' the expression before beta reduction... but that sounds hard.
Requires having tests
- Dominant language
- JavaScript
- Stars
- 69
- Forks
- 10
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from evinism/lambda-explorer
-
Difficulty 2/5 1-3 hours Newbie friendliness 35/100
evinism/lambda-explorer#129 · 1 reaction ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
evinism/lambda-explorer#128 ·
-
Partial application Open
Difficulty 4/5 3-5 days Newbie friendliness 35/100
evinism/lambda-explorer#126 · 1 comment ·
-
Some typos Open
Difficulty 1/5 Under an hour Newbie friendliness 45/100
evinism/lambda-explorer#119 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
evinism/lambda-explorer#85 ·
All issues in evinism/lambda-explorer
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
palladius/rails8-app-on-gcp#145 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
dotenvx/dotenv-vscode#139 ·
-
test-change-proposal
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
web-platform-tests/interop#1455 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
corsairdev/corsair#1764 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100