• Pet project Prolog-Omnibus I don't have any time (Was: Is ISO itself no

    From Mild Shock@21:1/5 to Mild Shock on Tue Jul 15 13:31:35 2025
    The SuperProlog approach might still have
    some problems with front facing parts of a
    Prolog system. Like answer substitutions or
    the debugger might not conveniently

    understand set_prolog_flag(double_quotes,
    chars). Whats the relation ship of SuperPrologs
    and a dialect mechanism to prolog-all ?
    Maybe SuperPrologs and their dialect
    mechanism belongs to:

    prolog-omnibus

    Im am just trying to create a name for it,
    although I have no time to create such a GitHub.
    But it would be an interesting challenge how to
    shell call a SuperProlog not only specifying

    a Prolog text and a goal, but also a desired
    dialect, the dialect the Prolog text is written
    in? What makes a Prolog omnibus a little unstable,
    Prolog systems usualy

    also read a user .rc file, which can also do
    some settings. So shell call might suffer some
    impurity, or you might even rely from the beginning
    to having some user .rc file

    that does all the dialect choices.

    Mild Shock schrieb:
    Dialect modules requires that you have a
    SuperProlog, that can manage different dialects.
    Currenty SuperPrologs are mostly ModulePrologs
    that just swap in additional predicate definitions,

    also allow overwriting their own predicate
    definitions locally, in favor of some dialect
    predicate definition. And so own etc etc, I don't
    know how successful this approach, it might

    then also require that set_prolog_flag/2 can work
    module locally, that you can do set_prolog_flag(
    double_quotes, chars) to have a Scryer, Trealla,
    etc. dialect, and set_prolog_flag(double_codes,

    string) to have some SWI dialect, or
    set_prolog_flag(double_codes, codes) to have
    some ISO defaults dialect. For example an ISO dialect
    might have this definition in their commons module:

    false :- fail.

    Since the Corrigendum 2 came rather later, so
    some Prolog might have missed it, or balantly ignore
    it. The Corrigendum 2 came 2012, but the ISO
    standard was from 1995. Thats a gap

    of almost 20 years. Quite amazing nonsense.

    Mild Shock schrieb:
    I have no useful advice in writing portable
    Prolog code. There is also the concept of dialects
    and dialect modules, implemented by SWI-Prolog,

    ECLiPSe Prolog, etc.. You can declare a module
    written in some dialect:

    :- module(+Module, +PublicList, +Dialect)
    https://www.swi-prolog.org/pldoc/doc_for?object=module/3

    I think Logtalk cannot do this. Logtalk would require
    that you convert your code to Logtalk, where as
    the dialect approach requires you do nothing.

    Logtalk has the stance that a dialect sits in the
    backend and not in the front end. Its not a
    SuperProlog, it only has this idea:

    prolog_dialect
    Identifier of the backend Prolog compiler (an atom).
    This flag can be used for conditional compilation of
    Prolog compiler specific code.
    https://logtalk.org/manuals/userman/programming.html#compiler-flags

    Markus Triska schrieb:
                      Frequently Asked Questions - comp.lang.prolog

        Last-modified: 2022-02-24
        Last-changes: Update link to tutorial by J.R. Fisher. Geoffrey
    Churchill.

    Markus Triska (Mar. 2 2007 - ... )

    Remko Troncon (Jan. 6 2002 - Mar. 2 2007)

    Dirk-Jan Faber (Feb. 1 1999 - Jan. 6 2002)

    Jamie Andrews (Aug 26 1992 - Oct. 16 1997)
          __________________________________________________________________

          General Information: This article contains the answers to some >>>       Frequently Asked Questions (FAQ) often seen in
          news://comp.lang.prolog/. It is posted (twice a month,
    currently on
          the 2nd and 16th) to help reduce volume in this newsgroup and to >>>       provide hard-to-find information of general interest.

          The World Wide Web URL for this FAQ is:
          http://www.logic.at/prolog/faq/

          Please send questions about the FAQ and updates to
          <[email protected]>.

        1. What is the Association for Logic Programming?

        To keep up with the current state of logic programming technology, >>>     readers can join the Association for Logic Programming (ALP) and
        receive their Newsletter. For details on how to join or send in
        contributions, check http://www.cs.nmsu.edu/ALP/ or contact

        Sandro Etalle <[email protected]>

        The Prolog Resource Guide (v0.6) was printed in issue 5/1 of the
        Newsletter (Feb. 1992). This lists information concerning Prolog
        Archives, Books, Suppliers, etc. It is now maintained by Mark
        Kantrowitz (<[email protected]>), and used to be >>>     posted periodically to news://comp.lang.prolog.

        2. Where can I get a free Prolog for system X (PC, Mac, Unix or
    other)?

        The following are anonymous-FTP sites for free Prologs (or related >>>     languages) which are either in the public domain or are
    "copy-lefted"
        (permitted to be copied with some restrictions on commercial use). >>>
        (Please note that for extensive development work, users will
    probably
        want a robust interpreter or compiler with good debugging facilities >>>     and a standard syntax, among other things. While public-domain
    systems
        are a valuable service to the community, they do not necessarily
    have
        all these things, and users should weigh carefully what they want >>> to do
        against the capabilities and costs of the available systems.)

        ALF (Algebraic Logic Functional language)

               + Platforms: UNIX
               + Available: Unknown
               + E-mail: Rudolf Opalla
                 <[email protected]>
               + Info: WAM-based language with narrowing/rewriting >>>
        Amzi! Prolog + Logic Server

               + Platforms: Window, Linux and Solaris
               + Available: http://www.amzi.com/download/
               + E-mail: <[email protected]>
               + Info: Registration is compulsory, except for the Free
                 Academic/Personal/Evaluation License.

        Aquarius Prolog 1.0

               + Platforms: UNIX
               + Available:
    http://www.info.ucl.ac.be/people/PVR/aquarius.html
               + Info: High performance, commercial functionality except
                 debugging and modules.

        Argo Prolog v.1.1

               + Platforms: Solaris 1.x and HP-UX 9.x
               + Available: Unknown
               + Contact: Takao Doi <[email protected]>

        Arity/Prolog32

               + Platforms: Win32
               + Available: https://github.com/Peter-Gabel/ArityProlog32
               + Info: Arity/Prolog32 provides a complete Prolog programming
                 environment in which you can write, debug, and run Prolog
                 programs in 32-bit Windows environments (95/98/NT/2000).
                 Arity/Prolog32 is a powerful, highly optimized, and
    extended
                 version of the logic programming language Prolog. >>>              Arity/Prolog32 is a complete compiler and interpreter
    written
                 in Prolog, C, and Assembly language and is a superset of
                 Clocksin and Mellish Prolog.

        B-Prolog 8.1

               + Platforms: Win32, Solaris, SunOS, UNIX, FreeBSD and Linux
               + Available: http://www.probp.com/
               + E-mail: Neng-Fa Zhou <[email protected]>
               + Info: Free of charge for individual users.

        BinProlog 7.0

               + Platforms: Windows 95/98/NT, Linux and all major Unix
                 platforms.
               + Available: https://code.google.com/archive/p/binprolog/
               + Info: Download free evaluation copies and see online demos.
                 Inexpensive Educational licensing available.Has built-in
                 networking, multi-threading, mobile code and distributed
                 blackboards. Supports BinNet Internet Programming Tool kit.

        Brain Aid Prolog (BAP) v1.4

               + Platforms: Transputer systems
               + Info: BAP is a parallel prolog system for Transputer >>> systems.
                 Available under a Berkely style of copyright.

        C#Prolog

               + Platforms: Win32, UNIX
               + Available: http://sourceforge.net/projects/cs-prolog/
               + E-mail: John Pool <[email protected]>
               + Info: A Prolog interpreter written in C#. Can easily be
                 integrated in C# programs. Characteristics: reliable and
    quite
                 fast beta version, command line interface, builtin DCG,
                 XML-predicates, persistent predicates (using Firebird
    RDBMS),
                 extendible.

        Ciao 1.4

               + Platforms: Linux, Win32 (95/98/NT), Solaris, SunOS, UNIX in
                 general.
               + Available: http://ciao-lang.org
               + E-mail: Developers <[email protected]>, Users >>>              <[email protected]>
               + Info: Next generation LP/CLP system. Commercial
    functionality,
                 but freely available w/source. ISO-Prolog + modules,
                 networking, multi-threading, clp(r), clp(q), interfaces
    (Java,
                 C, tcltk, WWW, databases/ODBC, ...), functions, >>> higher-order,
                 records, persistence, objects, assertions (types, modes,
    ...),
                 source debugger, auto-documenter, static debugger, and
    more.

        clp(FD)

               + Platforms: UNIX
               + Contact: Daniel Diaz <[email protected]>
               + Info: Constraint logic programming over finite domains.
                 Requires GNU C v.2.4.5 or higher.

        clp(FD,S)

               + Platforms: UNIX
               + Contact: Yan Georget <[email protected]>
               + Info: Requires GNU C (gcc) version 2.4.5. or higher. >>>
        CLP(R)

               + Platforms: UNIX
               + Available: E-mail request from Joxan Jaffar
                 <[email protected]>.
               + Info: Constraint logic programming language, for
    academic and
                 research purposes only.

        CxProlog

               + Platforms: UNIX, MacOS X, Windows
               + Available: http://ctp.di.fct.unl.pt/~amd/cxprolog/ >>>            + Info: Open source (GPL) implementation supporting Unicode,
                 threads, sockets, processes, contexts, imperative data
                 structures, and interfaces with C/C++, Java, and wxWidgets
               + Contact: Artur Miguel Dias <[email protected]>

        ECLiPSe Constraint Logic Programming System, subsuming Prolog.

               + Platforms: Solaris, Linux, Linux/Alpha, Mac OS X, Windows
               + Available: http://eclipseclp.org or
                 http://www.sourceforge.net/projects/eclipse-clp >>>            + Info: ECLiPSe is a Prolog and Constraint Programming >>> platform
                 with a long history and has been open-source since Sept
    2006.
               + License: MPL

        IF Prolog V5.3

               + Platforms: Windows 95/98/NT/2000/XP, Linux, Solaris, AIX,
                 HP-UX and other UNIX platforms
               + Available: http://www.ifcomputer.de/Products/Prolog/ >>>            + E-mail: <[email protected]>
               + Info: IF Prolog is a commercial Prolog system with >>> interfaces
                 to C/C++, Java, sockets, Windows events and a COM >>> servers. A
                 graphical debugger allows step-forward, step backward
                 debugging of Prolog code. A static module concept allows
    many
                 additional errors to be detected at compile time. >>> Constraint
                 Programming (for finite domains, intervals and booleans
    using
                 global constraints and linear optimisation).
               + License: Free evaluation copies and inexpensive educational
                 licensing available.

        GNU Prolog

               + Platforms: Many Unixes, Windows, MacOS X
               + Available: http://www.gprolog.org/
               + E-mail: Daniel Diaz <[email protected]>

        Jinni 2.27

               + Platforms: Java-based
               + Available: https://github.com/heathmanb/JinniProlog >>>            + Info: Multi-threaded, Java based Prolog interpreter with
                 built-in networking, distributed blackboards and mobile
    code
                 (inexpensive shareware licensing available).

        JIProlog

               + Platforms: Java-based
               + Available: http://www.jiprolog.com/
               + Info: Java Internet Prolog is a cross-platform pure Java
    100%
                 prolog interpreter that supplies Java world with the
    power of
                 prolog language and provides prolog language with a
    technology
                 to implement new predicates in Java.

        KLIC

               + Platforms: UNIX
               + Info: ICOT Free Software. Concurrent logic programming.
    Tested
                 on Sparcs, DEC 7000, Gateway P5-60.
               + Contact: <[email protected]>

        LPA Win-Prolog, demo version

               + Platforms: Windows
               + Available: Available from http://www.lpa.co.uk/ind_dow.htm

        MINERVA

               + Platforms: Java
               + Info: Proprietary commercial ISO-Prolog Compiler in 100%
    Java
                 support for web programming, XML, servlets, applets,
                 standalones. Free evaluation license.

        Modular SB-Prolog (= SB-Prolog version 3.1 plus modules)

               + Platforms: SPARC, DECstation, MIPS, HP 9000 series, Sun 3.
               + Info: Copy-lefted.

        Open Prolog

               + Platforms: Apple Macintosh
               + Available: http://www.cs.tcd.ie/open-prolog/
               + E-mail: <[email protected]>. (Michael Brady).

        Poplog Prolog

               + Platforms: Various Unixes, including Sun, Dec Alpha, HP and
                 many others. Also a Win32 version is available. Sources
                 available for other combinations.
               + Available: At the Free Poplog Web/FTP site, including full
                 sources
                 http://www.cs.bham.ac.uk/research/poplog/freepoplog.html
               + E-mail: queries may be posted to news://comp.lang.pop/,
    or to
                 <[email protected]> or <[email protected]> (Last
                 resort!)
               + Info: Robust incremental compiler, part of the
    multi-language
                 Poplog system (including Common Lisp, Pop-11 and >>> Standard ML).
                 Unix, Linux & VMS versions include full support for X
    window
                 facilities/Motif. More information at
                 http://www.cs.bham.ac.uk/research/poplog/poplog.info.html
                 Licence modelled on XFree86. Can be freely distributed,
    though
                 copyright is owned by Sussex University and ISL. >>>
        PIE2

               + Platforms: Unknown
               + Available: On CompuServe in the AIEXPERT forum, interpreter
                 and examples in PIE2.ZIP, documentation in PIEDOC.ZIP.
               + E-mail: Brent Ruggles <[email protected]>

        QuProlog

               + Platforms: UNIX, Linux, beta for MAC
               + Available:
                 http://www.itee.uq.edu.au/~pjr/HomePages/QuPrologHome.html
               + E-mail: <[email protected]>
               + Info: Extended WAM with support for quantifiers and >>>              substitutions, multi-threaded, high-level communication.

        Scryer Prolog

               + Platforms: Unix, Linux, Windows and Mac
               + Available: https://github.com/mthom/scryer-prolog >>>            + Info: A modern Prolog system written mostly in Rust. >>>
        Strawberry Prolog

               + Platforms: Windows 95/NT, plans for UNIX and Macintosh
               + Available: http://www.dobrev.com/
               + E-mail: <[email protected]>

        SWI Prolog

               + Platforms: Binaries for Linux, Windows
    (NT/2000/XP/Vista) and
                 Mac OS X (darwin). Sources: ANSI-C, both 32 and 64-bit
                 machines, compiles on almost all Unix systems and more.
               + Available: http://www.swi-prolog.org
               + Info: Complete, ISO and Edinburgh standard, common >>>              optimizations, GC including atoms. Portable graphics,
    multiple
                 threads, constraints, comprehensive libraries for >>> (semantic)
                 web programming, Unicode, source-level debugger, advanced
                 syntax colouring
               + License: Simplified BSD. Run license/0 for more
    information.

        Tau Prolog

               + Platforms: Web-based
               + Available: http://tau-prolog.org/
               + Info: An open source Prolog interpreter in JavaScript.

        Trinc-Prolog

               + Platforms: Windows 95/98/NT 4.0, plans for Windows 2000,
    Linux
                 and Sun Solaris
               + E-mail: <[email protected]>

        Visual Prolog

               + Platforms: Win32
               + Available: http://www.visual-prolog.com
               + Info: Includes all the facilities necessary to write >>> mission
                 critical commercial-grade applications. Fully visual
                 development environment. Open architecture.
    Object-oriented.
                 Built-in database system and ODBC support. Visual Prolog
                 Personal Edition is available on a freeware license.

        wamcc

               + Platforms: UNIX
               + Info: Compiler which translates Prolog to C via WAM. >>>              Debuggers. Requires GNU C v.2.4.5 or higher.
               + Contact: Daniel Diaz <[email protected]>

        XGP

               + Platforms: Apple Macintosh OS X, 10.2.3+
               + Available: http://xgp.sourceforge.net/
               + Info: XGP is an open source (GPL) integrated development
                 environment with user interface and graphics support
    based on
                 gprolog and Cocoa under Macintosh OS X.

        XSB

               + Platforms: Many, including SunOS, Linux and Windows >>>            + Available: http://xsb.sourceforge.net/
               + E-mail: <[email protected]>
               + Info: system with SLG-resolution, HiLog syntax, and >>>              unification factoring.

        Yap

               + Platforms: UNIX-based platforms and Windows
               + Available: https://github.com/vscosta/yap-6.3
               + E-mail: Vitor Santos Costa <[email protected]>
               + Info: Yap is entirely written in C and Prolog and should be
                 portable to most 32-bit and 64-bit Unix based platforms. A
                 Windows port is also available. Yap4.2 is distributed under
                 Perl's artistic license and can be freely distributed.

        3. What commercial systems are available? What about systems
    available
        for a price from research institutions?

        Many commercial systems are listed in the Prolog Resource Guide. The >>>     Resource Guide also lists many systems which are not exactly
        "commercial", but available for a price from research
    institutions. The
        list of such systems was originally compiled by Chris Moss, of
    Imperial
        College. The rest of the Resource Guide was originally compiled
    by Dag
        Wahlberg, of Uppsala University.

        The Prolog Resource Guide hasn't been updated lately, but
    nevertheless
        still contains some valuable information. It can be found at

    http://www-2.cs.cmu.edu/Groups/AI/html/faqs/lang/prolog/prg/top.html.

        4. How do I get in touch with my Prolog's users' group, sales
        representative, or technical support line?

        Here are some e-mail addresses of these contacts, listed
    alphabetically
        by company or major product name.

        ALS (Applied Logic Systems)

               + Web site: http://alsprolog.com

        Amzi! inc.

               + Web site: http://www.amzi.com
               + Information: <[email protected]>
               + Sales: <[email protected]>
               + Support: <[email protected]>

        Arity/Prolog32

               + Web site: https://github.com/Peter-Gabel/ArityProlog32

        Ciao, PiLLoW, WebDB, etc.

               + Web site: http://www.clip.dia.fi.upm.es/Software
               + Users' group: <[email protected]>
               + Information: <[email protected]>
               + Tech support: <[email protected]>

        COSYTEC (CHIP V5)

               + Web site: http://www.cosytec.com
               + Information: <[email protected]> (or .fr)
               + Tech Support: <[email protected]> (or .fr)

        ECLiPSe

               + Web site: http://eclipseclp.org
               + Users' group: <[email protected]>
               + Tech support: <http://eclipseclp.org/bugs.html>
               + Support contracts: <[email protected]>

        Expert Systems Ltd. (Prolog-2)

               + Sales: <[email protected]>
               + Support: <[email protected]>
               + Users' group: <[email protected]>

        GNU Prolog

               + Web site: http://www.gprolog.org/
               + Users' group: <[email protected]>
               + Bug reports: <[email protected]>

        LPA

               + Web site: http://www.lpa.co.uk/
               + Sales: <[email protected]>
               + Tech support: <[email protected]>

        MasterProLog

               + Formerly BIM ProLog

        PDC Prolog

               + PDC Prolog is the succesor to Turbo Prolog and the >>> predecessor
                 to Visual Prolog.

        ProLog by BIM

               + Currently MasterProLog

        Quintus

               + Web site: http://quintus.sics.se
               + Mailing list: see
                 http://www.sics.se/isl/quintuswww/site/community.html
               + Sales: <[email protected]>
               + Tech support: <[email protected]>

        SICStus

               + Web page: http://www.sics.se/sicstus
               + Mailing list: see
                 http://www.sics.se/isl/sicstuswww/site/community.html
               + Sales: <[email protected]>
               + Tech support: <[email protected]>

        Trinc / Trinc-Prolog

               + Information: <[email protected]>
               + Sales: <[email protected]>
               + Support: <[email protected]>

        Turbo Prolog

               + Turbo Prolog is the predecessor of PDC Prolog (see above).

        Visual Prolog

               + Web site: http://www.visual-prolog.com/
               + Information: <[email protected]> (or <[email protected]>)
               + Sales: <[email protected]> (or <[email protected]>) >>>            + Tech support: <[email protected]> (or
                 <[email protected]>)

        5. I think language X is better than Prolog. What do you think?

        These debates rarely result in any productive discussion. To some >>>     extent, one's favourite language is based on irrational ideology. >>>
        However, many people now agree that different languages are good for >>>     different things. Prolog seems to be good for problems in which
    logic
        is intimately involved, or whose solutions have a succinct logical >>>     characterization. Like other interactive, symbolic languages,
    Prolog is
        also good for rapid prototyping.

        Also, note that there are many different "Prologs" and other logic >>>     programming languages available, all with different capabilities. >>>
        6. What are the recent developments?

        There are some languages in development which do not have Prolog
        syntax, but do subsume and generalize Prolog's logic programming
        abilities.

        Mercury

               + Web site: http://www.mercury.cs.mu.oz.au/index.html >>>
        The Mozart Consortium:

               + Web site: http://mozart.github.io/
               + Mailing lists: <http://mozart.github.io/mailing-lists/>

        Some other languages bring new developments while also supporting >>>     Prolog syntax and functionality as an option:

        Ciao

               + Web site: http://www.clip.dia.fi.upm.es/Software
               + Users' group: <[email protected]>
               + Information: <[email protected]>
               + Tech support: <[email protected]>

        Logtalk

               + Web site: http://logtalk.org/
               + E-mail: Paulo Moura <[email protected]>
               + Info: Open source object-oriented extension to Prolog
                 compatible with most Prolog compilers.

        7. My Prolog prof assigned me this problem. Can you help me with it? >>>
        If your instructor assigned it to you, he or she probably wanted
    you to
        do it yourself. If it's an introductory Prolog course, your question >>>     might be elementary to most readers, so it might be a waste of
    network
        resources to ask it. Please ask your instructor, a friend, a
    teaching
        assistant, or a local newsgroup for help first.

        That being said, there are news://comp.lang.prolog/ readers who
    would
        be glad to help people making a legitimate attempt to learn Prolog. >>>
        8. Can you suggest some books on Prolog?

        The Prolog Resource Guide (see above) contains a listing of Prolog >>>     books. It is maintained by Mark Kantrowitz
        (<[email protected]>), and posted periodically on >>>     news://comp.lang.prolog.

        Here are some of the most popular books on Prolog.

        Introductory

               + "Programming In Prolog". William F. Clocksin and
    Christopher
                 S. Mellish. Springer-Verlag, 2003 (5th ed).
               + "Prolog for Programmers". Feliks Kluzniak and Stanislaw
                 Szpakowicz. Academic Press, London, 1985, now available
                 without charge from
                 https://sites.google.com/site/prologforprogrammers/
               + "Prolog Programming for Artificial Intelligence". Ivan
    Bratko.
                 Addison-Wesley, 2001 (3rd ed).

        Advanced

               + "The Art of Prolog: Advanced Programming Techniques". Leon
                 Sterling and Ehud Shapiro. MIT Press, 1994 (2nd ed).
               + "The Craft of Prolog". Richard A. O'Keefe. MIT Press, 1990.

        Logic programming theory

               + "Foundations of Logic Programming". John Lloyd.
                 Springer-Verlag, 1988 (2nd ed).
               + "Logic, Programming and Prolog". Ulf Nilsson and Jan >>>              Maluszynski. Originally published by John Wiley & Sons Ltd
                 (2nd ed. 1995) and now available without charge from
                 http://www.ida.liu.se/~ulfni/lpp

        Expert Systems

               + "Building Expert Systems in Prolog". Dennis Merritt. >>>              Springer-Verlag, 1989. HTML & PDF versions available from
                 http://www.amzi.com/ExpertSystemsInProlog

        9. Are there any WWW archives of comp.lang.prolog ?

        Yes, there are: Google Groups has archives of
    news://comp.lang.prolog/.
        They can be found at
        https://groups.google.com/forum/#!forum/comp.lang.prolog

        10. How can I get the ISO Prolog standard? Where can I go for more >>>     information about it?

        You can obtain the approved international standards from your
    national
        member body or directly from ISO (http://www.iso.org).


    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)