Path: csiph.com!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail From: Mild Shock Newsgroups: comp.lang.javascript Subject: Re: ANN: Dogelog Player 1.1.6 (HTTP Client) Date: Thu, 28 Mar 2024 00:16:41 +0100 Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Wed, 27 Mar 2024 23:16:41 -0000 (UTC) Injection-Info: solani.org; logging-data="2009442"; mail-complaints-to="abuse@news.solani.org" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0 SeaMonkey/2.53.18.1 Cancel-Lock: sha1:otjqiyb1uya4lWS4G3k+2jasudA= X-User-ID: eJwNycEBwEAEBMCWIliuHNbpv4RkvuMKAcPgMF9f6J04DEFWFCE8AkPN/4N8O/NpKkVu3h5ffTagwTagKj9LYRVz In-Reply-To: Xref: csiph.com comp.lang.javascript:124334 Of course before reading anything about Dogelog Player you have to start with the reference section also known as bibliography, which is found at the end of PDF here: Dogelog Player Host Version 1.1.5, December 17, 2023 https://www.novacuor.ch/doctab/rscsrv/docs/17_host/package.pdf You need to first understand the below things before you dig and put your nose into Dogelog Player: [1] ISO (1995): Prolog, Part 1: General Core, International Standard ISO/IEC 13211-1, First Edition, 1995-06-01 http://www.iso.org/standard/21413.html [2] Clocksin, W. (1983): A portable Prolog compiler, Logic Programming Workshop, Albufeira Portugal, January 1983 http://www.softwarepreservation.org/projects/prolog/lisbon/lpw83/p74-Bowen.pdf [3] Carlson, M. et al. (1988): Garbage collection for Prolog based on WAM. Communications of the ACM 31, 6, 719–740, June 1988 http://dl.acm.org/doi/10.1145/62959.62968 Dogelog Player implements variants of [1], [2] and [3]. SWI-Prolog also implementes [3], but it doesn't implement the generational part of [3]. Recently I managed to also implement the generatioal part of [3] via some coloring approach. If I am not mistaken you find a blog about it also announced here and somewhere on medium.com. And most recently I removed a cludge from change_arg/3 also related to [3]. And according blog I also announced here to be exact 5 days ago. Its also on medium.com. Maybe you need medium.com membership to be able to read it. Mild Shock schrieb: > John Harris schrieb: >> Your JavaScript code includes some form of garbage collection. Has >> that influenced the data structures ? > > There is a long thread about the early Garbage Collection > of Dogelog Player in comp.lang.python. Especially whether > it can be made fast, with useful input from a few > Pythonistas. > > Then I post regularly about the evolution of the GC > of Dogelog Player. It was just posted a few days ago, > when you were still on your silly tangent that my > > posts are nauseating. Now you are asking stuff, that > I am anyway posting about. Whats is wrong with you? > Do you have a PhD in being the most stupid person > > on this planet? See here, few days ago, > to be exact 5 days ago: > > Mild Shock schrieb 23.03.2024, 16:43: > > > > Dogelog Player is a Prolog system that features > > a generational garbage collector scheme and a > > change_arg/3 primitive built-in. So far the two > > didn’t go together and we had to use a cludge. > > With the upcoming release we provide a proper > > solution based on marking write-barriers. > > > > Our remembered set on the variable binding trail > > has the benefit that it can reduce itself during > > backtracking. By adopting conductor variables, i.e. > > instantiated variables that are not trailed, from > > formerly Jekejeke Prolog, we could recreate a > > similar benefit for Dogelog Players change_arg/3. > > > > See also: > > > > Marking Write-Barriers for Dogelog Player > > https://twitter.com/dogelogch/status/1771559896741192186 > > > > Marking Write-Barriers for Dogelog Player > > https://www.facebook.com/groups/dogelog