<HTML>
<HEAD>
<TITLE> B-Prolog </TITLE>
</HEAD>
<BODY>
<IMG align=left SRC="http://www.cad.mse.kyutech.ac.jp/people/zhou/bprolog/bprolog.jpg">
<IMG align=right SRC="http://www.cad.mse.kyutech.ac.jp/people/zhou/bprolog/bprolog.jpg">
<center>
<H1> Version 4.0 </H1>
<hr>
<nobr>
| <A HREF="http://www.cad.mse.kyutech.ac.jp/people/zhou/bprolog/copyright.html"> Copyright </A>
| <A HREF="#DOWNLOAD"> Download </A>
| <A HREF="http://www.cad.mse.kyutech.ac.jp/people/zhou/bprolog/install.html"> Install </A>
|<A HREF="http://www.cad.mse.kyutech.ac.jp/people/zhou/bprolog/faq.html"> FAQ </A>
| <A HREF="index.html"> Contact </A>
| <A HREF="index.html"> Papers </A>
| <A HREF="http://www.cad.mse.kyutech.ac.jp/people/zhou/bprolog/manual/manual.html"> User's Manual</A>
|<A HREF="http://www.cad.mse.kyutech.ac.jp/people/zhou/bprolog/bp20.html"> Old versions </A> |
</nobr> <br>
<nobr>
</nobr>
</center>
<hr>
<BR>
<FONT FACE="Helvetica"><P ALIGN="JUSTIFY">B-Prolog (Version 4.0) is a compact and complete CLP system that runs Prolog and CLP(FD) programs. An emulator-based system, B-Prolog has a performance comparable with SICStus-Prolog. Since release in 1994, it has been greatly improved in performance, functionality, robustness, and portability. It has successfully passed a test running 100,000 lines of programs and has been used to run several large applications including commercial ones. Last but not least, B-Prolog is free of charge for non-commercial applications.</P>
<H2><IMG SRC="gif/ball.red.gif"> Features</H2>
<UL>
<LI>In addition to Edinburgh-style programs, B-Prolog accepts canonical-form programs that can be compiled into more compact and faster code than standard Prolog programs.</LI>
<LI>B-Prolog includes an interpreter and provides an interactive interface through which users can consult, list, compile, load, debug and run programs. In version 3.1, a command editor that enables old commands to be reused is included<sup><span style="color:red"> new </span></sup>.</LI>
<LI>B-Prolog provides an interface through which C functions can be called from Prolog, and stand-alone applications can be developed easily. In version 3.1, B-Prolog is also callable from C<sup><span style="color:red"> new </span></sup>.</LI>
<LI>B-Prolog supports most of the built-ins in ISO Prolog. </LI>
<LI>B-Prolog supports the delaying (co-routining) mechanism, which can be used to implement concurrency, test-and-generate search algorithms, and most importantly constraint propagation algorithms. </LI>
<LI>B-Prolog has an efficient constraint compiler for constraints over finite-domains and Booleans.</LI>
<LI> B-Prolog provides a special data structure, called state tables, that can
be used to represent states in search algorithms.</LI>
<LI>Version 3.1 supports a bi-directional interface with Java<sup><span style="color:red"> new </span></sup>.</LI>
<LI>Version 4.0 supports tabling<sup><span style="color:red"> new </span></sup>.</LI>
</UL>
<H2><IMG SRC="gif/ball.red.gif"> Platforms</H2>
<UL>
<LI>Testing confirms that B-Prolog works on Windows PCs and unix workstations including SPARC, HP, Sony News, and Linux PC.</LI>
</UL>
<H2> <IMG SRC="gif/ball.red.gif"> <A NAME="DOWNLOAD"> Download </A> </H2>
<P> <i>Please read the <a href="http://www.cad.mse.kyutech.ac.jp/people/zhou/bprolog/copyright.html">copyright notice</a> first and understand that any commercial use of B-Prolog requires purchase a license from the copyright holder.</i><P>
<UL>
<LI>
<TABLE BOARDER>
<TR>
<TH ALIGN="left"> <A HREF="http://www.cad.mse.kyutech.ac.jp/people/zhou/bprolog/bp31_win.tar.gz"> bp31_win.tar.gz </A> </TH>
<TH ALIGN="right"> <A HREF="http://www.cad.mse.kyutech.ac.jp/people/zhou/bprolog/install.html"> Installation instructions </A> </TH>
</TR>
<TR>
<TH ALIGN="left"> <A HREF="http://www.cad.mse.kyutech.ac.jp/people/zhou/bprolog/bp31_solaris.tar.gz"> bp31_solaris.tar.gz </A></TH>
<TH ALIGN="right"> <A HREF="http://www.cad.mse.kyutech.ac.jp/people/zhou/bprolog/manual.ps.gz"> manual.ps.gz (Postscript) </A> </TH>
</TR>
<TR>
<TH ALIGN="left"> <A HREF="http://www.cad.mse.kyutech.ac.jp/people/zhou/bprolog/bp31_sunos.tar.gz"> bp31_sunos.tar.gz </A> </TH>
<TH ALIGN="right"> <A HREF="http://www.cad.mse.kyutech.ac.jp/people/zhou/bprolog/manual.tar.gz"> manual.tar.gz (HTML) </A> </TH>
</TR>
<TR>
<TH ALIGN="left"> <A HREF="http://www.cad.mse.kyutech.ac.jp/people/zhou/bprolog/bp31_unix.tar.gz"> bp31_unix.tar.gz </A> </TH>
<TH ALIGN="right"> <A HREF="http://www.cad.mse.kyutech.ac.jp/people/zhou/bprolog/benchmarks.tar.gz"> benchmarks.tar.gz </A> </TH>
</TR>
</TABLE>
</UL>
<P> The packages for Windows, SunOS, and Solaris contain both the executables and the C sources which are included because some users might want to add new built-ins in C into the system and recompile the emulator. The Java interface works only on Windows and Solaris machines. To extract files from "bp31_win.tar.gz", you need <A HREF="http://www.cad.mse.kyutech.ac.jp/people/zhou/winzip95.exe"> WinZip </A> and <A HREF="http://www.cad.mse.kyutech.ac.jp/people/zhou/tar.exe"> tar</A>. </P>
<P> The recommended directory is "C:\" for Windows and "$HOME/" for unix. The extracted files will be stored in a directory, called "BProlog", that has to following structure:</P> <pre><space>
bp or bp.bat:The shell file to start B-Prolog bp.out:Machine independent byte code bp.dll or libbp.so:Dynamic link library for Windows or Solaris readme.html:This html file install.html:Installation instructions copyright.html:Copy right notice faq.html:Frequently asked questions Emulator/bprolog.exe: Machine depandent executable code Emulator/: All C sources and machine depandent executable code Examples/: Examples that use CLP(FD) and the Java interface
</space> </pre>
<H2> <IMG SRC="gif/ball.red.gif"> What are missing </H2>
<UL>
<LI> Module system
<LI> Garbage collector
</UL>
<H2><IMG SRC="gif/ball.red.gif">Acknolwdgement</H2>
<FONT SIZE=-2>
<P> Since the software was released in March 1994, it has been greatly
improved in performance, functionality, versatility, and portability.
Kenichi Katamine (katamine@ai.kyutech.ac.jp) helped me port the
system to MS-DOS (Windows) and raised my concern in Chris Thewalt' <I> getline</i> program which is used as the command reader in B-Prolog, Naoyuki Nide (nide@ics.nara-wu.ac.jp)
provided me with useful information about how to port the system to
HP, and Osamu Takata (takata@kis.tylabs.co.jp) made many good
suggestions while he developed a CAD system with B-Prolog. I would
like to thank them and all other people who have sent me bug reports
and comments.</P>
<P> This distribution includes the following public domain software: <i>
read.pl</i> by D.H.D. Warren and Richard O'Keefe; <i> token.c</i>, <i>
setof.pl</i> and <i> dcg.pl</i> by Richard O'Keefe. The loader <i>
loader.c</i> is based on the one used in SB-Prolog. The Java interface was based on JIPL developed by Nobukuni Kino. I would also like to thank all the authors for making their programs accessible to the
public. The copyrights of these programs are owned by their authors as
written in the sources. </P>
</FONT>
<H2><IMG SRC="gif/ball.red.gif"> Contact</H2>
<pre>
<a href="http://www.cad.mse.kyutech.ac.jp/people/zhou/index.html">Neng-Fa Zhou</a>
Faculty of Computer Science and Systems Engineering
Kyushu Institute of Technology
680-4 Kawazu, Iizuka, FUKUOKA 820-8502, JAPAN
<a href="mailto:zhou@mse.kyutech.ac.jp">zhou@mse.kyutech.ac.jp</a>
Tel.+81-948-29-7774
Fax.+81-948-29-7760
</pre>
</BODY>
</HTML>
