narain@randvax.UUCP (Sanjai Narain) (02/08/89)
IC-Prolog was brought up by Steve Gregory during a course which Keith Clark gave at Syracuse University in 1980. It may be worthwhile contacting one of these, if this has not already been done. One of the most interesting features of IC-Prolog was the ability to set up coroutining between processes (i.e. predications in the body of a clause). It could be utilized to solve generate-and-test problems quite efficiently (on paper only). Coroutining, in a rewriting context, can be realized in the LOG(F) system, via lazy evaluation. Moreover, this is done is straight Prolog, not in an extension of it. The advantage, of course, is that lazy reductions are performed very efficiently (at approximately the speed of Prolog). How such coroutining can be exploited to program solutions to generate-and-test problems is reported in a paper "Optimization by non-deterministic, lazy rewriting" in the upcoming Rewriting Techniques and Applications Conference. -- Sanjai Narain