Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

`forbiddenPredicatesChecker` does not detect forbidden predicates used with `is` operator

Open Beginner friendly
#55 2 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
85/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
haskell
Domain
tooling

Research direction

Look at grabPredicateIdentities in the code analysis module. The fix is to fully expand the arguments of the is operator so that forbidden predicates like mod/2 used within is expressions are detected. Verify by running the checker against the provided Prolog examples and confirming mod/2 is flagged.

Written by the indexing model from the issue text.

Description

codeAnalysis:
  forbiddenPredicates:
   - mod/2
p(X) :- 0 is X mod 2.
% or 
p(X) :- 20 is (X mod 2) + (2 * 7).

The usage of mod/2 is not detected.


The detected predicates here are only p/1 and is/2. The fix would be to make grabPredicateIdentities fully expand the arguments of is.

Dominant language
Haskell
Stars
0
Forks
1
Avg merge
1d 17h
Merged PRs (30d)
16

Getting set up

  • No Dockerfile or Docker Compose file
  • Has a pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from fmidue/prolog-programming-task

All issues in fmidue/prolog-programming-task

Similar issues

More Haskell issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.