Copyright (1997-2013) EDMGROUP Pty Ltd - EZY Prolog Reference

EZY Prolog Virtual Machine


New in EZY Prolog


Download EZY Prolog

main page


EZY Prolog supports Virtual Machine concept.

In object-oriented world there is no such restrictions - due to object encapsulation various programming object could have the same name for functional calls to implement different tasks.


It is a well-known problem in any program interpreter - all function names should have unique name. So, when you try to write something big you should be always care that the name of a clause/function is UNIQUE across whole application.


It is easy when application is small, but once it gets larger - this problem arises when programmer can accidentally re-declare clause, declared in another file.


This problem has been eliminated in EZY Prolog. When interpreter loads prolog rules into memory it creates special object (which I call Virtual Machine). Clauses, compiled for one Virtual Machine (VM), are not accessible from clauses, compiled for another VM.


Due to EZY Prolog GUI-oriented features, EZY Prolog creates VM and associate it with GUI components (such as Dialog). There is a mechanism to pass parameters from one VM to another and receive results back.


When GUI element is closed by EZY Prolog - it destroys associated VM and all compiled clauses.

There is a mechanism to keep compiled clauses by declaring them as global.


EZY Prolog VM is created when:

For more information - see EZY Dialog sample program, which demonstrates how to create VM, pass and receive parameters back to calling program.


Copyright 1997-2013 EDMGROUP (Australia)