Visual Prolog: Difference between revisions
mNo edit summary |
m →History |
||
Line 6: | Line 6: | ||
====History==== | ====History==== | ||
[[Image:turboprolog.jpg|200px|right]] | [[Image:turboprolog.jpg|200px|right]] | ||
[[Prolog Development Center]] is a company that was formed out of an older operation that supplied Comal systems to educational institutions in the form of [[UniCOMAL]], they developed a version of Prolog for [[DOS]] that unlike other such systems was a compiled language rather than an interpreter. This gained some notoriety as a Prolog compiler had been considered something of a practical impossibility, the company had solved this by structuring the language in a similar fashion to [[Pascal]] while retaining most other Prolog features, nota bene Comal is a version of [[Basic]] with Pascal structural features so it was not a completely new field for PDC. | |||
The system was licensed to another Danish company called [[Borland]] that added the IDE and graphical toolkit they had been shipping with their [[Turbo Pascal]] product to the system and marketed it as '''Turbo Prolog''', offering it at an unheard of USD price of 99$ in 1986. The low cost and the speed of the system caused something of a sensation at the time and early versions of the systems sold extremely well, enough for Borland to produce a number of add-on toolkits for the language. | The system was licensed to another Danish company called [[Borland]] that added the IDE and graphical toolkit they had been shipping with their [[Turbo Pascal]] product to the system and marketed it as '''Turbo Prolog''', offering it at an unheard of USD price of 99$ in 1986. The low cost and the speed of the system caused something of a sensation at the time and early versions of the systems sold extremely well, enough for Borland to produce a number of add-on toolkits for the language. |
Revision as of 03:03, 28 November 2014
Description
A rapid application development system featuring an IDE, debugger, linker and a strongly typed Prolog native code compiler, known informally as VIP. Versions 5.x could notably cross compile to DOS, OS/2 and MS Windows 16 bit targets in addition to 32 bit OS/2 and MS Windows GUI and text mode targets with almost full source compatibility in addition to the ability to compile Linux and SCO Unix text mode applications. Sadly with version 6 and newer support for all development host and targets other than 32 bit Microsoft Windows NT derivatives was dropped.
As for Visual Prolog as a programming language it is a strongly typed version of Prolog, best described as almost a hybrid of Prolog and Modula 2. In some ways it strangely reminiscent of the more modern programming language Mercury that took a similar path of Wirth family/Prolog family language hybridisation to getting a usable compiled code out of a Prolog system that otherwise would be interpreted. The main difference being that the VIP system is a bona fide business application development system with RAD generators, debuggers and everything else you need to ship a working code while like so many of the Unix derived tools used today, just getting Mercury to compile is a pain involving hops and intermediate C compilers, you can forget about debugging and rapid GUI development.
History

