Skip to content

Sugar for simulated higher-kinded types through type defunctionalization. #844

@modulovalue

Description

@modulovalue

Languages without higher-kinded types (HKT) have libraries for functional programming that make use of simulated HKT through [2014] Type defunctionalization (1.3).

Examples:
TypeScript: fp-ts
Swift: bow
Java: HKT & highj
Kotlin: arrow

They require quite a bit of boilerplate which does make them impractical in day to day use.

This is not a topic that I expect to receive much interest and support anytime soon. Also, I'm not an expert on that topic, but I've come across the limitations of dart when trying to employ techniques that are more common in the FP world. And with this issue I'd like to ask the language team if they could provide their thoughts on adding support (or rather sugar) for simulated HKT through type defunctionalization.

Note:
The dart specification explicitly says Dart does not, and will not, support higher-kinded types I assume that this decision has been made in the context of 'real' higher-kinded types. I want to be clear, I'm opening this issue in the context of supporting simulated higher-kinded types through type defunctionalization (or any other technique).

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureProposed language feature that solves one or more problems

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions