~z0/ipfshs

ipldm

IPLD data model and codecs in Haskell
37aeb5ec — Zoey McBride 27 days ago
add haskell.org link
1e121a6b — Zoey McBride a month ago
add Codec to features list
e06e649b — Zoey McBride a month ago
add notice in changelog

refs

main
browse  log 

clone

read-only
https://git.sr.ht/~z0/ipldm
read/write
git@git.sr.ht:~z0/ipldm

You can also use your local clone with git send-email.

#ipldm hackage.haskell.orgbuilds.sr.ht status

The ipldm library provides methods for working with the IPLD data model (DM) for Haskell.

Currently, the project has the following features:

  • Representing DM nodes of some kind including CIDs provided by the mfmts package.
  • Type-class interfaces for encoding and decoding the DM using Alternative.
  • A type-class for pairing DM encoders and decoders into a codec, providing default implementations for common operations and a mapping function inspired by profunctors' dimap.
  • Implements codec for DAG-CBOR with encoder/decoder instances that work with CBOR encoded bytestrings and provides exceptions for formatting errors and extra IPLD constraints.

#Development

This project is part of ipfshs; unit tests are provided on the main page and bugs can be reported on its ticket tracker. Patches and pull requests can be submitted with git send-email. To build and test this project against all of ipfshs read this section on setting up an ipfshs development environment.

This project can also be built as a standalone library with cabal.

$ git clone https://git.sr.ht/~z0/ipldm
$ cd ipldm
$ cabal build

#Licensing

The ipldm project and its modules are free software and licensed under the AGPLv3 license. See LICENSE.txt.

Copyright © 2026 Zoey McBride | zoeymcbride@mailbox.org