Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add links to libraries used by this spec to the README #682

Open
polinavino opened this issue Feb 11, 2025 · 3 comments
Open

Add links to libraries used by this spec to the README #682

polinavino opened this issue Feb 11, 2025 · 3 comments

Comments

@polinavino
Copy link
Contributor

It would be really convenient for looking things up if all the relevant libraries were linked directly in the README
Including :

  • standard-library
  • agda-stdlib-classes
  • agda-stdlib-meta
  • agda-sets
@WhatisRT
Copy link
Collaborator

They are all linked here https://github.com/IntersectMBO/formal-ledger-specifications/blob/master/CONTRIBUTING.md, which is linked from the README. I think that should be sufficient?

@carlostome
Copy link
Contributor

carlostome commented Feb 12, 2025

I'd suggest to go a step further and have the libraries as git submodules of this repo.

This has several advantages:

  • the libraries will be linked to specific commits; although this information is already present in default.nix, anyone looking at this repo in GH will be able to navigate directly to the libraries.
  • the mechanization will be, in some sense, self-contained (since ATM Agda lacks a proper package manager).
  • it will be easier to build for non nix users (this is related to the previous point).

As a potential disadvantage, there could be a divergence between the commits the git submodules point to and what default.nix points to. Probably this can be solved by modifying default.nix.

@WhatisRT
Copy link
Collaborator

I think it should be relatively simple to get the commit hashes out of default.nix, which we could then automatically put somewhere to link to. That way we could either have an automatically updating reference for dependencies, or something that CI can at least check for correctness.

That being said, I think nix is a perfectly fine package manager for Agda, and we even have a pretty complete guide to setup everything. We could improve some things here and there, but I'd rather invest some extra time into a working general solution than into an ad-hoc solution that would have to be replicated for lots of different projects.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants