Skip to content

Todo #1

@evanrelf

Description

@evanrelf
  • Maybe remove RecordHasFields because the performance sucks (see issue in effectful about Members or :>> or whatever it was called for more info)

  • I think my RecordHasField implementation is incorrect?

  • Hide all RecordFromTuple instance spam.

  • Change Record's kind signature from Record :: [Type] -> Type to Record :: Row Type -> Type.

  • Bake notion of fields into Record, separate GADT's type-level list from actual data being stored.

  • Try changing from RCons+RNil to some list of Any, to enable easy/efficient reordering.

    • Merging
    • Reordering
    • Deleting not the head
  • Try to finish GHC plugin for record construction syntax like large-anon.

  • Maybe add some TypeErrors to explain common errors, especially if GHC's error is not immediately helpful.

  • All constraint for asserting all fields satisfy some constraint (e.g. myShow :: All Show r => Record r -> String).

  • Type changing modify (or should it be renamed to update?).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions