Skip to content
This repository was archived by the owner on Apr 1, 2025. It is now read-only.
This repository was archived by the owner on Apr 1, 2025. It is now read-only.

Give Parse effect the ability to parse concurrently #615

Closed as not planned
Closed as not planned
@patrickt

Description

@patrickt

Now that #614 is taken care of (or will be soon), we need to reexamine our approach to concurrency.

The simplest big win is to change

data Parse (m :: Type -> Type) k where
  Parse :: Parser term -> Blob -> Parse m term

to

data Parse (m :: Type -> Type) k where
  Parse :: Traversable t => Parser term -> t Blob -> Parse m term

Because Parse ends up running an IO action, we can use mapConcurrently to perform said operations. Unfortunately, this requires a bit of plumbing; I’ve taken two swings at this and whiffed. Now that alacarte syntax is gone, this might be a good move.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions