Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!waikato.ac.nz!comp.vuw.ac.nz!canterbury!fore057 From: fore057@csc.canterbury.ac.nz Newsgroups: comp.lang.prolog Subject: Re: Environments Message-ID: <1991Mar23.162203.305@csc.canterbury.ac.nz> Date: 23 Mar 91 04:22:02 GMT Organization: University of Canterbury, Christchurch, New Zealand Lines: 57 I use PDC Prolog for most of my development work. The things I like about the development environment are: o Code can be compiled and tested in memory, and then compiled into an object file with no modification. o During compilation, all sorts of minor bugs are detected and flagged, such as variables used once in a clause, mismatched types, non-deterministic clauses (unless specifically declared as such), etc., and the cursor is placed at the location of the bug, in the editor, and a clear message describing the error is given in another window. o Users have plenty of control over memory allocation for code, stack, heap, and so on. o Excellent diagnostics are available for code comparisons. o The trace and short-trace facilities are exceptionallly easy to follow, with variable values shown in one window whilst the clauses used are shown in another. o There is plenty of on-line help, plus a very complete set of manuals. o Projects can be linked and tested (if enough RAM is available) from within the environment. o Sources and libraries can be placed in organised subdirectories, and accessed as needed. Source files can be included in modules simply by indicating their names within the modules. As for the non-prolog features, I have no objection to typing variables, in fact I appreciate the easier debugging and speed which typing provides. I also have not yet found the fact that no conditional clauses can be asserted or saved during program execution to be a severe limitation. As for external disk or EMS databasing with multiple (LAN) access and B+tree indexing, well, I couldn't do without them now! The Borland Graphics Interface is also a plus. It's a case of horses for courses, I guess. Additional things I would like added are: o An overlay facility in the linker. o Object files larger than 64 kb. o A version for microsoft windows (there are already versions for OS/2 and UNIX). o The ability to go to a specified position within the source code. If run-time errors occur, the module name and error position (as an integer value) are given, and it would seem to be relatively trivial to configure the editor to place the cursor at the specified position, but this facility is not provided. Regards, Euan