Discussions related to Visual Prolog
User avatar
Posts: 23
Joined: 2 Mar 2000 0:01

Visual Prolog discussion forum

Unread post by PDC »

We are very pleased to welcome you to the Visual Prolog discussion forum.

The subject of this forum is the programming language Visual Prolog.

If you experience problems then please write about it to support@visual-prolog.com.

Posting must be done in English. Non-english posts will be deleted.
Spam will be removed and the user (typically a bot) responsible for the spam will be deleted without any notice.


Please surround your code with [code]...[/code] tags to get it token colored.

Code: Select all

clauses    p(X, true) :-        if X < 12 then            write("Hello")        end if.
Compiler/Linker Errors

If your question have to do with a compiler error, remember to write which error and to include the code that gives the error. E.g.:

Why does this code give a w651 Unreachable or excessive code:

Code: Select all

clauses     run() :-         if fail then             write("Why") % w651 Unreachable or excessive code (removed by the optimization)         end if.
Runtime errors

In case of runtime errors include the exception dump (here using [quote]...[/quote] tags):
Float point divide by zero

error code = 1
ExtraInfo = Exception C000008E: Float divide by zero

realDivideByZero (runtime_exception)
C:\myProg\exe\vipKernel.dll (0x140063C5)
C:\WINDOWS\SYSTEM32\ntdll.dll (0x77109D62)
C:\WINDOWS\SYSTEM32\ntdll.dll (0x77109D34)
C:\myProg\exe\vipKernel.dll (0x1400879C)
C:\WINDOWS\SYSTEM32\ntdll.dll (0x770F0BF6)
c:\Program Files ...\pfc\windowsapi\exe_api\exe_api.pro(54)
c:\Program Files ...\pfc\application\exe\mainexe.pro(33)
c:\Program Files ...\pfc\application\exe\mainexe.pro(20)
c:\Program Files ...\pfc\console\console.pro(238)
C:\myProg\exe\vipKernel.dll (0x14008BE4)
C:\myProg\exe\vipKernel.dll (0x14008F4D)
C:\myProg\exe\all_pfc.exe (0x0085D3E7)
C:\WINDOWS\SYSTEM32\ntdll.dll (0x770E4A47)
C:\WINDOWS\SYSTEM32\ntdll.dll (0x770E4A17)
OS: Windows 10.0 Build 16299 64-bit
And the relevant code:

Code: Select all

clauses     run() :-         R = reciprocal(0).   class predicates     reciprocal : (real Value) -> real Reciprocal. clauses     reciprocal(Value) = 1 / Value.  % runtime exception here