effekt-lang / effekt-lang/effekt

Avoid extern includes in standard library IO

Open
#611 0 comments 0 reactions 0 assignees View on GitHub
area:stdlib
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.