IF Computer > MINERVA > Manual > Reference > Restrictions > Implementation Limits

Implementation Limits

MINERVA
ifcomputer logo
f
Expert Services on the Web

There are only few limits imposed by the MINERVA implementation itself:

  • Arity of Terms:

    A term may not have more than 125 arguments.

  • Size of Integers:

    An integer in MINERVA is represented by 64 bits i.e. corresponds to the Java data type "long", and can be as big as 1,000,000,000,000,000,000.

  • Large collection of clauses

    A large (order of several ten thousands) collection of clauses with identic functor/arity may cause a compiler overflow. MINERVA Versions prior to 2.3 do not report the overflow and silently produce invalid code, which in turn causes a ArrayIndexOutOfBoundsException at object load time.
    The compiler of MINERVA Versions from 2.3 reports an error like ** minerva assembler: com.ifcomputer.minerva.MC26: codearea is too huge
    If you hit this condition please declare the offending predicate as dynamic. E.g. ":- dynamic(myfactdb/5)". This will likely also improve the performace of your program, due to the different optimization strategies used.

We are not aware of other hard coded limitations to the MINERVA engine, e.g. lengths of lists, size of atoms, etc.

Practical limits to program size and execution time depend heavily on your execution environment, notably your Java language processor, the operating system, and your hardware architecture.

document: http://www.ifcomputer.co.jp/MINERVA/Manual/Reference/Restrictions/ImplementationLimits/print_en.html
published 2008/7/14 update 2002/3/20 (c) 1996-2006 IF Computer Japan
IF Computer 5-28-2 Sendagi, Bunkyo-ku Tel +81-3-5814-3352 info@ifcomputer.com
Customer Support Tokyo 113-0022 Japan   http://www.ifcomputer.com
Back> managed with ubiCMS