Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.prolog > #14800
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Newsgroups | comp.lang.prolog |
| Subject | Frozen Prolog Terms make copy_term/2 constant (Was: The roots Program Sharing (PS): J Strother Moore II (1973) |
| Date | 2025-08-21 03:29 +0200 |
| Message-ID | <1085sot$brmu$1@solani.org> (permalink) |
| References | <107vi9k$7t1e$1@solani.org> |
Hi, Frozen Prolog terms don’t need to be traversed to know whether they are ground. They have a GC mask information that shows that they are program shared (PS) ground Prolog terms, so that copy can immediately return. One can modify the testing slightly, going from this here in frozen.pl: test(N) :- between(1,1000,_), data(N,_), fail. test(_). test2(N) :- between(1,1000,_), test(N), fail. test2(_). To this here, unfortunately copy_term/2 not available in WebPL: test(X) :- between(1,1000,_), copy_term(X,_), fail. test(_). test2(N) :- data(N,X), between(1,1000,_), test(X), fail. test2(_). So basically departing from testing whether a first access to a program sharing structure is fast, into testing whether copy_term/2 has some smarts to detect program sharing structures. Bye Mild Shock schrieb: > Hi, > > J Strother Moore II is the Original Gangster (OG) > of program sharng. Interestingly structure sharing > meant always program sharing in the theorem > > proving community back then: > > COMPUTATIONAL LOGIC: STRUCTURE SHARING AND > PROOF OF PROGRAM PROPERTIES > J Strother Moore II - 1973 > https://era.ed.ac.uk/bitstream/handle/1842/2245/Moore-Thesis-1973-OCR.pdf > > Only the WAM community managed to intsitutionalize > the term structure sharng, as a reduced form of > program sharing, namely goal argument sharing > > not using pairs of two pointers with skeleton and binding > environment anymore, to indentify a Prolog term, > but simple single pointers for a Prolog term. > > Bye >
Back to comp.lang.prolog | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
The roots Program Sharing (PS): J Strother Moore II (1973) Mild Shock <janburse@fastmail.fm> - 2025-08-18 17:53 +0200
Avoiding OCCUR Checks / The BAROQUE Language (Was: The roots Program Sharing (PS): J Strother Moore II (1973)) Mild Shock <janburse@fastmail.fm> - 2025-08-18 18:00 +0200
Frozen Prolog Terms make copy_term/2 constant (Was: The roots Program Sharing (PS): J Strother Moore II (1973) Mild Shock <janburse@fastmail.fm> - 2025-08-21 03:29 +0200
SWI-Prolog needs linear time (Was: Frozen Prolog Terms make copy_term/2 constant) Mild Shock <janburse@fastmail.fm> - 2025-08-21 03:30 +0200
Old Lady with Double Pointers and Frozen Info (Was: SWI-Prolog needs linear time) Mild Shock <janburse@fastmail.fm> - 2025-08-21 03:31 +0200
csiph-web