-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
Summary
PAGI 0.001016 introduces automatic Future::IO configuration in pagi-server. This is an experimental approach and I'm looking for community feedback.
Current Behavior
pagi-serverauto-configures Future::IO for IO::Async ifFuture::IO::Impl::IOAsyncis installed- This enables seamless use of Future::IO-based libraries (Async::Redis, etc.) under pagi-server
- Programmatic users of
PAGI::Servermust configure Future::IO themselves
Questions for Discussion
- Is
pagi-serverauto-configuring Future::IO the right approach? - How should the PAGI spec address async ecosystem integration long-term?
- Should servers declare what async backend they use?
- Should there be a standard way for apps to discover async capabilities?
- Are there alternative approaches we haven't considered?
Background
See the release blog post for full context on the tradeoffs considered:
- Libraries shouldn't configure Future::IO (they don't know the runtime context)
- Apps configuring Future::IO breaks PAGI's server-agnostic portability
- Extending the PAGI spec with async primitives risks scope creep
- Entry point (
pagi-server) configuring it follows the "only entry points configure" principle
Related
- Future::IO: https://metacpan.org/pod/Future::IO
- IO::Async: https://metacpan.org/pod/IO::Async
- Conduit (Future::IO-native server): https://metacpan.org/pod/Conduit
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels