I think what caught my attention was his use of representation – … i will need to check.
Now consider a seamless integration:
where Prolog client code calls java:elevator(5000, N)
With, say, java: a distinguished module (and Java class or object) for Java implemented code; now its the Java VM performing the steps in Java binary (or CPU native jit compiled code), not the Prolog VM in prolog VMI … what would the speed up be?
I guess, in this example, to simplify - elevator is made a “class” (static?) method of the Java bridging (“foreign” interface) class – i.e. the Java class serves as a facade [1] to the Java implemented portions of the system.
Dan
[1] in the Gang of Four terminology …