ndmitchell / ndmitchell/hoogle

Record non-unary class constraints

Open
#268 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Haskell
Stars
803
Forks
152
PR merge metrics
No merged PRs in 30d

Description

The current type search applies a cost to any non-concrete constraints (e.g. a penalty is applied for Monad m, but not Monad Maybe, which may appear when specializing a type to match the query). We may want to add costs for non-unary constraints as well, such as Coercible a b or Partial, but at the moment these are not reflected in the types as stored in the db.

Contributor guide

No contributing guide indexed for this repository

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.

Research direction

Start by tracing the current type-search cost handling and how types are stored in the database, focusing on the existing treatment of non-concrete constraints such as Monad m. The issue names no files or tests; done would mean deciding how non-unary constraints such as Coercible a b or Partial are represented and reflected in search costs.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
search
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.