Skip to content

Use Foldable instead of list? #236

@andreasabel

Description

@andreasabel

I see that some functions, like concatWith work for any Foldable instead of just for list.

Is there a reason why the other list functions are not generalized to Foldable? E.g.

hsep :: [Doc ann] -> Doc ann

I am trying to be progressive, using Data.List.NonEmpty and other list variants in my code base, but then I always have to sprinkle an extra toList in.

Unless there are reasons (like breaking type inference), I think all such list functions should be generalized to Foldable. (Even if type inference is broken for legacy users, such a generalization could maybe be pushed in a major-major version bump like 2.0...)

Update: I found a prior discussion on this, but maybe time is ripe for a revision:

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions