Difference between revisions of "Visual Prolog 7.3 New Features"
From wiki.visual-prolog.com
(→New packages: update) |
|||
Line 76: | Line 76: | ||
==== Extensions and improvements of existing packages ==== | ==== Extensions and improvements of existing packages ==== | ||
* | * <vp>list</vp> package: | ||
* | ** speed: <vp>sort</vp>, <vp>removeDuplicate</vp>, <vp>drop</vp>, <vp>min</vp>/<vp>max</vp>, etc.) | ||
* | ** functionality: <vp>isMemberEq<vp> (and similar predicates) that uses a <vp>determ</vp> predicate as test | ||
* <vp>listControl</vp> with owner-drawing capabilities | |||
* <vp>uxTheme_native</vp> extended with the rest of the functions and the constants from vsStyle.h, etc. | |||
* Add moving listener/responder to <vp>splitTwoControl</vp> | * Add moving listener/responder to <vp>splitTwoControl</vp> | ||
* Add the fraction handling from <vp>format</vp> to <vp>formatTime</vp> | * Add the fraction handling from <vp>format</vp> to <vp>formatTime</vp> | ||
* | * Speed improvements for: | ||
** <vp>string</vp> | |||
** <vp>fileName</vp> | |||
** <vp>listViewControl</vp> | |||
* <vp>string::rear/2-></vp> returns the rear part of a string | * <vp>string::rear/2-></vp> returns the rear part of a string | ||
* Math package: predicates <vp>roundToInteger64/1-></vp> and <vp>roundToUnsigned64/1-></vp> | * '''Math''' package: predicates <vp>roundToInteger64/1-></vp> and <vp>roundToUnsigned64/1-></vp> | ||
* Better handling of default button size | * Better handling of default button size | ||
* <vp>msXLM_api</vp> update to version 6.0 of | * <vp>msXLM_api</vp> update to version 6.0 of various COMponent classes | ||
=== Others === | === Others === |
Revision as of 14:19, 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
- Marking a particular variable in the 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 packages
- 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 of existing packages
- 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)
- A lot of optimizations for speed and size of generated code
- Some new Demo Examples had been added (Parser Generator, LZDecompression and TreeControlDemo (CE only)).
- VipBuilder: extra option to ignore all required statements.
- Help on built-in entities.
- Extend Win32 library (with more names from MS libraries).
- Provide more context to consult exceptions.
- Linker: speed was improved.
- Vault Integration was updated to version 4.1.4