Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.prolog > #14604

Is SWI-Prolog backward oriented or forward oriented? (Was: www.softwarepreservation.org is less boring than Jeff Barnett)

From Mild Shock <janburse@fastmail.fm>
Newsgroups comp.lang.prolog
Subject Is SWI-Prolog backward oriented or forward oriented? (Was: www.softwarepreservation.org is less boring than Jeff Barnett)
Date 2025-06-29 13:05 +0200
Message-ID <103r6lj$1fk6h$1@solani.org> (permalink)
References <103n9bg$1d76g$2@solani.org> <103n9cs$1d76g$3@solani.org> <103n9ds$1d76g$4@solani.org>

Show all headers | View raw


 > has a flag (module sensitive) called var_prefix.

Interesting backward oriented featuritis, to support
Prolog systems from the past, can be also rationalized
as useful for the present. You find a few real world

source code listings in the Computer Museum below,
very old Prolog systems used the star (*) as a variable
prefix, then some Prolog systems used the underscore (_)

as variable prefix. Lower case was not always supported,
some Prolog systems had a ‘NOLC’ (No-Lower Case) and
‘LC’ (Lower Case) directive, to switch modes:

Computer History Museum’s Software Preservation Group
https://www.softwarepreservation.org/

Edit 29.06.2025:
If only SWI-Prolog would put the same effort in forward
oriented features that it does in backward oriented
features, i.e. features that deal with Prolog systems

of the future. For example supporting this trivial gadget:

?- X = [a,b,c]
`abc`

Mild Shock schrieb:
> 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
>>
>> Mild Shock schrieb:
>>> Hi,
>>>
>>> Back in the early days SUN was already talking
>>> about Java on in CPU. Interestingly this happened:
>>>
>>> The most prominent use of Jazelle DBX is by
>>> manufacturers of mobile phones to increase the
>>> execution speed of Java ME games and applications.
>>> A Jazelle-aware Java virtual machine (JVM) will
>>> attempt to run Java bytecode in hardware, while
>>> returning to the software for more complicated,
>>> or lesser-used bytecode operations. ARM claims that
>>> approximately 95% of bytecode in typical program
>>> usage ends up being directly processed in the hardware.
>>> https://en.wikipedia.org/wiki/Jazelle
>>>
>>> So in the 90's we had first internet, and then
>>> in the 00's we had mobile phones. The 10's had
>>> big data and early deep leearning.
>>>
>>> But Python is still slow as fuck in the 20's.
>>> They should invent a CPU that can do Pantilope,
>>> i.e. direct executon of Python.
>>>
>>> Bye
>>
> 

Back to comp.lang.prolog | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Jazelle DBX and ARM926EJ-S ~~> Pantilope Mild Shock <janburse@fastmail.fm> - 2025-06-28 01:26 +0200
  Jeff Barnett might have a point, although he sounds boring (Re: Jazelle DBX and ARM926EJ-S ~~> Pantilope) Mild Shock <janburse@fastmail.fm> - 2025-06-28 01:27 +0200
    www.softwarepreservation.org is less boring than Jeff Barnett (Re: Jeff Barnett might have a point, although he sounds boring) Mild Shock <janburse@fastmail.fm> - 2025-06-28 01:27 +0200
      Is SWI-Prolog backward oriented or forward oriented? (Was: www.softwarepreservation.org is less boring than Jeff Barnett) Mild Shock <janburse@fastmail.fm> - 2025-06-29 13:05 +0200
        Corr. Typo (Was: Is SWI-Prolog backward oriented or forward oriented?) Mild Shock <janburse@fastmail.fm> - 2025-06-29 13:13 +0200

csiph-web