Amzi!News, May 2004
Amzi! Adds Tcl/Tk Tools
Tcl/Tk,
a powerful scripting and graphics toolkit, is supported in the latest
Amzi! release. It allows for Tcl/Tk commands to be embedded in Prolog,
and allows Tcl/Tk to query Prolog. The result is a powerful combination
for building intelligent graphical applications. See the
documentation for details.
A new sample illustrates the Tcl/Tk integration. It implements a graphical
interface on a logicbase query utility.
Amzi!
Debugging Enhancements
The Amzi! source code debugger continues to mature with many new features.
There are four new options on the Debug Stack Frame View menu:
- 'Cut Display' controls whether cut stack frames can still be
examined in the debugger. This is the default and makes it easy to understand
a program with cuts. But it consumes a lot of control stack, so a recursive
program will quickly run out of control stack. When the display of cut
stack frames is off, then programs will run better (although the debugger
still uses more stack than ordinary programs), but the cut stack frames
are no longer available and the variable window reflects the last stack
frame that has not been cut, not the current one.
- 'DCG Variables' controls how generated difference list variables
are displayed in the debugger. They can all be hidden, all displayed,
or have only the first and last displayed
- 'Open Listener' opens a new listener while debugging. This
is very useful examining the dynamic database and issuing queries.
- 'Auto Step' automatically steps through your code a goal at
a time. The execution speed is controlled by the 'Auto Step Speed' command.
In addition, leashing the debug ports (call, fail, redo, exit) has been
improved so step-into and breakpoint stops only occur for leashed ports.
Leashing options are now on the toolbar, and a new 'info' port has been
added for clause heads.
A bug that prevented the remote debugger from running under Java has
been fixed.
Amzi!
Editing Enhancements
One of the top customer requests was for outline sorting and jumping
to the code from the cross referencer. Both have been implemented. The
source code file outline can now be sorted in either line number or alphabetic
order, and the cross referencer will open the source file and line corresponding
to the named predicate when it is clicked on.
Hover help is now available for all Amzi! system predicates, directives,
math functions and constants. Typing [ctrl]-space invokes the completion
processor to help spell all of the above. When you are coding calls to
system predicates, a pop-up box assists you with the parameters.
A new command was added to the toolbar to let you edit a single predicate
instead of the entire file, and F1 (help) is enabled in every Prolog View
and for Prolog-specific commands. This should make it easier to learn
how to use the Eclipse IDE.
We are planning to move to the Eclipse 3.0 version of the IDE as soon
as it is stable.
Amzi!
Server Enhancements (.NET and JSP/Servlet)
The Developer Edition of Amzi! now supports limited web server capabilities
with up to 10 simultaneous users (e.g. invocations of the Logic Server).
The Professional Edition adds a new LSAPI function, LoadFromMemory (and
LoadFromURL for Java) to load an XPL file from memory. This is useful
for network applications where the XPL file is delivered in a JAR or other
binary archive. There is a new sample demonstrating both features.
.NET users no longer need to copy amzi.dll to the windows/system directories
with Visual Studio 2003 and .NET version 1.1. A new C# sample has been
added to demonstrate how to write Prolog predicates in C# and a VB sample
demonstrates the classic pets expert system.
A new JSP shipping advisor sample was added (you can also run this on
our website, see below).
New
Amzi! C++ Class
There is a new file in amzi/include called logicserver.h for C++ users
which has new C++ LogicServer and LSException classes. This means all
the class interfaces to the Logic Server (Java, C++, .NET and Delphi)
have the same methods. The new C++ class uses STL strings and wstrings.
The LSAPI Reference has been updated to reflect this and now presents
the C interface functions (starting with 'ls') and the class interface
functions. Also updated the C++ hello and pets samples to use the new
interface.
The old amzi.h file is now deprecated but will remain in the distribution.
Office Practicum Uses an Amzi! Logicbase for Timely
Vaccinations
Visual
Data's Office Practicum is a software suite for pediatricians to chart,
track, schedule and bill patients. They use an Amzi! logicbase to ensure
timely vaccinations. You can read about their application here.
New Shipping Advisor Demo with JSP
The Java Shipping Advisor sample has been rewritten to run on the Web
using JSP and a Java Bean. The demo has buttons to display the Java and
Prolog code for the application and you can run it from our website at
http://webapps.amzi.com/servlet/jsp/shipPage.jsp
Tech Tips
How to Recover from Problems in Eclipse
Occasionally you will close an Eclipse view like the Cross Referencer
and want to get it back, or you accidentally ran Eclipse with an older
version of Amzi!, or you are getting spurious error messages. A really
useful command in these cases is Window | Reset Perspective. To use it,
first press on the Paw Print on the left side to bring up the Amzi! Prolog
Perspective. Then select the Window | Reset Perspective command from the
menu. You can also use this command in the Debug or any other perspective.
It will restore the layout, menus and toolbars to their defaults.
What to do if Problems Continue
If you continue to have problems with the Amzi! Eclipse IDE please email
us your .log file in your amzi/eclipse/workspace/.metadata directory,
along with a description of the problem or error message.
In the Press
The
Eclipse IDE, part of version 7 of
Amzi!, has won this year's Jolt Award from Software
Development magazine for Language and Development Environments.
The
May issue of the Dr. Dobb's/AI Expert Newsletter is all about genetic
programming, including a Prolog program that can write the member/2 and
append/3 predicates! You can read it here
or at http://www.ddj.com/maillists/
(you can also sign up for the newsletter free at ddj.com).
Amzi! inc.
5861 Greentree Road
Lebanon, OH 45036 U.S.A.
web http://www.amzi.com
tel +1 513 425 8050
|