cucapra / packet-scheduling

MIT License
3 stars 0 forks source link

Update Interpreter To Include New Policies #44

Closed KabirSamsi closed 4 months ago

KabirSamsi commented 4 months ago

37 gave us an interpreter and well-formedness checker. #41 gave us the ability to express non-work conserving policies in the DSL.

Unfortunately, the parallel progress on both of these tracks means that the interpreter, along with pretty-printing functionality, was released without accounting for the latest policies in the DSL. This PR attempts to fix that by extending the functionality of the interpreter. This also introduces adds test scripts for the programs for the new policies, cleans up the code for evaluation and pretty printing and ensures that the types are properly flattened throughout the evaluator.

KabirSamsi commented 4 months ago

An unfortunate realization I'm having is that #42 seems to implement most of the code fixes I thought of for this PR. It's up to @anshumanmohan about how we should reconcile these, but I think that the three main issues of #42 are all addressed here:

1) Flattening 2) Fixing (and properly organizing) parsing & pretty printing 3) Cleaning up string_of_policy.

KabirSamsi commented 4 months ago

Never mind, I think we're ok! I managed to merge and reconcile changes from main into here, and everything still works :)

KabirSamsi commented 4 months ago

I think I've accounted for everything that was asked for now!