Localizing the GHC Suspension Test.

Hamish Taylor · International Conference on Lightning Protection · 1988

Existing proposals for implementing the run-time suspension test for GHC concentrate upon suspending unifications in the bodies of clauses being used to evaluate guard literals. However, by making simple alterations to the guard and adding special primitives to it to localise the requirement to suspend to a primitive in the guard, unifications in the bodies of clauses may proceed without being subject to any suspension check. The result is a clause to clause translation technique from full GHC to a safe variant language, the parallel subset of kernel Parlog, where no unification in the body of a clause suspends. Emulating a translated clause in this language suffices to emulate the original GHC clause. This technique simplifies the implementation of full GHC and allows Parlog implementations with moderate extensions to include a run-time guard safety check where compile-time safety analysis is problematic to apply correctly. Ke ywords GHC, Parlog, suspension, guard safety, parallel execution

Read the paper · More papers on PaperTik