Difference between revisions of "Visual Prolog 7.3 New Features"
From wiki.visual-prolog.com
m (→Extensions and improvements:  update)  | 
				m (__NOTOC__)  | 
				||
| Line 1: | Line 1: | ||
{{Preliminary Documentation}}  | {{Preliminary Documentation}}  | ||
__NOTOC__  | |||
=== Language ===  | === Language ===  | ||
Revision as of 14:45, 23 March 2010
Template:Preliminary Documentation
Language
- Generic Interfaces and Classes
- Conversion to generic type
 
 - Monitors with guards
 - New operator == (must-unify)
 - Universal term type any and the predicate toAny/1->
 - The precedence of unary minus is changed (so that power operator has higher precedence)
 - New built-in predicate fromEllipsis : (...) -> any* Terms
 - Runtime distinction between privately and publicly supported interfaces is removed
 - Preparations for supporting 64bit systems: built-in types integerNative and unsignedNative
 - Extended versions of built-in predicates toTerm/2-> and tryToTerm/2-> (type as the first parameter).
 - Native interfaces support (attributes):
 - Other new attributes retired, noDefaultConstructorused
 - External resolution is default for predicates declared with apicall calling convention.
- They cannot have clauses
 - explicit externally resolution is only legal when a DLL is stated
 
 
New warnings
- Local object predicates which do not use This (and therefore can be declared as class predicates)
 - Unused local constants
 - Condition of foreach statement which has no backtrack point (i.e. mode is not multi<vp/> or <vp>nondeterm<vp/>)
* <vp>unheckedConversion's that would be illegal on 64 bit platforms (e.g. pointer -> integer) 
IDE
- Project tree is redesigned and reimplemented
 - IncludedIn and Includes windows is moved to preview pane of project window
 - Browse dialog is improved (automatically jump to the 1st occurrence of search entity on locate, save the last dialog position, etc.)
 - Find In Files dialog is improved (one result window, F8 for next, mixed case sensitive search mode, state is saved, etc.)
 - Namespaces support is improved (it’s possible to put forms, etc. in a namespace)
 - IntelliSense feature is strongly improved for typing speed and convenience of work
 - Improved tab navigation dialog, use ALT button for filtering [ReadOnly] windows and Del for closing windows
 - Simplify project creation: Project Kinds (Console application, GUI application and DLL) instead of UI Strategy and Target Type
 - Dump view improvements (Shift+F2)
 - Sorting feature in Errors Window, Break points Window, etc
 - Optimal Set of Includes improved (output, local scopes, etc.)
 
Debugger
- Highlighting changed values in variable window
 - View of long lists improvement
 - Speed of restarting is improved
 - Memory break points and fact access (for some types)
 - Multi-threaded application debugging is improved (thread names, break points handling)
 - Multi-line tool tips
 
PFC
New entities
- Collection library
- Algebraic: redBlackSet, leftistPriorityQueue
 - Modifiable: mapM_redBlack, priorityQueueM_leftist, queueM_fact, setM_redBlack
 - Persistent: mapP_redBlack, priorityQueueP_leftist, queueP_fact, setP_redBlack
 
 - varM modifiable variable
 - linkControl PFC version of the Link common control
 - richEditControl PFC version of the RichEdit common control
 - treeControl PFC model based version of the TreeView common control
 - gdiplus PFC version of GDI+
 - cryptography hash, sha1, md5 & base64
 - eventSource generalization of event notification/listening
 - monitorQueue thread safe queue class based on the monitor facility
 - reflection basic functionalty for code reflection
 - inputStream_null & outputStream_null media-less streams (input is exhausted; outpt throws away)
 - lZ_fileSystem_native Interface to Lempel-Ziv Decompression API functionality
 - shell_api Api level interface to the Windows Shell
 - winsock2_native native bindings to Windows Sockets 2
 
Extensions and improvements
- list package:
- speed: sort, removeDuplicate, drop, min/max, etc.)
 - functionality: isMemberEq<vp> (and similar predicates) that uses a <vp>determ predicate as test
 
 - listControl with owner-drawing capabilities
 - uxTheme_native extended with the rest of the functions and the constants from vsStyle.h, etc.
 - Add moving listener/responder to splitTwoControl
 - Add the fraction handling from format to formatTime
 - Speed improvements for:
- string
 - fileName
 - listViewControl
 
 - string::rear/2-> returns the rear part of a string
 - Math package: predicates roundToInteger64/1-> and roundToUnsigned64/1->
 - Better handling of default button size
 - msXLM_api update to version 6.0 of various COMponent classes
 
Others
- More efficient memory handling; using typed memory allocation for compound terms and internal facts chains
 - Various optimizations for speed and size of generated code
 - New Demo Examples (Commercial Edition only):
- Parser Generator
 - LZDecompression
 - TreeControlDemo
 
 - Help on built-in entities
 - VipBuilder: extra option to ignore #requires directives
 - Extend Win32 library (with more names from MS libraries).
 - More context to consult exceptions
 - Linker speed improvement
 - Vault Integration updated to version 5.0.1
 
