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

Conformance testing of the agda2hs Prelude #245

Open
jespercockx opened this issue Dec 7, 2023 · 1 comment
Open

Conformance testing of the agda2hs Prelude #245

jespercockx opened this issue Dec 7, 2023 · 1 comment
Labels
enhancement New feature or request

Comments

@jespercockx
Copy link
Member

It would be good to have some kind of testing that ensures our implementation of the Haskell prelude is correct. For example, for each function we could compile our implementation to Haskell and use QuickCheck to check that it is equivalent to the builtin one.

@jespercockx jespercockx added the enhancement New feature or request label Dec 7, 2023
@jespercockx jespercockx added this to the 1.3 milestone Dec 7, 2023
@jespercockx jespercockx modified the milestones: 1.3, 1.4 Jan 29, 2024
@HeinrichApfelmus
Copy link

The following would be more modest in scope, but already useful:

  • Automatically check that the function names are in scope.
  • Automatically check that the functions have the same types in Agda and in Haskell.

Both can be achieved with the method described in #316 . (Unsurprisingly — the problem is essentially that of importing a Haskell module, here the Prelude). The idea would be to automatically generated definitions of the form

import qualified Prelude

foo :: Bar  Baz
foo = Prelude.foo

and run the Haskell compiler on it. Specifically, the definition foo and its type signature is automatically generated from the definition in .agda.

@jespercockx jespercockx removed this from the 1.4 milestone Oct 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants