category feedThe records problemMiscellaneouseditdelete

This category is a stub, contributions are welcome!






write something here!

edit description
or press Ctrl+Enter to savemarkdown supported
#
other
move item up move item down edit item info delete item
Summary edit summary

write something here!

Summary quit editing summary
Prosedit prosquit editing pros

    press Ctrl+Enter or Enter to addmarkdown supportededit off
    Consedit consquit editing cons

      press Ctrl+Enter or Enter to addmarkdown supportededit off
      Ecosystemedit ecosystem
      Ecosystemquit editing ecosystemor press Ctrl+Enter to savemarkdown supported
      Notes
      collapse notesedit notes

      <notes are empty>

      add something!

      #
      lens (Hackage)
      other
      move item up move item down edit item info delete item
      Summary edit summary

      lens is commonly used to make working with records easier (though it doesn't provide everything that we might want from a records system). Things that are possible with lens:

      • Updating records: set a field with field .~ x, apply a function to a field with field %~ f.
      • Updating nested records: just chain field names like foo.bar.baz %~ f.
      • Having several records with the same field name: see makeFields.
      • “Subtyping”, i.e. being able to say that a record is a subset of another record: see makeClassy.
      Summary quit editing summary
      Prosedit prosquit editing pros

        press Ctrl+Enter or Enter to addmarkdown supportededit off
        Consedit consquit editing cons

          press Ctrl+Enter or Enter to addmarkdown supportededit off
          Ecosystemedit ecosystem
          Ecosystemquit editing ecosystemor press Ctrl+Enter to savemarkdown supported
          Notes
          collapse notesedit notes

          <notes are empty>

          add something!

          #
          records (Hackage)
          other
          move item up move item down edit item info delete item
          Summary edit summary

          write something here!

          Summary quit editing summary
          Prosedit prosquit editing pros

            press Ctrl+Enter or Enter to addmarkdown supportededit off
            Consedit consquit editing cons

              press Ctrl+Enter or Enter to addmarkdown supportededit off
              Ecosystemedit ecosystem
              Ecosystemquit editing ecosystemor press Ctrl+Enter to savemarkdown supported
              Notes
              collapse notesedit notes

              <notes are empty>

              add something!

              #
              vinyl (Hackage)
              other
              move item up move item down edit item info delete item
              Summary edit summary

              write something here!

              Summary quit editing summary
              Prosedit prosquit editing pros

                press Ctrl+Enter or Enter to addmarkdown supportededit off
                Consedit consquit editing cons

                  press Ctrl+Enter or Enter to addmarkdown supportededit off
                  Ecosystemedit ecosystem
                  Ecosystemquit editing ecosystemor press Ctrl+Enter to savemarkdown supported
                  Notes
                  collapse notesedit notes

                  <notes are empty>

                  add something!

                  #
                  rawr (Hackage)
                  other
                  move item up move item down edit item info delete item
                  Summary edit summary

                  Extensible records using GHC 8 features.

                  Summary quit editing summary
                  Prosedit prosquit editing pros
                  • Do not require Template Haskell to use.
                    move trait up move trait down edit trait delete trait
                  • Only base dependency.
                    move trait up move trait down edit trait delete trait
                  • Support pattern matching, merging and partitioning (row-polymorphism) on anonymous records.
                    move trait up move trait down edit trait delete trait
                  • Support both lazy and strict fields.
                    move trait up move trait down edit trait delete trait
                  • Provide overloaded labels which can be used as field selectors or lenses.
                    move trait up move trait down edit trait delete trait
                  • Minimal performance overhead and memory footprint.
                    move trait up move trait down edit trait delete trait

                  press Ctrl+Enter or Enter to addmarkdown supportededit off
                  Consedit consquit editing cons
                  • Requires GHC >= 8.0.
                    move trait up move trait down edit trait delete trait
                  • Only support type-level Symbol as indexes. (Unlike Vinyl)
                    move trait up move trait down edit trait delete trait

                  press Ctrl+Enter or Enter to addmarkdown supportededit off
                  Ecosystemedit ecosystem

                  None, as the package is still very new.

                  Ecosystemquit editing ecosystemor press Ctrl+Enter to savemarkdown supported
                  Notes
                  collapse notesedit notes

                  <notes are empty>

                  add something!

                  #
                  superrecord (Hackage)
                  other
                  move item up move item down edit item info delete item
                  Summary edit summary

                  write something here!

                  Summary quit editing summary
                  Prosedit prosquit editing pros

                    press Ctrl+Enter or Enter to addmarkdown supportededit off
                    Consedit consquit editing cons

                      press Ctrl+Enter or Enter to addmarkdown supportededit off
                      Ecosystemedit ecosystem
                      Ecosystemquit editing ecosystemor press Ctrl+Enter to savemarkdown supported
                      Notes
                      collapse notesedit notes

                      <notes are empty>

                      add something!