Prolog Development Center is a company that was formed out of an older operation that supplied Comal systems to educational institutions in the form of UniCOMAL, they developed a version of Prolog for DOS that unlike other such systems was a compiled language rather than an interpreter. This gained some notoriety as a Prolog compiler had been considered something of a practical impossibility, the company had solved this by structuring the language in a similar fashion to Pascal while retaining most other Prolog features, nota bene Comal is a version of Basic with Pascal structural features so it was not a completely new field for PDC.
The system was licensed to another Danish company called Borland that added the IDE and graphical toolkit they had been shipping with their Turbo Pascal product to the system and marketed it as Turbo Prolog, offering it at an unheard of USD price of 99$ in 1986. The low cost and the speed of the system caused something of a sensation at the time and early versions of the systems sold extremely well, enough for Borland to produce a number of add-on toolkits for the language.
Prolog traditionalists however were absolutely livid, referring to it as "Pascal in a drag" and maintained that despite the name it was better suited to solving the types of problems that traditional strongly typed languages in the Wirth/Dijkstra branch of the Alogol family were good at rather than the sort on non-deterministic problems Prolog excelled at. Research in the late 80's and early 90's however showed that while Turbo Prolog allowed you to solve an number of traditional deterministic problems in a way similar to the Pascal branch and without the typical -cut needed that was a problematic feature when it came to speed on a Prolog system, the Turbo Prolog system was also good at solving non-deterministic problems and did so in a remarkably "Prolog like" fashion despite the obvious structural differences between the language variants.
What surprised researchers even more was that TP solved certain types of mathematical problems much faster than code compiled with C and Pascal compilers, sometimes by almost impossibly high factors of speed. But with the bulk of the researchers coming from the AI related Prolog/LISP world they did not realise that due to the extremely slow speed of the common IBM PC's all the C and Pascal compilers they were using to compare with the Turbo Prolog one were single pass compilers that traded compiler execution speed for compiler output execution speed, while Turbo Prolog was a multi-pass compiler that did proper optimisations on its code output at the cost of slower execution of the compiler itself, or in other words regardless of the language, TP would always have been faster even though some of the speed gains were due to the language and not the compiler. There were even a couple of research papers published that tried to dissect what was happening inside the Turbo Prolog compiler by comparing the workings with Turbo Pascal and Turbo C, not realising that apart from the IDE, all three development systems were unrelated and while Turbo C and Turbo Pascal shared a similar structure, the Turbo Prolog one was completely different making comparisons completely bogus, if an entertaining read.
Borland released version 2 in 1988 but a number of factors lead to PDC taking over the sales of the system themselves and releasing version 3 in 1989 under the name PDC Prolog. Some of the upheaval that happened at Borland when Niels Jensen left to found Jensen & Partners International (JPI) meant that ties between Borland and PDC were not as strong as they used to be, with the Borland USA office effectively taking control of the company. Sales of TP v2 were not as good as had been with version 1, but there was notably little promotion of Turbo Prolog 2 by Borland and no advertising as such which did no help matters, and to top it all up there were some technical disagreements between the companies as well.
With version 3.2 released in 1990 the company started to offer a 16 bit OS/2 front end that was completely source code compatible with the DOS front end and indeed if you bought the OS/2 version the DOS system was bundled with it. The 3.2 release also saw a rewritten editor that while similar in appearance to the original Borland one was actually written in PDC Prolog and could therefore be integrated into user programs, it also had some interesting features such as hypertext support and the ability to start other programs which meant it was commonly used as a user interface for OS/2 and DOS programs developed with the system.
Version 3.31 of PDC Prolog was delivered in 1992 and added back ends for Xenix and a couple of other Unix like systems for IBM PC compatibles. An OEM version of the Phar Lap DOS extender was shipped with the system that allowed programmers to generate DOS programs for 286 and 386 systems with extended or expanded memory that allowed significantly bigger heaps than standard DOS and thus allowing larger programs to run without constantly swapping out to disk. It also featured a rudimentary support for GUI programming on MS Windows 3.x and OS/2, much like the text-mode version there was source mode compatibility between the GUI code for the two systems.
Version 4 bought an name change to Visual Prolog and some changes to the language, this may have been necessary in part since Prolog and traditional GUI's are not a natural fit, Prolog wants to go recursive in the background at every given opportunity while a GUI wants the back end of the program to wait for any input it may have. The GUI part of the development system was improved in particular. With Version 4.1 released in 1997 there was a huge improvement in the support for 32 bit OS/2 with improvements in the GUI front libraries and back end as well, although the Windows part of the system remained 16 bit.
Visual Prolog version 5 was delivered in January 1998 and bought with it harmonisation of all the separate VPI 16 and 32 bit versions into one cross platform toolkit supporting text mode development on OS/2, Windows, DOS, SCO Unix and Linux/386 and GUI development on OS/2 and Windows. But otherwise changes from 4.1 were primarily internet related and back end improvements, the compiler itself was improved, the system gained a debugger and a new flexible linker was introduced that supported Unices as well as the traditional x86 operating systems meaning that you no longer had to use a native linker or C compiler to deliver compiled applications for the supported Unices.
With version 5.1 the company started to offer a special cut-down version of the system called simply "Teach YourSelf Prolog" that was intended as an introduction to the system and Prolog in general and was available from their homepage as a download or for a nominal fee as a CD disk, prior to this the company had offered a a free "1st Step version" of the Windows 16 bit compiler and time limited demos. With version 5.2 they started to offer a "Personal Edition" of VIP that was available as a CD that contained the full system but would only compile programs that started by displaying a "No commercial usage clause" before the main program ran, and again was sold for a nominal fee to cover postage and packaging fees. A little later the company started to offer the a cut down version as a download, with more recent versions the full "Personal Editions" are no longer available but a cut-down version with fewer functions and libraries has been offered as a free download.
Versions
- Last OS/2 version: Visual Prolog 5.2
- Version 5.1 is the last version that contains support for old Borland Graphics toolkits.
- Latest MS Windows version: 7.5
Links
- http://discuss.visual-prolog.com/viewforum.php?f=1 - Visual Prolog 5.2 discussion forum
License
- Commercial software. OS/2 version discontinued.
Author
Local articles
Publications
Academic
OS/2-eCS specific
- Logic Programming In Native OS/2 Environment - Gregory Bourassa - SCOUG - 1998
- Logic Programming In Native OS/2 Environment - Slides from the above - Archive.org
Real world applications
- Carsten Andersson: A Prolog Implementation of an automated Neural-Network for Diagnosis of Rotating Machinery
- Development of a analysis system for companies financial statements analysis - Balance Consulting - 1998
- The Practical Application of Prolog - From AI Expert 1993
Turbo Prolog
- Khin Maung Yin and David Solomon: Using Turbo Prolog - Que 1986 - ISBN:0-88022-270-0
- Turbo Prolog - The Natural Language of Artificial Intelligence - Borland 1986
- Pascal's emulation of a Prolog program
- Interview with Philippe Khan on Turbo Prolog v1 - From Popular Science 1986