Skip to content

Conversation

@augustss
Copy link

@augustss augustss commented Nov 9, 2025

The title says it all.

I can add MicroHs CI if you want.

@treeowl
Copy link
Collaborator

treeowl commented Nov 9, 2025

Nice! Yes, please add CI. Have you gotten QuickCheck to compile yet? If so, it would be great to run the test suite (here and for containers). If not, compile-only is much better than nothing


#if defined(__MHS__)
import Data.Traversable
#endif
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is okay, but also blecherous. We actually want to switch on the "base library" variant, not the compiler. Do you know if there's been any progress on how to do that?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know how to test for specific features in base.
In this case we could always import Data.Traversable; it's harmless for GHC. (It might need reordering of imports to avoid warnings. I'll check.)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the condition is totally acceptable for this PR; I just think it would be good to open up a community discussion about the broader issue.

@augustss
Copy link
Author

I'll update the PR.

And I'll check if the testing works.

@sjakobi
Copy link
Member

sjakobi commented Nov 10, 2025

I'm quite impressed that MicroHs can compile u-c!

To what extent does MicroHs support unlifted types though? I was planning to work on #537 and possibly #463.

@augustss
Copy link
Author

MicroHs does not have unlifted types. But it supports the syntax, and you get the lifted types instead. Of course, that's not as efficient, but at least it allows more packages to build (e.g. async needs u-c)

There's a new package for MicroHs called ghc-compat which implements parts of ghc specific modules. I will flesh it out as I need more things.

) where

import Data.Traversable -- MicroHs needs this since its Prelude does not have Foldable&Traversable.
-- It's harmless for GHC, and putting it first avoid a warning.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
-- It's harmless for GHC, and putting it first avoid a warning.
-- It's harmless for GHC, and putting it first avoids a warning.

@treeowl
Copy link
Collaborator

treeowl commented Nov 10, 2025

Would you please rebase?

@augustss
Copy link
Author

I'll rebase when I've added CI.

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.

3 participants