Path: nntp.eternal-september.org!news.eternal-september.org!eternal-september.org!feeder3.eternal-september.org!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: A library(pio) for the Web 2.0 (Was: Prolog missed the Web 2.0 Bandwagon) Date: Wed, 25 Jun 2025 15:17:09 +0200 Message-ID: <103gssk$18ffa$1@solani.org> References: <1034bs9$1364p$1@solani.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Wed, 25 Jun 2025 13:17:08 -0000 (UTC) Injection-Info: solani.org; logging-data="1326570"; mail-complaints-to="abuse@news.solani.org" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0 SeaMonkey/2.53.21 Cancel-Lock: sha1:BDk/ma0Ok9CDZ6Y84qfvQGZzfNw= In-Reply-To: <1034bs9$1364p$1@solani.org> X-User-ID: eJwNyMEBwCAIA8CVBEko4xSJ+4/Q3vOwaTwZBAMXdwYnxtS5NYt/NEg3810w4YGXZ8eIy9F6NSNVndOBZHxc7hXM Hi, Why only phrase_from_file/2 and not also phrase_from_url/2. Its not that difficult to do, you can do it with change_arg/2 and nothing else! Lets see what we have so far: Trealla Prolog: Base on memory mapping chars. So basically this could be judged as a further argument in favor of chars versus codes. But its not Web 2.0, works only for files. https://github.com/trealla-prolog/trealla/blob/main/library/pio.pl SWI-Prolog: Based on turning a stream into a lazy list. Requires attributed variables and repositionable streams. The stream is opened with open/3 but maybe could be opened with http_open/3 as well? https://github.com/SWI-Prolog/swipl-devel/blob/master/library/pio.pl To be continued... Bye Mild Shock schrieb: > Web 2.0 is all about incremental content! > > > don’t think it could really do > > the “ghost text” effect. > > It wouldn’t do the ghost text, only assist > it. There was a misunderstanding how “ghost > texts” work. Maybe you were thinking, that > the “ghost text” is part of the first response. > > But usually the “ghost text” is a second response: > > > waiting for completion candidates to be suggested > > Well you don’t use it for your primary > typing completion which is preferably fast. > The first response might give context information, > for the second request which provides a > different type of completion. > > But the first response is not responsible > for any timing towards the second request. > That anyway happens in the client. And it > doesn’t hurt if the first response is > from a stupid channel. > > Web 2.0 is all about incremental content!