Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/composite-hs/composite-base
Integrations with Vinyl/Frames records (core library).
https://github.com/composite-hs/composite-base
haskell haskell-library vinyl
Last synced: about 1 month ago
JSON representation
Integrations with Vinyl/Frames records (core library).
- Host: GitHub
- URL: https://github.com/composite-hs/composite-base
- Owner: composite-hs
- License: bsd-3-clause
- Created: 2022-05-21T18:20:41.000Z (over 2 years ago)
- Default Branch: develop
- Last Pushed: 2023-12-16T00:48:00.000Z (about 1 year ago)
- Last Synced: 2024-04-25T23:31:23.109Z (8 months ago)
- Topics: haskell, haskell-library, vinyl
- Language: Haskell
- Homepage:
- Size: 387 KB
- Stars: 5
- Watchers: 3
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
## composite
[![Build status](https://github.com/composite-hs/composite-base/actions/workflows/workflow.yml/badge.svg)](https://github.com/composite-hs/composite-base/actions/workflows/workflow.yml)
Composite is a group of libraries focusing on practical uses of composite records, in particular [Vinyl](https://github.com/VinylRecords/Vinyl/), such as querying records from a database and converting them to JSON. These libraries are based on the excellent [Frames](https://github.com/acowley/Frames) style use of Vinyl records, though composite implements its own derived from Frames to make for a smaller dependency graph, as Frames is a full CSV parsing/printing and data manipulation library.
Downstream projects have moved to https://github.com/composite-hs/composite.
### `composite-base`
Definitions shared by the other composite libraries or generally useful when using Vinyl records. Includes some Template Haskell splices to generate various optics for records, as well as a specialization of `MonadReader` which works on a context record, providing general environment for a computation.
## Maturity
As of writing, we use these libraries in all our Haskell projects internally and have had no major issues. There are spots using either composite or vinyl where the compiler error messages could use improvement. There are certain use cases that can cause the simplifier to crash, though we have not observed any runtime errors as yet. They have not been proven out for performance at larger scale. We'd appreciate any fixes, improvements, or experience reports.
## Contributing
Contributions and feedback welcome! File an issue or make a PR.