More thoroughly document what is (and isn't) allowed in the README #441
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This patch fleshes out some more details about what
singletons
can and can't do in its
README
. The key changes are:explains what defunctionalization is in some amount of detail.
There is also a new subsection that explains the limitations of
the
genDefunSymbols
function that were observed in Knowing what is (and isn't) defunctionalized can be confusing #429.love. Some Haskell features were inaccurately characterized
(e.g., pattern signatures are really only partially supported),
so I also reorganized some of the bullet points. I have also added
a new bullet point for
ScopedTypeVariables
under the"Little to no support" section, as Promoting expression signatures can fail on GHC 8.10+ #433 reveals that promoting
functions that rely on the behavior of
ScopedTypeVariables
isterribly fragile (and not easy to fix).
the
README
flow better.Note that this patch does not fix either of #429 or #433—it just
documents the rather unsatisfying current state of affairs.