Discussions related to Visual Prolog
User avatar
Ferenc Nagy
VIP Member
Posts: 215
Joined: 24 Apr 2007 12:26

Please write more details about the new features of 7.5

Unread post by Ferenc Nagy »

The description of the new features in http://wiki.visual-prolog.com/index.php ... 5#Language is very short.
May I ask the developer team to write some more details and examples?
Language

Improved procedure check for number ranges (e.g. [1..3])
if-then-else expression (in addition to the existing if-then-else statement)
The condition in an if-then-else now contains an implicit cut, and thus allows non-deterministic condition
Improved garbage collection: Typed allocation of objects reduces the possibility of false pointers
Language C/C++ virtual object call compatibility (language thiscall)
New attribute [inline(size)] for inlining byte sequences in structs
Additional string literals syntax
Operator in for member test and iteration
New hasDomain/2-> function, in addition to the existing hasdomain/1 predicate
New deterministic orelse operator
Warning for superfluous static initialization of an object fact if this fact is also initialized in all constructors (the corresponding warning is switched off by the default)
Warning for unused local domains, functors and constants
My favorites are:
  • Improved procedure check for number ranges (e.g. [1..3])
  • if-then-else orelse
  • Operator in for member test and iteration
  • Additional string literals syntax
TIA, Regards,
Frank Nagy
User avatar
Thomas Linder Puls
VIP Member
Posts: 1399
Joined: 28 Feb 2000 0:01

Unread post by Thomas Linder Puls »

Yes, you are right the description is rather "thin".

Right now our wiki is being moved to new hardware and updated, therefore it is currently closed for editing.

So it is limited what I can do in the wiki. Some of the features do however have descriptions elsewhere so you can get a little more information there:
Improved procedure check for number ranges (e.g. [1..3]) means that this predicate/clauses will compile as a procedure in 7.5:

Code: Select all

domains     oneTwoThree = [1..3]. class predicates     p : (oneTwoThree OTT). clauses    p(1) :- write("one").    p(2) :- write("two").    p(3) :- write("three").
In 7.4 it would give the error: e631 The predicate 'p/1 (i)', which is declared as 'procedure', is actually 'determ'.
Regards Thomas Linder Puls
PDC
Post Reply