Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • GHC GHC
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 4,860
    • Issues 4,860
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 454
    • Merge requests 454
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Glasgow Haskell Compiler
  • GHCGHC
  • Issues
  • #19165
Closed
Open
Created Jan 04, 2021 by Krzysztof Gogolewski@monoidalDeveloper

Linear types: enable linting

Currently, linearity is not compatible with Lint, and linear Lint is controlled by a separate flag -dlinear-core-lint. The objective of this ticket is to make -dcore-lint do full linearity linting, which will enable it during a normal build.

Part 1 (done !4970 (closed)): Make -dcore-lint enable linearity checking on the output of the desugarer only.

Part 2 (done !6280 (closed)): Fix test MultConstructor.

Part 3 (in progress): In Lint, assert that multiplicity of a variable and its occurrence match (e.g. in \x -> x, both xes should have the same multiplicity)

Part 4: Solve tickets #18694 #17530 (closed) #20058.

Part 5: Fully enable linearity checking. Then, Note [Linting linearity] and -dlinear-core-lint can be removed.

Edited Aug 04, 2021 by Krzysztof Gogolewski
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking