Hi friends,
Tomorrow, we're meeting to discuss Qi's handling of computational effects (i.e. anything other than function inputs and outputs - including I/O, state, etc.), and related things such as how user-extensibility of the compiler is affected by these core guarantees. If you're interested, please stop by.
Where: Gather
When: 2024-04-19T17:00:00Z
Topics include:
- Does this PR accurately express Qi's guarantees on effects? Is there anything further to be said?
- In principle, the Qi compiler can already be extended with custom optimizations for any datatype (e.g. the in-progress deforestation of
racket/list
APIs). Can we do this while maintaining compiler integrity? - In addition to optimizations, can we also make the compiler backend swappable in this way, so that for example, the same Qi code can use futures instead of functions, or big data frameworks, just by indicating a different backend?
- How a theory of optimization (including a stance on effects) could provide some unity across such different dialects that may emerge.
Qi is a community-guided project owned by no one (it is copyright-free) and promising fair recognition for any kind of contribution. It's an opportunity for us to work on cool things together and create value we can all partake in while making friends with like-minded people. Hope to see you there!
-Sid