Skip to content

Improve representaiton of polymorphism in Cameligo

  • has a changelog entry

This MR improve abstraction of let toto (type a) (x : a) : a = x buy introducing the big-lambda operator let toto = biglambda a -> lambda (x : a) -> (x : a) as a construct E_type_abstraction

This as the advantages of greatly simplifying all processing in the pipeline as all information to process the rhs of a let_in is now inside the rhs and scoped to the rhs

We decided with exequiel to get rid of _a in Cameligo. and move the detection of such variable in the abstractor for the other syntax. I didn't go further in the abstractor as we are introducing equivalent to (type a).

Edited by Pierre-Emmanuel Wulfman

Merge request reports