Deutsch   English   Français   Italiano  
<103i025$1950b$1@solani.org>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: 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 <janburse@fastmail.fm>
Newsgroups: comp.lang.prolog
Subject: Pure I/O in Dogelog Player (Was: ANN: Dogelog Player 1.3.3 (Dark
 Mode))
Date: Thu, 26 Jun 2025 01:17:26 +0200
Message-ID: <103i025$1950b$1@solani.org>
References: <1030pjb$10g35$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 23:17:25 -0000 (UTC)
Injection-Info: solani.org;
	logging-data="1348619"; 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:cPbprcZI2J4AsI3S7oFY1imZ/aI=
X-User-ID: eJwNzMERACEIA8CWBEOQcvQM/Zdw/nc2Jo1fgkFER2ON3l51WoCtkNKYuLw4cBaHrbrppU33O0221fNRUW/6ATuAFOc=
In-Reply-To: <1030pjb$10g35$1@solani.org>


Dogelog Player is a Prolog system mainly written
in Prolog itself. A library(pio) for Pure I/O is
not part of this Prolog systems. Herein we report
a successful experiment of implementing such a
library. The library has a Web 2.0 realization
since the streams can even originate from URLs.

Instead of going with memory mapping or attributed
variables, our main idea is to use ‘C’/3 to
detect Haskell lazy and realize it with change_arg/3.
The grammar backtracking is potentially unlimited.
There is a separation of concern into a get_lazy/3
and the unit need not be codes.

See also:

Pure I/O in Dogelog Player
https://medium.com/@janburse_2989/1dc0afb9dcae


Mild Shock schrieb:
> Dear All,
> 
> We are happy to announce a new edition
> of the Dogelog Player:
> 
> - Output Flags:
> The output streams now carry flags. The mask
> 0x00000004 indicates that the end-user wants
> some fancy output. The Prolog core offers a
> hook on sys_print_error/2, so that errors and
> warnings can be styled. Works seemless for the
> browser and the console via library(markup).
> 
> - Write Option:
> The write routine now offers an additional option.
> The Prolog core offers a hook for put_atom/2,
> so that the output tokens produced by the predicate
> write_term/2 can be run through a pygmentation
> routine. When using class names instead of color
> values, style sheets in the browser allow color
> switching between dark and light mode.
> 
> - Improved Top-Level:
> To reduce footprint and startup time in scripting
> mode, the top-level has been refactored into an
> optional separate Prolog text library(session).
> The Prolog text offers print error and put atom
> hooks, and as well as some logic so that the
> listing predicate listing/[0,1] and answer
> substitutions (?-)/1 deliver fancy output if
> the output stream desires so.
> 
> Have Fun!
> 
> Jan Burse, 19.06.2025, https://www.herbrand.ai/