Amzi!News: May 2004

Products and ServicesNews and Mailing ListsCustomer StoriesArticles and  LinksSupport and ForumsSearch and Site MapDownload and BuyContact and About


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