Next: , Previous: , Up: compiler   [Index]


17.15 Sanitizing bindings

This compiler pass makes sure that every clamba struct appears as direct right–hand side expression in a fix struct:

(fix ((?lhs ?clambda)) ?body)

The following bindings are exported by the library (vicare compiler).

Function: pass-sanitize-bindings input

Perform code transformations traversing the whole hierarchy in input, which must be a struct instance representing recordised code, and building a new hierarchy of recordised code; return the new hierarchy.

Perform the following transformations:

In the returned struct of recordised code: all the clambda structs appear in the code as right–hand side initialisation expressions of fix structs; all the bind structs have a non–clambda struct as right–hand side initialisation expression.