MINERVA superseeded IF/Prolog.
Please see
http://www.ifcomputer.co.jp/MINERVA
for details.
We discontinued to sell IF/Prolog Dec 31. 2003.
For current customers, we continue to provide
professional support for IF/Prolog until Dec 31, 2008.
IF/Prolog Runtime Licence Agreement
Software vendors may wish to deliver their applications written in IF/Prolog packaged together with the IF/Prolog system.
This has some advantages for the software vendor and end user:
- low cost for the IF/Prolog Runtime System
- easy processing and delivery for the software vendor
- simpler installation and handling for the end user
For these purposes, software built with IF/Prolog (Application) can be licensed to other parties based on a Runtime Licence Agreement according to the following conditions:
No direct access to IF/Prolog
The application may not allow the user to call or break into the IF/Prolog interpreter level.
No support and documentation
IF Computer does not provide support or documentation to the application end user. Support and documentation is provided only to holders of development licences.
In fact, the application end user need not be aware of IF/Prolog being used inside his software.
No development tools
The application vendor may not deliver parts of the IF/Prolog development system to the application end user. For IF/Prolog V4.1 the following files and directories may not be shipped to the application end user:
directory $PROROOT/bin:
ifcc
iflink
ifopt0
ifpman
ifsem
mifpman
xifpman
directory $PROROOT/c: (all files)
directory $PROROOT/demos: (all files)
directory $PROROOT/ifprolog: (all files)
directory $PROROOT/library: (all files)
directory $PROROOT/man: (all files)
directory $PROROOT/util: (all files)
directory $PROROOT/x11r4: (all files)
directory $PROROOT/motif11: (all files)
Application
As standard case the application is produced with a development system running on a computing system that is binary compatible with the application end user's target computer.
The application is produced with the predicate save_system in the form of an IF/Prolog save state (file extension {*}.pst).
The application can be delivered in the simplest case consisting of two files:
'ifprolog' and 'xxx.pst'
The application is invoked by the end user with a shell command that calls
ifprolog -r xxx.pst
Development Licence
In all other cases a standard IF/Prolog licence is required.
Licence Manager
The application can be protected against execution on non licenced target machines or against execution after a pre-set time limit. For details please refer to seperate documentation about the IF/Prolog Licence Manager.
Guide for Creating a Runtime Version of IF/Prolog 4.1
a runtime version is a version in which IF/Prolog is bundled together with an application program and with which it is not possible to create a new PROLOG program. The dynamic features of IF/Prolog may be used within the application but must be hidden from the user to develop new IF/Prolog programs.
The application MUST be created by using the predicates program and save\_system. The host language interface may be used instead of program, but it must use a saved state, too.
The predicate program ensures that the user does not enter the "write ?- prompt, read goal, execute" -loop. The save\_system serves to bundle together all the necessary files.
This means that all necessary {*}.sem files from the directory ifprolog must be specifically loaded; before the save_system is called to create the "saved_state" file. The runtime system will be started with a command in the following way:
ifprolog -r saved_state
In an application, which uses the host language interface, the above mentioned parameters should be built up internally, before a call to InitProlog() is done.
The runtime system will consist of essentially 2 files:
1) "ifprolog" or "newprolog" if the C-interface has been used (see IF/Prolog Manual, section Advanced Features).
2) the "saved_state" file created using save_system.
plus any other files written by the developer of the application.
The following is a list of the items which may NOT be supplied in the runtime version under any circumstances:
The IF/Prolog Manual
Any files from the directory "c" i.e.
cpred.h io.h libXif.a
main.c sboot.o cpro.h
libMif.a libifprolog.a main.o
Any files from the directory "library":
alist.sem data lists.sem
ordset.sem setutl.sem applic.sem
dbarr.sem logarr.sem porstr.sem
struct.sem arith.sem flat.sem
long.sem projec.sem trees.sem
arrays.sem graphs.sem map.sem
queues.sem writef.sem ask.sem
heaps.sem metutl.sem random.sem
bagutl.sem io multil.sem
readin.sem between.sem lazy.sem
order.sem readsent.sem
The following files from the directory "bin":
ifcc iflink ifopt0
ifpman ifsem mifpman
xifpman
Any source files from the directories "demos" or "util":
The IF/Prolog Manual pages from the directory "man"
In other words only the kernel of IF/Prolog may be supplied.
IF Computer does not provide support to runtime system licensees.
Support is only available to holders of the full IF/Prolog development system license.
To create a runtime version of a program, a development system of IF/Prolog is required for every different operating system or CPU type which should host the application built with IF/Prolog.
/* This program shows how an application for IF/Prolog 4.1 */
/* can be built using only the runtime system */
program :-
retract(program),
/* consult or load your application here */
/* load the required moduls from the IF/Prolog library */
/* e.g. load('/usr/local/ifprolog/library/sort') */
save_system('mystate.pst'),
bye.
program :-
/* include your application call here */
true.
|