Merged
Conversation
…all warnings - Rewrite Dung.cabal for cabal-version 3.0, update dependency bounds - Move Main.hs from src/ to app/, rewrite CLI (cmdargs → optparse-applicative) - Fix all -Wall warnings (unused bindings, redundant patterns, shadowing) - Add Language.Dung re-export module - Export isGrounded from Language.Dung.AF - Bump version to 2.0.0.0
There was a problem hiding this comment.
Pull request overview
Modernizes the Dungell project by updating packaging/docs, fixing a grounded semantics bug, replacing the legacy CLI implementation, and adding automated tests/CI.
Changes:
- Fixed
groundedFto apply the characteristic function at each iteration (avoids infinite loop). - Replaced the
cmdargsCLI with anoptparse-applicative-based executable and updated Cabal metadata to v3.0 format. - Added Tasty (HUnit + QuickCheck) and doctest test suites plus a GitHub Actions CI workflow.
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
src/Language/Dung/AF.hs |
Fixes groundedF and refactors internals; adjusts exports and warning handling. |
src/Language/Dung/Input.hs |
Cleans up parser code to avoid warnings and improve clarity. |
app/Main.hs |
New optparse-applicative CLI implementation replacing the removed src/Main.hs. |
Dung.cabal |
Cabal 3.0 modernization; adds test suites and updated dependencies. |
test/Main.hs |
New Tasty test runner aggregating module tests. |
test/Test/Language/Dung/AF.hs |
Adds HUnit tests for AF operations and semantics. |
test/Test/Language/Dung/Input.hs |
Adds HUnit tests for parsing and round-tripping AF I/O. |
test/Test/Language/Dung/Properties.hs |
Adds QuickCheck properties for semantic consistency. |
test/Doctest.hs |
Adds doctest runner for source examples. |
.github/workflows/ci.yml |
Adds CI to build and run tests across multiple GHC versions. |
README.md |
Converts docs to Markdown and documents updated library/executable usage. |
CHANGELOG.md |
Adds a Markdown changelog describing breaking changes and improvements. |
Setup.hs / README.txt / CHANGELOG / src/Main.hs |
Removes legacy build script, docs, changelog, and old CLI implementation. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Add a printList helper in a doctest $setup block to format multi-line list output readably (one element per line) so doctests match actual GHC output. Pass -package containers and -package parsec to doctest so library modules load correctly. Fix groundedExt expected output spacing and remove erroneous trailing commas in single-element lists. Also remove -Wno-name-shadowing pragma from AF.hs and improve expectRight helper in tests to show parse errors on failure.
f62fdec to
227f9c8
Compare
Include LICENSE in extra-source-files so it is browsable on Hackage package candidates. Update copyright year in LICENSE to 2014-2026.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary