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

Rename the types #2

Open
andrewthad opened this issue Aug 22, 2019 · 5 comments
Open

Rename the types #2

andrewthad opened this issue Aug 22, 2019 · 5 comments

Comments

@andrewthad
Copy link
Member

@chessai I started using this in an actual project yesterday, and I realized that the types all being named Maybe leads to a bad user experience with haddock when working with data types that have a bunch of these maybe variants as fields. It's difficult to tell what the type of each field actually is. Do you have any strong opinions on renaming to MaybeInt, MaybeInt16, etc.?

@chessai
Copy link
Member

chessai commented Aug 22, 2019

No i do not. Also can we use backpack with unboxed types?

@andrewthad
Copy link
Member Author

Yes, backpack lets you do levity polymorphic things that you can’t normally do with GHC. This package would be an excellent candidate for internal use of backpack. However, there are potential roadblocks:

  1. cabal build screws up when trying to install dependencies that use backpack internally. So, it’s more difficult for people to actually use the library if it uses backpack internally
  2. I’m not sure what the interaction between haddock and modules instantiated via backpack is.

@chessai
Copy link
Member

chessai commented Aug 22, 2019

How does cabal build screw up?

@chessai
Copy link
Member

chessai commented Aug 22, 2019

Haddocks im not super worried about, though that does suck. Most of the haddocks will be exactly like Data.Maybe

@andrewthad
Copy link
Member Author

To see how cabal screws up, just run

cabal v2-install sockets

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