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


Groups > comp.lang.prolog > #14494

Re: The shortest DOM machine I have ever written [Not an Aprils Fool joke]

From Mild Shock <janburse@fastmail.fm>
Newsgroups comp.lang.prolog
Subject Re: The shortest DOM machine I have ever written [Not an Aprils Fool joke]
Date 2025-04-02 23:12 +0200
Message-ID <vsk97b$mrr9$1@solani.org> (permalink)
References <vsk8vb$mrkk$1@solani.org>

Show all headers | View raw


BTW: Who says writing something first in Prolog doesn't
lead to short "native" host code implementations later?

Mild Shock schrieb:
> Hi,
> 
> Ok, today was an interesting day. Well yesterday
> was also an interesting day , but I didn't want
> to post a DOM machine on april fools day.
> 
> But yesterday I came up with:
> 
> function fiddle_out(data, buf) {
>      let i = 0;
>      let k = buf.indexOf("<", i);
>      while (k !== -1) {
>          let k2 = buf.indexOf(">", k+1);
>          if (buf.charCodeAt(k+1) === 47) { // '/'
>              data.insertAdjacentHTML("beforeend",
>                    buf.substring(i, k));
>              data = data.parentElement;
>              i = k2+1;
>              k = buf.indexOf("<", i);
>          } else if (buf.charCodeAt(k2-1) !== 47) { // '/'
>              data.insertAdjacentHTML("beforeend",
>                    buf.substring(i, k2 + 1));
>              data = data.lastElementChild;
>              i = k2+1;
>              k = buf.indexOf("<", i);
>          } else {
>              k = buf.indexOf("<", k2+1);
>          }
>      }
>      data.insertAdjacentHTML("beforeend", buf.substring(i));
>      return data;
> }
> 
> And today I came up with the idea that fiddle_out
> has not only data as an input argument, but also as
> a return value. Namely the DOM cursor before and after.
> 
> My streams now have general understanding of
> Sinks that are state machines. Every Sink can
> be a state machine now, and modify this data.
> 
> Holy Cow!
> 
> Bye

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


Thread

The shortest DOM machine I have ever written [Not an Aprils Fool joke] Mild Shock <janburse@fastmail.fm> - 2025-04-02 23:07 +0200
  Re: The shortest DOM machine I have ever written [Not an Aprils Fool joke] Mild Shock <janburse@fastmail.fm> - 2025-04-02 23:12 +0200

csiph-web