This release brings ready-made predicates for reading and writing of XML, ...
Move to
=> <=
Darueber Spitze
See also
MINERVA2.4
MINERVA2.3
MINERVA2.2
MINERVA2.1
MINERVA2.0
MINERVA1.3
MINERVA1.2
MINERVA1.1
MINERVA1.0
IF Computer > MINERVA > Manual > Release Notes > MINERVA2.2

MINERVA2.2

This release brings ready-made predicates for reading and writing of XML, stronger text processing on atoms and terms, an easier to program access to blackboard data, long awaited term vectors (index-accessed resizable arrays of terms), timer predicates for fine grained user or process interaction, merge sort on lists, deterministic meta call, a set of predicates for client-server distributed processing, and again some improvements due to customer suggestions which we gratefully acknowledge.

The ExamplePrograms now include the use of JavaScript from within MINERVA.

The documentation on extending MINERVA statically and dynamically underwent a major cleanup.

Notes:

  1. *.mbc MINERVA binary code is not compatible to previous releases of MINERVA. Please recompile *.min source files to update your *.mbc binary code files.
  2. *.min MINERVA source programs are upward compatible except for some GUI predicates that referred to now deprecated Java methods.
  3. Please update your *.msp and *.mca MINERVA Startup Property and Compressed Archives if you are using custom files that access MINERVA libraries.
  4. This version executes on Java 1.1 and on Java 1.2. (Caution: Netscape 4.0.4 and earlier do not suffice.)

New Functionality:

  1. Processing XML Terms

    Input, output, conversion of XML terms to and from Prolog terms. XML as description language matches well with MINERVA as language to implement the semantics of XML terms. Persistent data in XML format provide a convenient way of integrating other XML-aware software components. Predicates offered:

    read_xml/2/3, write_xml/1/2, term2xml/3, term2xmldoc/3, xml2term/3, xmldoc2term/3

    details

  2. stronger text processing on atoms and terms

    The text processing library was extended with a few new predicates for frequently used tasks and comprises now:

    atom_chars/2, atom_codes/2, atom_concat/3, atom_concat/2, atom_length/2, atom_number/2, atom_lower/2, atom_upper/2, char_code/2, number_chars/2, number_codes/2, parse_atom/2/3, sub_atom/5, write_atom/2, writeq_atom/2

    details

  3. easier to program blackboards

    Blackboards, i.e. fast hashed named tables for working data, were extended for more programming flexibility. You can dynamically add/delete single items or whole named data sets. You can create independent name spaces. Offered predicates are now:

    bb_clear/1, bb_clear/2, bb_contains/2, bb_contains_key/2, bb_create/1, bb_get/3 , bb_get/4, bb_put/3, bb_put/4, bb_remove/2, bb_keys/2, bb_elements/2

    details

  4. data type vector

    A term vector is a dynamically resizable index-accessed array of terms. It allows efficient indexed access which is clumsy to implement e.g. with lists. It allows destructive assignment of elements. This data structure is very convenient for efficient handling of possibly large well-structured tables of data. Offered predicates are:

    tv_add/2, tv_create/1, tv_get/3, tv_list/2, tv_set/3, tv_setsize/2, tv_size/2

    details

  5. timer predicates

    A simple programming interface to use multi-threading for asynchronous timing. Timing is an essential element e.g. for fine grained user interfaces and for real time systems. The complexity of multi-threading is abstracted away with the notion of listeners for registered callbacks. Predicates are:

    timer_close/1, timer_create/2, timer_is_active/1, timer_start/2, timer_stop/1

    details

  6. merge sort on lists

    Sorts lists without removing doubles.

    merge_sort/2

    details

  7. deterministic meta call

    For software engineering reasons added was a meta call that executes its goal only once and throws an exceptions if the goal fails. This construct is needed for robust programs in situations where logic failure does not make sense, e.g. processing of callbacks from user interaction.

    fcall/1

    details

  8. predicates for distributed client-server processing

    A high level programming interface for communication between distributed MINERVA processes over Internet sockets. Allows to send and receive fully structured MINERVA terms e.g. for cooperating agents, delegation, multi-client and/or multi-server systems.

    Allows to run server side MINERVA processes in daemon mode.

    Please note the relation to XML handling (see above) and asynchronous timing (see above).

    client_start/3, client_stop/1, listener_start/3, listener_stop/3, send/2, send/2, server_start/4, server_stop/1

    details

  9. Calling JavaScript

    An example of the integration of client side JavaScript into client side MINERVA was added upon customer request. This is sometimes convenient to drive existing JavaScript programs from MINERVA, or, on Microsoft operating systems, COM components. The example given is very simple to understand and compatible across Netscape and Internet Explorer.

    details

  10. Improved Documentation on integrating Java programs
    Extending MINERVA with own or third party Java classes is now much better documented. Covered are the differences of static and dynamic linking (via reflection), along with usage hints on the automatic interface generator metagen, opposed to the finer grained system level interfaces.

    details

Please also re-read the Release Notes of previous versions of MINERVA. You have feedback on this release or requests for the next? Please let us know!

read on...
MINERVA
ifcomputer logo
f
Expert Services on the Web
Sprache
English
Japanese
Server
USA
Japan
Site Access
Local Index
Local Contents
Site Contents
Site Index
Printer Friendly
For imode
For PDA
Search
document: http://www.ifcomputer.co.jp/MINERVA/Manual/ReleaseNotes/MINERVA2.2/home_de.html
published 2008/10/6 update 2002/3/11 (c) 1996-2006 IF Computer Japan
IF Computer 5-28-2 Sendagi, Bunkyo-ku Tel +81-3-5814-3352 start (AT) ifcomputer.com
Customer Support Tokyo 113-0022 Japan   http://www.ifcomputer.com
scroll to top managed with ubiCMS