![]() ![]() If you want to benchmark prolog yourself, hereĪre some ready-made benchmarks for you, and there is also a nice overview. Other anecdotal evidence I received supports these results.Īs for the general case, Fernando Pereira wrote a suite of benchmarks, and In my case, the application compiled with GNU Prolog ran twice asįast as in SWI Prolog, and four times as fast when run with GNU Prolog builds and runs better on Mac OS X (tested) and Linux. Also, you cannot compile anything with it if a file nameĬontains a space or if you install YAP in C:\Program Files. Though a binary installer is provided for Windows, the dependenciesĪre not installed and the application is not registered in the Separate linker (usually the one from MS Visual Studio/C++). The installation is not well-documented and on Windows you will need to get a Prolog, such as multifile/1 or the soft cut (as in *->/2 = if(Goal, Some things that are hard or un-elegant to implement in Programs to native code on various systems. The major advantage of GNU Prolog is that it can compile prolog YAP builds and runs nicely on Windows (tested: binary), Mac OS X (tested) and Linux.Ĭompared to SWI, YAP's big advantage is that it is significantly faster (with my applications factor 4) than SWI Prolog. The compatibility with SICSTUS and other prolog variants. YAP isĪctively maintained (as of 10/2003). The object-oriention library LogTalk runs on YAP as well. Rules, or internal extensions such as attributed variables and coroutining (freeze/2, when/2). Implementation that offers interesting (scientific) extension packages such YAP Prolog, written by Vitor Santos Costa and Ricardo Lopes in Brazil and Portugal is a very complete and very fast, yet feature-rich SWI Prolog has an extremely useful debugger. The big advantage of SWI Prolog is the friendly development environment: the graphical debugger is indispensable, and even the command-line interface offers some goodies like a help system, command completion (Tab key) and command history. The latest beta version includes experimental support for constraint handling rules and variable attributes, including a 'freeze' (coroutining) functionality. ![]() Platforms (Windows (tested: binary), Mac OS X (tested), Linux (tested) etc.). Well-maintained (the developer is very responsive, 02/2004) and available for all major Implement an http server (or client), TCP/IP sockets and many otherįunctionalities. It sports a graphical debugging environmentĪnd a range of libraries that allow you to implement GUIs, use object-orientation easily Most comprehensive Prolog development environment. SWI Prolog by Jan Wielemaker is probably the The kernel (ISO-Prolog compliant sources) with YAP. Then, in the actualĪpplication that is created with the development version, we compile SWI Prolog, to be given away as a runtime. Consequently, the essential question is not: what Prolog isīest, but: which Prolog implementation will fit your needs?įor my recent large prolog project, we compiled a developmentĮnvironment (graphical with http/HTML/Browser-based interface) for the Also, many additions are available for the specific Standard prolog syntax and a set of predicates), there are differences in comfort and speed between the Implementations (ISO defines, in several parts, a While there are more and less complete or "ISO-compliant" It is, however, costly for research applications. There are other variants, such as the well-known, fast Sicstus Use, and available for Unix (including Mac OS X) and Windows. Under the GPL or the LGPL, and all are free for non-commercial * Improved conditional compilation support.įor details and a complete list of changes, please consult the release notes:ĭep.In the following, I compare three Prolog variants. * Improved compilation of Prolog modules as objects. * Improved support for text editors and syntax highlighters. * Improved compatibility with Prolog module libraries. * Improved installation and Prolog integration scripts. * Compatibility updates for most back-end Prolog compilers. * Improved compiler error and warning reporting. * Support for object and category multifile predicates and grammar rules. ![]() Noteworthy changes since the previous major release (2.37.0) are: As a multi-paradigm language, it includes support for both prototypes and classes, protocols (interfaces), component-based programming through category-based composition, event-driven programming, and high-level multi-threading programming. Logtalk is an object-oriented logic programming language that can use most Prolog implementations as a back-end compiler. Logtalk 2.38.0 is now available for downloading:
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |