A WORKBENCH SYSTEM FOR NOVICE PROLOG PROGRAMMERS - VISUALLY-STRUCTURED INTERACTIVE TRACER AND PHOTOTYPE-BASED PROGRAMMING SUPPORT

Citation
K. Itoh et al., A WORKBENCH SYSTEM FOR NOVICE PROLOG PROGRAMMERS - VISUALLY-STRUCTURED INTERACTIVE TRACER AND PHOTOTYPE-BASED PROGRAMMING SUPPORT, IEICE transactions on information and systems, E77D(1), 1994, pp. 57-67
Citations number
NO
Categorie Soggetti
Computer Science Information Systems
ISSN journal
09168532
Volume
E77D
Issue
1
Year of publication
1994
Pages
57 - 67
Database
ISI
SICI code
0916-8532(1994)E77D:1<57:AWSFNP>2.0.ZU;2-V
Abstract
The paper proposes and reports on pototyping a work bench system for n ovice Prolog programmers which consists of a visually-structured inter active tracer and a prototype-based programming support. The tracer ac tually is a simulated interpreter in Prolog, It is interpreted by a Pr olog interpreter being embedded with facilities interfacing programs i n Prolog and the objects programmed in C. It displays, by way of these objects, the past, current and future goals, highlights variable shar ing and value substitution, and marks the current goals and backtrack choice points. It is at user's will to let the tracer show and hide su bgoals as well as to let it backtrack when it failed, step back for re doing or terminate tracing. The programming support module first provi des the programmer with structural prototype patterns and the roles of the constituent functions. We developed a support system for the 2 ty pes of recursive definitions. After having selected the prototype, the user is requested to specify the data types and the names of variable s to be put in the arguments, which propagate through the structure. T he support module then offers a menu of primitive or user-registered c onstituent functions as may be useful in processing and/or obtaining u ser-specified types of data. Thirdly the system lets the user express his/her intention by sample input-output data instances in his/her tas k goals. It makes the values propagate through the structures thus mot ivating the user to design the constituent functions. At the goal recu rsion point, the user is allowed to creep into examining the definitio ns of the reduced versions of the instances, helping the user find the condition with which the recursion terminates. Finally the module ass ists the user to convert the structural descriptions into Prolog progr ams.