Skip to content

v4.0 #557

Open
Open

Description

@kazu-yamamoto

We introduce breaking changes in network 4.0. Windows support moves to WinIO only; v3.2 remains the line for No IO Manager on Windows and for older GHCs.

@Mistuke It's time!

Activity

  1. coot commented on Jul 3, 2023

    @coot
    Contributor

    @kazu-yamamoto do you want us to help with it? I won't have time right now, but I might get some help from our partners (Galois).

  2. kazu-yamamoto commented on Jul 4, 2023

    @kazu-yamamoto
    CollaboratorAuthor

    @coot I'd love to help you. But as talked in #559, the baton was passed to @Mistuke now.
    When he show me the first example, I can hack the entire package.

  3. Mistuke commented on Jul 17, 2023

    @Mistuke
    Collaborator
  4. kazu-yamamoto commented on Mar 26, 2024

    @kazu-yamamoto
    CollaboratorAuthor

    Supporting WinIO is delayed.
    I would like to set the target version to v4.0.
    I will use v3.2 for other purposes.

  5. changed the title [-]v3.2[/-] [+]v4.0[/+] on Mar 26, 2024
  6. TravisWhitaker commented on Mar 19, 2025

    @TravisWhitaker

    I'm curious about whether or not the public interface needs to change in order to support WinIO. My understanding is that IOPort is roughly analogous to what's achieved with threadWait* in the current implementation: request the IO and the block the Haskell thread until it's completed.

    In general it seems desirable to maintain the pattern that GHC users currently employ: forkIO as many threads as you need, let them block when they need to, and let the IO manager handle the rest. The absence of Rust/Swift/etc. asynchronous callback style APIs is one of big advantages of Haskell's concurrency model.

  7. kazu-yamamoto commented on Mar 20, 2025

    @kazu-yamamoto
    CollaboratorAuthor

    Good point. We don't bump major version if not necessary.

  8. TravisWhitaker commented on Mar 20, 2025

    @TravisWhitaker

    Well, whether or not to bump the major version is one question, and whether or not to move to a callback-based async style API in this package is another entirely.

  9. Mistuke commented on Mar 20, 2025

    @Mistuke
    Collaborator

    To get Winio to work doesn't need an API change. To get the most out of it will eventually. If RIO is to ever be implemented the DMA interface needs to be exposed to users. For instance a single haskell thread can easily handle multiple io requests.

  10. TravisWhitaker commented on Mar 20, 2025

    @TravisWhitaker

    What would it look like for a single Haskell green thread to handle multiple concurrent requests?

  11. kazu-yamamoto commented on Nov 14, 2026

    @kazu-yamamoto
    CollaboratorAuthor

    I will resume this task with LLM.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions