Visual Prolog 7.2 Upgrade Notes


Upgrading Projects from Visual Prolog 7.2, Build 7201 to Visual Prolog 7.2, Build 7202

  1. The Build 7202 is a service release of of Visual Prolog 7.2. You will need to uninstall a previous build of Visual Prolog 7.2 (build 7201) to install the build 7202 instead of it.
  2. It is recommended to rebuilt existing projects.
  3. Depending on Visual Prolog version, you are upgrading your projects from, some additional actions described below might be required.

Upgrading Projects from Visual Prolog 7.1 to the Latest Build of Visual Prolog 7.2

  1. By default, the installation of Visual Prolog 7.2 will not replace any previously installed versions. The new version will be installed by default to C:\Program Files\Visual Prolog 7.2. You can remove the previous version or continue working with both.
  2. Visual Prolog 7.2 projects are backward-compatible with Visual Prolog 7.1 projects.
  3. If you are going to use different versions of Visual Prolog installed at one computer, avoid opening projects by double-clicking on prj6 files.
  4. Some changes might require automatic updates in Visual Prolog 7.1 projects. Therefore, it is recommended to make the project file (PRJ6) writable before the first build. Also, it is recommended to make copies for all project files first.
  5. When your open project in the Visual Prolog 7.2 IDE it will automatically perform necessary updates.
  6. After this, it is recommended you rebuild the project with the help of the Build | Rebuild All command and answer "Yes to All" to the message "The new module is required to be added into the project".

Upgrading Projects from Visual Prolog 7.0 and Visual Prolog 6.x to Visual Prolog 7.2

Depending on Visual Prolog version, you are upgrading your projects from, some additional actions might be required.

  1. Visual Prolog 7.2 projects are not fully backward-compatible with Visual Prolog 7.0 and Visual Prolog 6.x projects.
    Visual Prolog 7.0 and earlier IDE will not allow opening projects modified by Visual Prolog 7.1 IDE.
    It is recommended to create a backup copy of your project before opening it by the Visual Prolog 7.2 IDE.
  2. If you are going to use Visual Prolog 7.2 simultaneously with Visual Prolog 7.0 or an earlier version at the same computer, it is recommended to switch the IDE setting "Open Project at Startup" in the previous version OFF, to prevent opening Visual Prolog 7.1 projects in the earlier IDE.
    Note that beginning with Visual Prolog 7.1, projects are not opened at startup, and, hence, the setting "Open Project at Startup" is not used anymore.
  3. The following keywords were introduced:
    • In Visual Prolog 7.1: properties, try, catch, finally and elseif.
    • In Visual Prolog 7.0: if, then, else, foreach and do
      That means that they can no longer be used as identifiers.
  4. Stronger treatment of types introduced in Visual Prolog 7.0 might require some changes in your program: typically change of declarations or insertions of explicit conversions might be necessary.
  5. Reference domains are not supported since Visual Prolog 7.0. If your project uses reference domains, we recommend to read the "How To Erase Reference Domains from a Project" tutorial.
  6. G-stack is not used anymore since Visual Prolog 7.0. Hence, all G-stack related predicates have been removed.
  7. Beginning with Visual Prolog 7.0 some accelerator keys have been changed to comply with Microsoft standards.
  8. The format of specifying a fully-qualified (i.e. with an arity) predicate with a return value in resolve/delegate predicates from qualifications has been changed since Visual Prolog 6.2: predicateName//N => predicateName/N->. This may cause error messages while building your project in the latest version of Visual Prolog.
  9. Predicates div and mod have changed their meaning for negative numbers.

In Visual Prolog 6.1

-1 = -5 div 3
-2 = -5 mod 3

Since Visual Prolog 6.2

-2 = -5 div 3
+1 = -5 mod 3

So, each file that contains div or mod in the projects created in Visual Prolog 6.1 should be checked, whether it works correctly. The simplest solution is to replace:

div => quot
mod => rem

in all source files.

See also