Visual Prolog 8 New Features


Revision as of 15:58, 7 August 2017 by Thomas Linder Puls (talk | contribs) (otherwise)

Presenters is a new feature in Visual Prolog that is used for creating "nice" presentation of data. It can be used when writing data, but more importantly it is used by the debugger to provide a much more programmer friendly presentation of complex data structures.

Build 800



  • Several data structures (notably set and map structures) have presenters attached
  • Asynchronous programming support with future and promise classes (pfc\asynchronous\future)
  • Asynchronous socket support (pfc\asynchronous\asyncSocket & pfc\asynchronous\asyncSocketListener)
  • The low level ioCompletionPort has been superceded by the the higher level threadpool
  • http server fuctionality has been moved from the ioCompletionPort to the threadpool
  • http server have extended with asynchronous webSocket support
  • Library support for logging with several different loggers and an XML based configuration system
  • Support for accessing and manipulating Windows Active Directory (pfc\windowsApi\activeDS_api)
  • Windows compression API support
  • Binding to Microsoft Message Queue (pfc\windowsApi\msmq_api)
  • Support for hashing data (pfc\hash)
  • Segmented memory has been added to avoid huge memory alloctions (pfc\memory\segmented)
  • String and binary streams has been updated to use segmented memory internally to avoid huge memory allocations
  • New multi thread synchronization support (pfc\multithread\atomic & pfc\multithread\compareAndSwap)
  • Non-blocking (compare and swap) synchronized sets and maps (setM_redBlack_cas & mapM_redBlack_cas).
  • Blocking synchronized sets and maps (setM_redBlack_block & mapM_redBlack_block)


Vip is a directory (Commercial Edition only) that provides access to certain internal tools and structures

  • Most of the LALR Parser Generator is moved to the vip directory, so the vipLalrGen demo project in itself contains very little code.


The IDE supports automatic formatting of source code. The feature can be applied manually on the active editor using Edit -> Format File Ctrl+Alt+T, but it can also be switched on as a project setting on Project -> Settings... Alt+F7 -> Build Options.

When creating a new project the option is initially switched on for that project.


  • Presenters are used to provide programmer friendly view of program data.


  • The LALR Parser Generator is updated to automatically generate a lexer from the grammar specification.
  • PIE: Support for integer64
  • vipPP demo for pretty printing Visual Prolog source code (used for formatting in the IDE)
  • Demo project for the logging tool
  • webService demo project that partly replaces the webRPC demo; it has a better structure and contains webSocket demonstration, but does not exist as an isApi version, since webSockets are not supported for isApi.

See also