Skip to content

Conversation

@L0neGamer
Copy link

@L0neGamer L0neGamer commented Aug 7, 2025

In this PR I split Data.FileEmbed into three modules: Typed, RelativePath, and Injection. The intent is that RelativePath contains makeRelativeToProject and makeRelativeToLocationPredicate, Injection contains all the functions to do with injecting data, and Typed contains typed template haskell function variants of the original Data.FileEmbed module. These are all then exported from Data.FileEmbed, and in the case of Typed turned into non-typed variants to maintain the existing API.

As part of this I also get rid of some unused, incredibly simple utility functions. These can be restored easily if need be. These have been restored.

Were it not for the removed functions above, I believe this wouldn't be a breaking change - the API is maintained. Increasing the lower bounds means that older projects won't even try and obtain this version, meaning that we're free to use modern template-haskell.

To add the relevant warnings for internals functions, the minimum GHC we're permitted is 9.8

@L0neGamer
Copy link
Author

L0neGamer commented Aug 7, 2025

I've had a brief search of hackage, and found at least one place where getDir is used, in conjunction with bsToExp: graphql-client uses both for some reason. As a result I'll change reinstate the functions I removed, but add a warning to them that they'll be deprecated/unexported at some point, since really they should just be internal.

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

Successfully merging this pull request may close these issues.

1 participant