As of Jan 9 2023, this repository has been archived, and has been replaced by the liqwid-libs monorepo. Please use that instead.
Public discussion and assistance can be found on discord @ #liqwid-plutarch-extra. Issues and project-management-related information are tracked on Notion.
LPE is a repository for holding Plutarch types, typeclasses, helpers, and utilities shared between Liqwid Labs projects.
LPE is primarily intended as a temporary destination for code before upstreaming to
plutarch-extra
. We welcome contributions, issues, or requests from the community, but first
encourage direct contributions to plutarch
.
The code in LPE can broadly be categorized as follows:
- (Co)category typeclasses (
PFunctor
and friends), - Missing functionality from existing Plutarch modules like
Plutarch.List
,Plutarch.Maybe
, and so forth - Genuine extras, like those found in
Precompile
,Tagged
,MultiSig
, andFixedDecimal
Because this code is the first destination for Liqwid Labs's projects to share snippets, the code in LPE may:
- Be untested
- Be undocumented
- Be sub-optimal in terms of performance or readability
- Duplicate functionality found elsewhere
- Go against some notion of best practice
- Disappear at a moment's notice, either because its broken, not needed, or has been upstreamed.
Some functionality may be contraversial or make certain stylistic assumptions
that the authors of Plutarch don't share, and thus certain parts of LPE may never
be accepted into plutarch-extra
.
Users are welcome to inquire about the status of particular snippets on the discord.
To integrate this with your project, use Nix. We work against the main branch of Plutarch, so you will have to use it also. See the flake.nix
file for more details.
Liqwid uses liqwid-nix
to set up
its projects. You are not required to use liqwid-nix
to use this library, but
you are welcome to check check it out.
The LPE code base follows strict standards to increase consistency, to minimize the impact of legacy, to properly use automated tools, and more. The standards document can be found here.
liqwid-plutarch-extra
is licensed under the Apache 2.0 license (SPDX code
Apache-2.0
); please see the LICENSE
file for more details.