WIN-PROLOG is the leading Prolog compiler system for Windows-based PCs. Prolog is an established and powerful AI language which provides a high-level and productive environment based on logical inference.

Brand New 64-bit Version

During the Summer of 2018, and a flurry of intense programming, the classic 32-bit version of WIN-PROLOG was joined by a brand new, 64-bit sibling. Released as version 7.0, it announced to the world on the 29th Birthday of the 32-bit system. So identical are 32-bit and 64-bit versions, that in testing, it proved necessary to colour the welcome banner an application icon red, just to remind testers which version they were running at any given moment!

Both the 32-bit "386-PROLOG" and 64-bit "X64-PROLOG" engines will be maintained in parallel, enabling LPA's long-term support for older, smaller computers as well as squeezing the most out of day's desktop supercomputers.

Native x87 Floating Point Package

A brand new high-precision, floating point maths package was written for WIN-PROLOG 5.0, to replace the previously-used emulation library that has been used since the earliest days of 386-PROLOG. The new package is faster, more accurate, and has been extensively tested for over a year to ensure its integrity and reliability.

Multi-Touch Support

In response to the advent of Windows 8 and multi-touch tablet computers, WIN-PROLOG includes support for multi-touch screens: in future releases, multi-touch will be incorporated into the GUI of WIN-PROLOG's graphical toolkits, such as VisiRule; meanwhile, one example program has been included to demonstrate the use of graphics, touch messages and MIDI support to implement a playable, fully polyphonic on-screen "piano".

Multi-Touch Piano

Musical Instrument Digital Interface (MIDI)

Comprehensive support for the Musical Instrument Digital Interface (MIDI) opens up a whole new world of experimental research and analysis of music, something to which Prolog's inherent pattern matching is well suited. Not only can MIDI sequences be captured and replayed in real time, but special low-level timers and message handlers mean that WIN-PROLOG programs can perform sophisticated transformations and complex manipulations of musical data and system exclusive dumps without interrupting or affecting the accuracy of recording and playback.

Built-in Winsock TCP/IP Support

Creating intelligent Internet applications has never been easier, whether you are simply pulling resources down from websites, or writing complex client/server distributed applications, thanks to the new built-in Windows Sockets (Winsock) support in WIN-PROLOG. Everything you need to write TCP/IP applications is built right into the WIN-PROLOG kernel, and you can extend this functionality even further by purchasing the brand new toolkit, Chimera Agents.

Prolog in Full Colour!

WIN-PROLOG makes programming in Prolog easier than ever, thanks to its powerful "Rich Syntax Colouring", which identifies variables, numbers, strings, predicates, etc., in real time during editing and query entry.

Rich Syntax Colouring

Naturally, colour is not limited to program editing: you can print your source files in colour, and even export them as Rich Text Format (.RTF) files for inclusion in reports and other documentation. And, of course, you can create your own colourful text and graphics application programs...

Colourful Graphics Programs

In-Depth Unicode Support

WIN-PROLOG automatically handles Unicode, the international standard character encoding system which allows all world languages to be represented on screen, in print and as files: moreover, it does this transparently, and without penalising ASCII text files, programs and applications.

Unicode Source Code

Unicode, ASCII and ISO/IEC 8859-1 text may be mixed freely in any project, and can be used for naming predicates, variables as well as the atoms, strings and char lists used for data, whether in source files or in Prolog queries.

Unicode Console Query

Easy Customisation

Whether changing the colours used in Rich Syntax Colouring, or simply tweaking the behaviour of debuggers and compilers, WIN-PROLOG is easily customised through a collection of preferences and configuration dialogs.

Colour Preferences Dialog

Settings can be local to a single session, or stored between sessions: even the commands you type in during a given session can optionally be saved and reloaded into the command history next time you run WIN-PROLOG, saving time and avoiding errors, especially during the edit/debug development cycle.

Powerful Metatools

A powerful and ever expanding set of metatools lets you search for files containing definitions of or calls to specific predicates, display your code as a graphical call graph, cross reference your code to discover undefined or redundant predicates, and more.

Find File Dialog

Extensive Cross-Platform Compatibility

WIN-PROLOG shares the same underlying 32-bit inference engine and architecture as DOS-PROLOG and MacProlog32, and is closely compatible with both the ISO Prolog and Quintus Prolog for Unix. There is a powerful bi-directional DLL interface which allows code written in C, C++, Pascal etc to be accessed and a configurable DDE for linking with other applications (Excel, Word, Visual Basic etc). WIN-PROLOG includes full Unicode support, an attractive multi-window development environment, interactive source-level debugger, integrated editor and high-level access to Windows GUI functions.

WIN-PROLOG and its Toolkits

WIN-PROLOG is the central product in a series that consists of programming tools that works cross-platform on all versions of Windows since 98SE; the series also includes flex, Prolog++, Chimera Agents, the Portable Dialog Manager, and the ProData Database Interface toolkit. These products have access to all the memory available to Windows without restriction. The Windows series uses incremental compilation of user programs to provide the execution speed of a compiler but with the interactive behaviour of an interpreter. A hashing compiler provides lightning fast indexing into large data relations, while an optimizing compiler provides multiple-argument indexing for static code.

Find out more about WIN-PROLOG

Year 2000 compliance in WIN-PROLOG