Jump to content

Visual Prolog: Difference between revisions

From EDM2
Ak120 (talk | contribs)
mNo edit summary
 
(27 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==Description==
{{Software
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.
|Picture=VisualProlog-Box.gif
|Name=Visual Prolog
|Version=OS/2: 5.2 (Jul 2000)<br />10 Build 1002 (Jul 2021)
|Vendor=[[Prolog Development Center]] (PDC)
|Licence=Commercial
|WWW=https://www.visual-prolog.com
}}
'''Visual Prolog''' (''VIP'') is a rapid application development system featuring an IDE, debugger, linker and a strongly typed [[Prolog]] native code compiler. 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 although more modern versions have added 64-bit Windows as a target as well.


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.
The programming language 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====
==History==
[[Image:turboprolog.jpg|200px|right]]
See also: [[PDC Prolog]]
Development company PDC 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 the company.


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.
Version 4 brought a name change to '''Visual Prolog''' and some changes to the language. This may have been necessary in part since Prolog and traditional GUIs 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.


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.
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.


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.
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-ROM. Prior to this the company had offered 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 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.


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 and Partners International|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.
==Versions==
* 4.1 for OS/2 (Sep 1997)


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.
* 5.0 (Jan 1998)
* 5.01 (Apr 1998)
* 5.02 (May 1998)
* 5.1 (Jan 1999) - last version that contains support for old Borland Graphics toolkits
* 5.2 (Jul 2000) - last OS/2 version


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.
* 6.0 (Feb 2003)
* 6.1
* 6.2
* 6.3


Version 4 bought 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 recurse 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.
* 7.0 (Aug 2006) - for Windows XP/2000/NT
* 7.1 (Jul 2007) - for Windows Vista/XP/2000/NT
* 7.2 (Mar 2009)
* 7.3 (Oct 2010) - for Windows 7, Windows Vista, Windows XP, Windows 2000
* 7.4 (Jun 2013) - 64-bit support
* 7.5 (Dec 2014)


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 for a nominal fee. With version 5.2 they started to offer a "Personal Edition" of VIP that was either 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. 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.
* 8.0
* 9


==Versions==
==Local articles==
* '''Last OS/2 version:''' Visual Prolog 5.2
*[[A few notes on running Visual Prolog 5.2 on recent eComStation systems]]
* Version 5.1 is the last version that contains support for old Borland Graphics toolkits.
* Latest MS Windows version: 7.5


==Links==
==Links==
* http://discuss.visual-prolog.com/viewforum.php?f=1 - Visual Prolog 5.2 discussion forum
* [http://www.aistudy.com/program/prolog/visual_prolog/visual_prolog_tutor.htm Tutorial]
 
* [http://www.foibg.com/ijima/vol01/ijima01-1-p09.pdf Polynomial-Time Effectiveness of Pascal, Turbo Prolog, Visual Prolog and Refal-5 Programs]
==License==
* [http://www.scoug.com/reports/ws98_bourassa.html Logic Programming In Native OS/2 Environment] - Gregory Bourassa - SCOUG 1998 [https://web.archive.org/web/20000308211614/http://www.magma.ca/~bourassa/warpstck.htm Slides]
*Commercial software. OS/2 version discontinued.
* [http://discuss.visual-prolog.com/viewforum.php?f=1 Visual Prolog 5.2 discussion forum]
==Author==
*[[Prolog Development Center]] PDC
 
==Related Articles==
*[[A few notes on running Visual Prolog 5.2 on recent eComStation systems]]


==Publications==
;Real world applications
* [http://www.foibg.com/ijima/vol01/ijima01-1-p09.pdf Polynomial-Time Effectiveness of Pascal, Turbo Prolog, Visual Prolog and Refal-5 Programs]
* Carsten Andersson: ''A Prolog Implementation of an automated Neural-Network for Diagnosis of Rotating Machinery''
* [http://dl.acm.org/citation.cfm?id=53027 Pascal's emulation of a Prolog program]
* [http://rastka.com/pap98_e.pdf Development of a analysis system for companies financial statements analysis] - Balance Consulting - 1998
* [http://books.google.co.uk/books?id=YGOSX-zIZ00C&pg=PA92&dq=pdc+prolog&hl=en&sa=X&ei=csZ1VKL_AejY7AbivoHYBA&ved=0CE4Q6AEwBzg8#v=onepage&q&f=false Interview with Philippe Khan on Turbo Prolog v1] - From Popular Science 1986
* [http://www.drdobbs.com/parallel/the-practical-application-of-prolog/184405220 The Practical Application of Prolog] - From AI Expert 1993
* [http://www.drdobbs.com/parallel/the-practical-application-of-prolog/184405220 The Practical Application of Prolog] - From AI Expert 1993
* Khin Maung Yin and David Solomon: Using Turbo Prolog - Que 1986 - ISBN:0-88022-270-0


[[Category:Tools]] [[Category:DOS Tools]] [[Category:MS Windows Tools]] [[Category:Linux Tools]] [[Category:SCO Tools]] [[Category:Xenix Tools]]
[[Category:Prolog]]

Latest revision as of 22:22, 16 November 2022

Visual Prolog
Name Visual Prolog
Version OS/2: 5.2 (Jul 2000)
10 Build 1002 (Jul 2021)
Vendor Prolog Development Center (PDC)
Author
Licence Commercial
WWW https://www.visual-prolog.com

Visual Prolog (VIP) is a rapid application development system featuring an IDE, debugger, linker and a strongly typed Prolog native code compiler. 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 although more modern versions have added 64-bit Windows as a target as well.

The programming language 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

See also: PDC Prolog

Version 4 brought a name change to Visual Prolog and some changes to the language. This may have been necessary in part since Prolog and traditional GUIs 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-ROM. Prior to this the company had offered 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 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

  • 4.1 for OS/2 (Sep 1997)
  • 5.0 (Jan 1998)
  • 5.01 (Apr 1998)
  • 5.02 (May 1998)
  • 5.1 (Jan 1999) - last version that contains support for old Borland Graphics toolkits
  • 5.2 (Jul 2000) - last OS/2 version
  • 6.0 (Feb 2003)
  • 6.1
  • 6.2
  • 6.3
  • 7.0 (Aug 2006) - for Windows XP/2000/NT
  • 7.1 (Jul 2007) - for Windows Vista/XP/2000/NT
  • 7.2 (Mar 2009)
  • 7.3 (Oct 2010) - for Windows 7, Windows Vista, Windows XP, Windows 2000
  • 7.4 (Jun 2013) - 64-bit support
  • 7.5 (Dec 2014)
  • 8.0
  • 9

Local articles

Links

Real world applications