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

License and permitted use of decodeDhall. #3

Closed
philderbeast opened this issue Aug 31, 2018 · 9 comments
Closed

License and permitted use of decodeDhall. #3

philderbeast opened this issue Aug 31, 2018 · 9 comments

Comments

@philderbeast
Copy link
Collaborator

There's no LICENSE file in this repo but there is one for hpack. @sol could you please add a license to hpack-dhall and let me know if you would let me use decodeDhall for NixOS/cabal2nix#374?

@sol
Copy link
Contributor

sol commented Sep 5, 2018

@philderbeast thanks a lot for using Hpack!

The code in this repository is in the public domain, so you can use it for whatever purpose you want ;)

I wrote this initially out of curiosity and for experimentation. That was fun, but when I look at the cost/benefit ratio I'm not convinced that it's something I want to pursue further.

Pros:

  • The ability to abstract
  • More obvious escaping rules

Cons:

  • Even more options now when it comes to Haskell package definitions; a contributor would have to deal with .cabal, package.yaml or package.dhall depending on the package he wants to contribute to
  • More space for bikeshedding when it comes to formatting stuff (leading vs trailing commas)
  • When using Dhall it's more likely that you get git conflicts when rebasing/merging (yes, commas again)

Abstraction is a big thing, and I think it's valid to experiment with it. But as it stands for me the cost/benefit ratio is still not favorable. This is a very personal verdict and you are of course free to experiment.

This package is currently not widely used and I didn't do a good job in preventing bit rot. I can transfer maintainership to you if you want.

BTW: Do you currently do anything that can't be done with plain hpack. From what I saw you just include stuff. I think you can achieve the same thing with Hpack's support for defaults.

Whether it makes sense at this stage to add support for hpack-dhall to cabal2nix is up for @peti to decide. If it were me to make this decision I would probably wait until there is more significant user adoption.

@philderbeast
Copy link
Collaborator Author

philderbeast commented Sep 5, 2018

I find hpack-dhall useful and would be happy to become a maintainer of it. I'm philderbeast on hackage.

@philderbeast
Copy link
Collaborator Author

With flare-timing I'm keeping both package.dhall and .cabal files in sync and in source with hpack-dhall. I format each package.dhall with;

> dhall format --inplace package.dhall

@philderbeast
Copy link
Collaborator Author

philderbeast commented Sep 5, 2018

Do you currently do anything that can't be done with plain hpack. From what I saw you just include stuff. I think you can achieve the same thing with Hpack's support for defaults.

I hadn't seen hpack-defaults. Thanks for pointing that out as an option when wanting to set up common fields.

A dhall import can be any expression or function from any source. While I could get the same behaviour as hpack-defaults by merging sets, I can and do do more. I am using imports for;

@philderbeast
Copy link
Collaborator Author

@sol could you please add me as a maintainer for this package on hackage?

As for this repository, can you please transfer the ownership to me or add me as a collaborator?

@sol
Copy link
Contributor

sol commented Oct 12, 2018

Hey, sure, what is your Hackage username?

@philderbeast
Copy link
Collaborator Author

I'm philderbeast on hackage.

@sol
Copy link
Contributor

sol commented Oct 13, 2018

Added you. Please feel free to pick a license, I strongly suggest MIT or BSD3 though. Please also change the maintainer to yourself ;).

@philderbeast
Copy link
Collaborator Author

Thanks @sol. I've revised the package description, adding you as author and me as maintainer.

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

2 participants