effekt-lang / effekt-lang/effekt
Avoid extern includes in standard library IO
- Dominant language
- Scala
- Stars
- 469
- Forks
- 41
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 23
Description
Right now, we are using `extern include` in the standard library for IO functionality. We would like to inline the files `libraries/llvm/io.ll` and also `libraries/js/io.js` into the position where they are included. We could actually be more fine-grained and inline the parts of them closer to where they are used.
Moreover, we have to be more fine-grained with regard to what runs on node only versus in the web.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing how extern includes are handled for the standard library, then inspect libraries/llvm/io.ll and libraries/js/io.js and where they are included. Determine how to inline the IO contents or smaller parts at their use sites while separating node-only behavior from web behavior; done means the standard library no longer relies on these extern includes and both environments retain the required IO functionality.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- compilers
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100