• www.softwarepreservation.org is less boring than Jeff Barnett (Was: Jef

    From Mild Shock@21:1/5 to Mild Shock on Sat Jun 28 01:24:27 2025
    Hi,

    Interrestingly Prolog nearly had a "Jazelle":

    Meanwhile, in Oxford I made contact with Tim [Robinson]
    from High Level Hardware, who had developed a microcoded
    workstation called the Orion (there is a good Wikipedia
    article on this machine). Tim wanted a Prolog system for
    the Orion, so I gave him the Prolog-X reference
    implementation. He microcoded it, and we reckoned
    it would have amazing performance because of that.
    However, several simultaneous events conspired to
    halt the microcoded Prolog on the Orion. https://www.softwarepreservation.org/projects/prolog

    Derived from Prolog-X, so basically from ZIP.

    Bye

    Mild Shock schrieb:
    Hi,

    Jeff Barnet might have a point:

    Fran's specialty was bring graph theory into computer development

    although he sounds boring. Prolog is very
    weak when using graph theory to code generation.
    Even Prolog Cafe is based on WAM, and not LLVM.

    WAM is linear code, LLVM sees code as graph
    of blocks. Here is an example:

    entry:
      %cond = icmp eq i32 %x, 0
      br i1 %cond, label %if_zero, label %if_nonzero

    if_zero:
      ; do something
      br label %merge

    if_nonzero:
      ; do something else
      br label %merge

    merge:
      %val = phi i32 [0, %if_zero], [1, %if_nonzero]
      ret i32 %val

    Its not the AST of the source code, but the IR,
    i.e. internal representation after some AST
    processing.

    Today I was wrestling quite a number of hours,
    to figure out whether liveness analysis can
    be done in one pass. My Prolog system Dogelog

    Player uses two passes, so that assertz/1 is
    a little slow. Maybe I implement a fast path
    without the liveness analysis for the

    dynamic database, to speed it up.

    Bye

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