Ticket #1969 (assigned deprecation)

Opened 4 years ago

Last modified 3 years ago

Deprecate Eval PMC

Reported by: whiteknight Owned by: whiteknight
Priority: normal Milestone:
Component: core Version: master
Severity: medium Keywords: deprecation, eval
Cc: Language:
Patch status: Platform: all

Description

We should deprecate this PMC. compregs should return the packfile PMC, or maybe the Sub PMC, but not Eval.

Change History

Changed 3 years ago by cotto

Go for it! Eval is confusing and bad. I'm happy to see it go away and get replaced by PackfileView.

Changed 3 years ago by whiteknight

  • status changed from new to assigned
  • owner set to whiteknight
  • type changed from RFC to deprecation

Eval is going to be replaced by a new PackfileView type (being developed in a branch, will be merged within a few days). PackfileView supports all the same functionality that Eval PMC did, plus some new features as well.

IMCCompiler invoke vtable returns an Eval PMC currently. It has .compile and .compile_file methods (as per PDD31, which is draft) which both will return PackfileView instead. When people upgrade to PackfileView, they will be upgrading to PDD31 compliance at the same time.

I'll post more information about the transition between Eval -> PackfileView once I get the development branch merged.

Changed 3 years ago by whiteknight

  • milestone 3.0 deleted

PackfileView has been merged into master and the deprecation notice for Eval PMC has been added to api.yaml. This ticket will track the status of the deprecation.

Changed 3 years ago by whiteknight

I have created a new branch whiteknight/eval_pmc to remove this. In the branch the Eval PMC has been removed from the source code, but some tests are still failing because they relied on the Eval PMC implementing a curious set of behaviors such as the invoke vtable. Those are are wrong, and should either be updated to use the appropriate interfaces on the PackfileView PMC, or be deleted.

Note: See TracTickets for help on using tickets.