Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.prolog > #14601 > unrolled thread
| Started by | Mild Shock <janburse@fastmail.fm> |
|---|---|
| First post | 2025-06-28 01:26 +0200 |
| Last post | 2025-06-29 13:13 +0200 |
| Articles | 5 — 1 participant |
Back to article view | Back to comp.lang.prolog
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
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-06-28 01:26 +0200 |
| Subject | Jazelle DBX and ARM926EJ-S ~~> Pantilope |
| Message-ID | <103n9bg$1d76g$2@solani.org> |
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
[toc] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-06-28 01:27 +0200 |
| Subject | Jeff Barnett might have a point, although he sounds boring (Re: Jazelle DBX and ARM926EJ-S ~~> Pantilope) |
| Message-ID | <103n9cs$1d76g$3@solani.org> |
| In reply to | #14601 |
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
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-06-28 01:27 +0200 |
| Subject | www.softwarepreservation.org is less boring than Jeff Barnett (Re: Jeff Barnett might have a point, although he sounds boring) |
| Message-ID | <103n9ds$1d76g$4@solani.org> |
| In reply to | #14602 |
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 >
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-06-29 13:05 +0200 |
| Subject | Is SWI-Prolog backward oriented or forward oriented? (Was: www.softwarepreservation.org is less boring than Jeff Barnett) |
| Message-ID | <103r6lj$1fk6h$1@solani.org> |
| In reply to | #14603 |
> 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 >> >
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-06-29 13:13 +0200 |
| Subject | Corr. Typo (Was: Is SWI-Prolog backward oriented or forward oriented?) |
| Message-ID | <103r73r$1fkhk$1@solani.org> |
| In reply to | #14604 |
Corr.: Forgot to show the correct answer substitution: ?- X = [a,b,c] X = `abc` Mild Shock schrieb: > > 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 >>> >> >
[toc] | [prev] | [standalone]
Back to top | Article view | comp.lang.prolog
csiph-web