Path: ...!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail From: Mild Shock Newsgroups: comp.lang.prolog Subject: Re: A PIP classification scheme is needed (Was: DCG restrictions on the left-hand side [Novacore]) Date: Tue, 13 Aug 2024 13:08:24 +0200 Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Tue, 13 Aug 2024 11:08:23 -0000 (UTC) Injection-Info: solani.org; logging-data="1247153"; 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.2 Cancel-Lock: sha1:qaNZeEcRveqY7WJOSIrz4QBsOpA= In-Reply-To: X-User-ID: eJwFwQEBwCAMAzBLW+kKyNmB+pfwpIZSZ1IllstcSr5xPXt5I57x+fqeEXAzEb3gLcHW+Ij2Y5wJdqSqf2JzFbU= Bytes: 3775 Lines: 98 More hot topics flowing in: - PIP 904: Partial strings and memory mapping Compact and shared char lists but memory mapped files. - PIP 601: DCG Defiinite clause grammars - PIP 602: PIO Clever DCGs over files using other than memory mapping. Mild Shock schrieb: > The PIP 903: Partial strings wasn't > so successful yet. Although pursued by > two Prolog systems, Scryer Prolog > > and Trealla Prolog, the results are > not a banger performance wise. Could > have to do with some DCG pipe dreams: > > /* Scryer Prolog 0.9.4-135 */ > ?- time((between(1,1000,_), data(X), json_chars(Y,X,[]), fail; true)). >    % CPU time: 0.283s, 2_506_022 inferences >    true. > > /* Trealla Prolog 2.55.19 */ > ?- time((between(1,1000,_), data(X), json_chars(Y,X,[]), fail; true)). > % Time elapsed 0.235s, 2568003 Inferences, 10.937 MLips >    true. > > /* Dogelog Player for Java 1.2.1 */ > ?- time((between(1,1000,_), data(X), json_atom(Y,X), fail; true)). > % Zeit 40 ms, GC 0 ms, Lips 12502725, Uhr 13.08.2024 08:43 > true. > > /* SWI-Prolog 9.3.8 */ > ?- time((between(1,1000,_), data(X), atom_json_term(X,Y,[]), fail; true)). > % 44,998 inferences, 0.016 CPU in 0.006 seconds (281% CPU, 2879872 Lips) > true. > > Bye > > Mild Shock schrieb: >> . >> Hi, >> >> SARS-CoV-2 variant are classified as variant under >> monitoring (VUM), variant of interest (VOI) >> and variant of concern (VOC). >> >> How would we classify PIPs. Here is a list: >> >> - PIP 701: Tasks >> Stackfull and stackless cooperative cooroutines. >> >> - PIP 702: Events >> An event loop to “asyncify” file system access, network >> access, queues, terminals, windowing systems, etc… >> >> - PIP 801: Threads >> Split off from Paulo Maura’s multi-threading document. >> >> - PIP 801: Mutex >> Split off from Paulo Maura’s multi-threading document. >> >> - PIP 802: Message queues for multi-threading >> Split off from Paulo Maura’s multi-threading document. >> >> - PIP 803: Simpler queues not for multi-threading (@marco’s ?) >> Other sources here. >> >> - PIP 901: Embrace strings >> String literal, unify, (==)/2 and (@<)/2 >> >> - PIP 902: Fully embrace strings >> String is/2, (=:=)/2 and (<)/2 >> >> - PIP 903: Partial strings >> Compact and shared char lists. >> >> Bye >> >> Mild Shock schrieb: >>> Guess how many newer Prolog systems allow this here: >>> >>> ?- [user]. >>> p;q --> r. >>>     true. >>> >>> On the other hand SWI-Prolog disallows it: >>> >>> ?- [user]. >>> p;q --> r. >>> >>> ERROR: user://1:29: >>> ERROR:    No permission to define dcg_nonterminal `p;q' >> >