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


Groups > comp.lang.prolog > #14102

Re: Did Lifeware Kill Scryer Prolog CLP(Z) ? (Was: A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024])

From Mild Shock <janburse@fastmail.fm>
Newsgroups comp.lang.prolog
Subject Re: Did Lifeware Kill Scryer Prolog CLP(Z) ? (Was: A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024])
Date 2024-07-27 12:54 +0200
Message-ID <v82jll$e3d9$1@solani.org> (permalink)
References (4 earlier) <v82f3o$e0v3$1@solani.org> <v82g0u$dj50$1@solani.org> <v82g93$dj8h$1@solani.org> <v82go6$djin$1@solani.org> <v82h11$djn3$1@solani.org>

Show all headers | View raw


Hi,

Or to put it differently:

substring sharing could turn a
library(pio) into a memory nightmare.

Bye

Mild Shock schrieb:
> Hi,
> 
> The factor is smaller if the source has anyway a
> diversity of strings. If the source has a lot of
> redundant strings the factor is higher. You
> 
> can explore Prolog compilation techniques that further
> deduplicate, but these compilation technqiques are
> best appplied by a more broader view, i.e. sharing
> 
> numbers and compounds as well. Only looking at strings
> is possibly not worth the effort. But if you
> cross compile you don't have to do anything anyway.
> 
> If I cross compile Dogelog Player to Java, the
> Jave byte code class format has a constant pools, so
> the Java compiler does the deduplication of strings for you.
> 
> A cross compiled Datalog with a lot of foo, bar, baz, ..-
> 
> foo(bar, baz) :- ....
> ...
> 
> Will have a compilation output that uses a constant pool,
> and the strings in itself foo, bar, baz, etc.. will
> be shared. So the factor is again very low for
> 
> cross compiled artefacts. Not sure what Python and JavaScript
> do, they might do a constant pooling as well. The constant
> pooling is very known for Java byte code class format the
> 
> output of Java compilers, it was already there in the beginning.
> 
> Bye
> 
> Mild Shock schrieb:
>> Hi,
>>
>> Whats then more disturbing, if you try picking subparts
>> of the parsing string, and integrate them in the
>> parse tree, i.e. your AST.
>>
>> You then definitively lock the whole parsing source. But
>> the parsing source might be a couple of predicate
>> definitions, with constant arguments as found in Datalog:
>>
>> foo(bar, baz) :- ....
>> ...
>>
>> The old school non sharing approach would be to have
>> an atom table and you have then deduplicated foo, bar,
>> baz, etc... in one place and the source doesn't get
>>
>> locked. There is a also a new school, which I started
>> with Jekejeke Prolog and continued with Dogelog Player.
>> You don't share and you don't atom table.
>>
>> If you don't use atom table, you might have copies
>> in your code of foo, bar, baz etc.. But this is only
>> a small factor, the used memory is still lower than
>>
>> locking the whole source. And some Java versions have
>> string deduplication garbage collection under the hood now.
>> I am not sure what Python and JavaScript do.
>>
>> But so far I think the small factor of extra memory
>> usage is not an issue.
>>
>> Bye
>>
>> Mild Shock schrieb:
>>> Hi,
>>>
>>> But such a criteria is not satisfied in parsing,
>>> especially if you use the more advanced last call
>>> optimization and not only tail recursion optimization.
>>>
>>> As soon as parsing is deterministic, you can
>>> leave behind the string part that you already parsed.
>>> So you would need a special sharing that is kind of
>>>
>>> a weak sharing that can free some head part. There is
>>> no such problem of freeing the head part, if you use
>>> proper cons cell based lists for parsing.
>>>
>>> But naive substring sharing doesn't work for Prolog.
>>> It will unnecessarely lock the whole string always.
>>> Whereas a cell based parser can drop
>>>
>>> already parsed parts.
>>>
>>> Bye
> 

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


Thread

A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024] Mild Shock <janburse@fastmail.fm> - 2024-05-27 19:58 +0200
  Re: A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024] Mild Shock <janburse@fastmail.fm> - 2024-05-27 20:01 +0200
  Scryer Prolog is dead now? (Was: A harsh wind is blowing into the face of Prolog now…) Mild Shock <janburse@fastmail.fm> - 2024-07-20 11:35 +0200
    What about the Holy Grail? (Was: Scryer Prolog is dead now?) Mild Shock <janburse@fastmail.fm> - 2024-07-21 17:29 +0200
      Is Rust the culprit? (Was: What about the Holy Grail?) Mild Shock <janburse@fastmail.fm> - 2024-07-22 22:16 +0200
        Re: Is Rust the culprit? (Was: What about the Holy Grail?) Mild Shock <janburse@fastmail.fm> - 2024-07-22 22:26 +0200
          Re: Is Rust the culprit? (Was: What about the Holy Grail?) Mild Shock <janburse@fastmail.fm> - 2024-07-22 22:38 +0200
        Night Train to Lisbon (Re: Is Rust the culprit?) Mild Shock <janburse@fastmail.fm> - 2024-10-18 01:35 +0200
          Prolog System running on JS/Bun ? (Was: Night Train to Lisbon) Mild Shock <janburse@fastmail.fm> - 2024-11-20 14:20 +0100
        Highly bred Hackers: Wallowing in enlightenment (Was: Is Rust the culprit?) Mild Shock <janburse@fastmail.fm> - 2024-10-26 17:43 +0200
          Good Bye Stack-Overflow (Was: Highly bred Hackers: Wallowing in enlightenment) Mild Shock <janburse@fastmail.fm> - 2024-11-15 03:16 +0100
            Re: Good Bye Stack-Overflow (Was: Highly bred Hackers: Wallowing in enlightenment) Mild Shock <janburse@fastmail.fm> - 2024-11-15 03:24 +0100
              Re: Good Bye Stack-Overflow (Was: Highly bred Hackers: Wallowing in enlightenment) Mild Shock <janburse@fastmail.fm> - 2024-11-15 03:28 +0100
                Re: Good Bye Stack-Overflow (Was: Highly bred Hackers: Wallowing in enlightenment) Mild Shock <janburse@fastmail.fm> - 2024-11-15 03:54 +0100
            they shoot themselves into the foot (Re: Good Bye Stack-Overflow) Mild Shock <janburse@fastmail.fm> - 2024-11-15 16:47 +0100
              Re: they shoot themselves into the foot (Re: Good Bye Stack-Overflow) Mild Shock <janburse@fastmail.fm> - 2024-11-15 17:00 +0100
                Re: they shoot themselves into the foot (Re: Good Bye Stack-Overflow) Mild Shock <janburse@fastmail.fm> - 2024-11-15 17:11 +0100
                Re: they shoot themselves into the foot (Re: Good Bye Stack-Overflow) Mild Shock <janburse@fastmail.fm> - 2024-11-15 18:00 +0100
  Can we trust the Scryer Prolog Gurus? (Was: A harsh wind is blowing into the face of Prolog now… ) Mild Shock <janburse@fastmail.fm> - 2024-07-23 00:27 +0200
    Re: Can we trust the Scryer Prolog Gurus? (Was: A harsh wind is blowing into the face of Prolog now… ) Mild Shock <janburse@fastmail.fm> - 2024-07-23 00:30 +0200
      Re: Can we trust the Scryer Prolog Gurus? (Was: A harsh wind is blowing into the face of Prolog now… ) Mild Shock <janburse@fastmail.fm> - 2024-07-23 00:42 +0200
  The longest pregnancy in the history of Prolog ~~> DCGs (Was: A harsh wind is blowing into the face of Prolog now…) Mild Shock <janburse@fastmail.fm> - 2024-07-23 09:51 +0200
    Re: The longest pregnancy in the history of Prolog ~~> DCGs (Was: A harsh wind is blowing into the face of Prolog now…) Mild Shock <janburse@fastmail.fm> - 2024-07-23 09:52 +0200
      Re: The longest pregnancy in the history of Prolog ~~> DCGs (Was: A harsh wind is blowing into the face of Prolog now…) Mild Shock <janburse@fastmail.fm> - 2024-07-23 10:18 +0200
        Re: The longest pregnancy in the history of Prolog ~~> DCGs (Was: A harsh wind is blowing into the face of Prolog now…) Mild Shock <janburse@fastmail.fm> - 2024-07-23 10:20 +0200
          Re: The longest pregnancy in the history of Prolog ~~> DCGs (Was: A harsh wind is blowing into the face of Prolog now…) Mild Shock <janburse@fastmail.fm> - 2024-07-23 16:38 +0200
  Is Scryer Prolog the Air Guitar of Prolog? (Was: A harsh wind is blowing into the face of Prolog now…) Mild Shock <janburse@fastmail.fm> - 2024-07-23 21:56 +0200
    Re: Is Scryer Prolog the Air Guitar of Prolog? (Was: A harsh wind is blowing into the face of Prolog now…) Mild Shock <janburse@fastmail.fm> - 2024-07-23 23:49 +0200
      Re: Is Scryer Prolog the Air Guitar of Prolog? (Was: A harsh wind is blowing into the face of Prolog now…) Mild Shock <janburse@fastmail.fm> - 2024-07-24 22:21 +0200
  Did Lifeware Kill Scryer Prolog CLP(Z) ? (Was: A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024]) Mild Shock <janburse@fastmail.fm> - 2024-07-26 15:38 +0200
    Re: Did Lifeware Kill Scryer Prolog CLP(Z) ? (Was: A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024]) Mild Shock <janburse@fastmail.fm> - 2024-07-26 15:41 +0200
      Re: Did Lifeware Kill Scryer Prolog CLP(Z) ? (Was: A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024]) Mild Shock <janburse@fastmail.fm> - 2024-07-27 11:27 +0200
        Re: Did Lifeware Kill Scryer Prolog CLP(Z) ? (Was: A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024]) Mild Shock <janburse@fastmail.fm> - 2024-07-27 11:36 +0200
          Re: Did Lifeware Kill Scryer Prolog CLP(Z) ? (Was: A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024]) Mild Shock <janburse@fastmail.fm> - 2024-07-27 11:52 +0200
            Re: Did Lifeware Kill Scryer Prolog CLP(Z) ? (Was: A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024]) Mild Shock <janburse@fastmail.fm> - 2024-07-27 11:56 +0200
              Re: Did Lifeware Kill Scryer Prolog CLP(Z) ? (Was: A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024]) Mild Shock <janburse@fastmail.fm> - 2024-07-27 12:04 +0200
                Re: Did Lifeware Kill Scryer Prolog CLP(Z) ? (Was: A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024]) Mild Shock <janburse@fastmail.fm> - 2024-07-27 12:09 +0200
                Re: Did Lifeware Kill Scryer Prolog CLP(Z) ? (Was: A harsh wind is blowing into the face of Prolog now… [FORTRAN / TIOBE Index for May 2024]) Mild Shock <janburse@fastmail.fm> - 2024-07-27 12:54 +0200

csiph-web