Yield Prolog 1.0.7 released
Embed Prolog directly in your Python, C# or Javascript program using the yield keyword. There is no API standing between your code and Yield Prolog, so you can use all language features, including arrays, file I/O, user interaction and your own classes.
Release 1.0.7 adds support for Python 3.
Yield Prolog 1.0.6 released
Embed Prolog directly in your Python, C# or Javascript program using the yield keyword. There is no API standing between your code and Yield Prolog, so you can use all language features, including arrays, file I/O, user interaction and your own classes.
Release 1.0.6 is a maintenance release to to support Firefox 46 which uses a new array comprehension syntax. The Yield Prolog query editor now works again in Firefox.
The JavaScript code has been updated internally to support Firefox 46 which uses a new array comprehension syntax. The Yield Prolog query editor now works again in Firefox.
Added prolog_gen which is a Prolog documentation generator. It scans a directory containing Prolog source, and produces documentation similar to Doxygen output, and it uses some components of Doxygen.
Download here and see README.html. Give it a try!
https://sourceforge.net/projects/yieldprolog/files/prolog_gen/
prolog_gen is contributed by Dave Remba. Thanks, Dave!
Embed Prolog directly in your Python, C# or Javascript program using the yield keyword. There is no API standing between your code and Yield Prolog, so you can use all language features, including arrays, file I/O, user interaction and your own classes.
Release 1.0.5 is a maintenance release to (finally) provide the interactive shell for Python.
This release has full support in Python, C# and Javascript for parser, compiler, dynamic predicates and an interactive shell.... read more
Embed Prolog directly in your Python, C# or Javascript program using the yield keyword. There is no API standing between your code and Yield Prolog, so you can use all language features, including arrays, file I/O, user interaction and your own classes.
Release 1.0.4 is a maintenance release to fix some outstanding bugs in the Bugs tracker.
Fixed Bugs:
* 2720953: Wrong result in C# for bagof(a, (Y = f(1) ; Y = f(1)), B).
* 2553270: In query editor, X = 1, L = f(X) doesn't show value for L.
* 2546578: clause/2 needs copy_term.... read more
Embed Prolog directly in your Python, C# or Javascript program using the yield keyword. There is no API standing between your code and Yield Prolog, so you can use all language features, including arrays, file I/O, user interaction and your own classes.
Release 1.0.3 is a maintenance release with speed improvements for Python. (Thanks, Seo!)
Also added support for the ground/1 predicate.
The following is the same as the previous release....... read more
Release 1.0.2 has full support in Python, C# and Javascript for parser, compiler, dynamic predicates and an interactive shell (except the Python interactive shell is forthcoming).
This release fixes bugs so that it passes all but 8 of the 421 tests in the ISO Prolog test suite (see below).
As usual, download at:
http://sourceforge.net/project/showfiles.php?group_id=176875
Try the Javascript query editor at
http://yieldprolog.sourceforge.net/queryEditor.html ... read more
Release 1.0.1 has full support in C# and Javascript for parser, compiler, dynamic predicates and an interactive shell.
This release fixes bugs so that it passes all but 9 of the 421 tests in the ISO Prolog test suite (see below).
As usual, download at:
http://sourceforge.net/project/showfiles.php?group_id=176875
Try the Javascript query editor at
http://yieldprolog.sourceforge.net/queryEditor.html ... read more
Release 1.0 has full support in C# and Javascript for parser, compiler, dynamic predicates and an interactive shell. It passes all but 15 of the 421 tests in the ISO Prolog test suite (see below).
As usual, download at:
http://sourceforge.net/project/showfiles.php?group_id=176875
Try the Javascript query editor at
http://yieldprolog.sourceforge.net/queryEditor.html
Or download the package and try the interactive YPShell.exe in the folder YieldProlog\bin. ... read more
Another Interim release moving quickly towards release 1.0.
In Javascript, support dynamic predicates with assert.
In Javascript, support dynamic goals in call.
In Javascript, now passing most of the ISO Prolog test suite.
Try the Javascript query editor at
http://yieldprolog.sourceforge.net/queryEditor.html
This is another interim release because there is not yet documentation for how to use the Yield Prolog compiler. That will be included in release 1.0 also. ... read more
Interim release moving quickly towards release 1.0.
In C#, support dynamic predicates with assert.
In C#, support dynamic goals in call.
In C#, now passing most of the ISO Prolog test suite.
This is an interim release because these are not yet supported in Javascipt or Python. (real soon now!) And yes I know, there is not yet documentation for how to use the Yield Prolog compiler. That will be included in release 1.0 also.
This release has many updates for the Python version. The Javascript and C# versions of
Yield Prolog can now compile to Python code.
Try the query editor at:
http://yieldprolog.sourceforge.net/queryEditor.html
Updated the fact store for Python to use the
same delayed index as C# and Javascript.
This means when you call YP.assertFact, it simply
stores it. When you call YP.matchFact, it creates
an index as needed. Also supported is
YP.retractFact (but only if retracting all facts
for the predicate/arity).... read more
Added:
* Parser/compiler support for Javascript (in addition to C#)
* Support for findall, bagof and setof
* Many optimizations on the compiler
* Support for most ISO standard math functions
Yield Prolog is now complete enough to be considered Beta.
Bug fix release. Make IndexedAnswers distinguish bewtween a string an an Atom of the same string. Also allow indexing on int.
Added many methods to YP to get closer to ISO Prolog compatibility. (Only setof/3 and a few others remain.) The complier/parser now can compile/parse itself. Changed "foreach f1 in" to "foreach l1 in" to get ready for "l" meaning "last call".
This release uses the new Atom class which
replaces YP.internalize and YP.toString. Also,
predefined atoms are moved from YP to Atom such
as Atom.NIL.
This breaks compatibility with release 0.9.4, so
for the three of you out there who've downloaded
Yield Prolog, you'll have to update your code.
The good news is that the Prolog parser and compiler is coming along nicely and will be
part of release 1.0.
This release has make files for Mono 1.2 under Windows.
The benchmarks include Mono 1.2.
This is a maintenance release with internal code changes.
Made the ListPair class extend Functor2 and added support for internalized strings used by "atoms".
Download the latest Yield Prolog
* Added Tutorial 3 for using ListPair. (The ListPair
class already existed in previous releases.)
* Changed yield to return false instead of null. (to use in future "last call optimization")
This release simplifies "cutting" out of a loop.
The previous version had a binding stack and if
you cut out of a loop early, you had to explicitly
restore the stack. But the brand new Python 2.5
allows try...finally in a generator, which greatly simplifies the code. See the "cutting" tutorial:
http://yieldprolog.sourceforge.net/tutorial2.html
Get the first release of Yield Prolog at
http://yieldprolog.sourceforge.net/
This has support for Python and C#, including
support for ListPair so we can run the "queens"
benchmark.