Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • GHC GHC
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Issues 5.5k
    • Issues 5.5k
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 637
    • Merge requests 637
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
    • Test cases
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Model experiments
  • Analytics
    • Analytics
    • 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 CompilerGlasgow Haskell Compiler
  • GHCGHC
  • Issues
  • #14335

Plugins don't work with -fexternal-interpreter

Plugins don't work with -fexternal-interpreter.

The current plan to fix this is to enable GHC to always use the internal interpreter for plugins, even when -fexternal-interpreter is given. -fexternal-interpreter only determines which interpreter is used for running Template Haskell splices. The following tasks have been identified:

  • Support loading two different UnitState (available units): one for the target, one for plugins
  • Add command-line flags (-plugin-package-db, etc.) to build the plugins UnitState
  • Refactor many functions to explicitly pass Platform configuration (Platform, ways, etc.) as arguments. Currently we often pass DynFlags and callee functions implicitly use the UnitState of the target platform. It doesn't compose well and we want to be explicit about the platform we are using (target or host) (see also #17957).
  • Pretty-printing of Unit (via its Outputable instance) implicitly queries the UnitState of the target platform (via sdocWithDynFlags). We need to remove this Outputable instance.
Edited Jul 07, 2021 by Sylvain Henry
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking