Ticket #1341 (closed feature request: duplicate)

Opened 6 years ago

Last modified 4 months ago

allow loading partially correct modules

Reported by: iampure@… Owned by:
Priority: normal Milestone: _|_
Component: Compiler Version: 6.7
Keywords: module loading Cc: anton.nik@…
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Difficulty: Project (more than a week)
Test Case: Blocked By:
Blocking: Related Tickets:

Description

When a module A is loaded containing functions X, where Y, a subset of X, contains errors, I would like that X-Y is still brought into scope when loaded in ghci.

The current situation is that even a minor error in a module results in the entire module not being loaded.

Change History

Changed 6 years ago by duncan

  • keywords ghci removed
  • difficulty changed from Moderate (1 day) to Project (> 1 week)
  • summary changed from Improvements loading of modules to allow loading partially correct modules
  • component changed from GHCi to Compiler
  • milestone set to _|_

This would be great for IDEs etc however I fear it's really pretty hard and would involve a lot of work.

For starters there's the parser. It'd have to become recoverable.

Changed 6 years ago by SamB

Well, what if it only worked for things that parsed? How hard would that be?

Changed 5 years ago by simonmar

  • architecture changed from Unknown to Unknown/Multiple

Changed 5 years ago by simonmar

  • os changed from Unknown to Unknown/Multiple

Changed 4 years ago by simonmar

  • difficulty changed from Project (> 1 week) to Project (more than a week)

Changed 2 years ago by lelf

  • cc anton.nik@… added
  • failure set to None/Unknown

Changed 4 months ago by morabbin

Bump; anything changed here?

Changed 4 months ago by parcs

I think the functionality of -fdefer-type-errors has some overlap with this ticket.

Changed 4 months ago by simonmar

  • status changed from new to closed
  • resolution set to duplicate

Subsumed by #5791

Note: See TracTickets for help on using tickets.