Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ANN: Dogelog: We Have Liftoff, We Have Liftoff

150 views
Skip to first unread message

Mostowski Collapse

unread,
May 24, 2021, 6:18:42 PM5/24/21
to
Dear All,

Needs a decent browser, JavaScript >2015

http://www.dogelog.ch/

Currently swallows errors silently. Everything written
in Prolog itself, read/1, consult/1, etc.. and then cross
compiled into JavaScript. Not sure whether it can already

compile itself. But it has a text field and can add the
clauses in the text field and execute the directives in the
text field, and it has write/1 and nl/0 into the HTML document.

More care for the good boy upcoming.

Have Fun!

Jan Burse, 24.05.2021 #StaySafe
http://www.jekejeke.ch/

Michael Haufe (TNO)

unread,
May 24, 2021, 10:25:11 PM5/24/21
to
On Monday, May 24, 2021 at 5:18:42 PM UTC-5, Mostowski Collapse wrote:
> Dear All,
>
> Needs a decent browser, JavaScript >2015
>
> http://www.dogelog.ch/
>
> Currently swallows errors silently. Everything written
> in Prolog itself, read/1, consult/1, etc.. and then cross
> compiled into JavaScript. Not sure whether it can already
>
> compile itself. But it has a text field and can add the
> clauses in the text field and execute the directives in the
> text field, and it has write/1 and nl/0 into the HTML document.
>
> More care for the good boy upcoming.
>
> Have Fun!


I'm a fan of Prolog but I think this is off-topic for the group.

Mostowski Collapse

unread,
May 25, 2021, 3:34:20 AM5/25/21
to
Hi,

Nope, its not off topic.

Its a Javascript library, that you can embed in your
application. Documentation will be soon out. The
Javascript library, for the demonstration uses clear()

and consult() mainly, for example the "try it" button calls:


function main() {
document.getElementById("demo").innerHTML = "";
clear();
let text=document.getElementById("text").value;
consult(text);
}

The approach of the cross compiler is documented here:
https://gist.github.com/jburse/afeaeffc4ffb68d7bc785a86182cd09f#gistcomment-3753102

Source code and tickets about Dogelog will be collected here:
https://github.com/jburse/jekejeke-samples/issues

Bye

Michael Haufe (TNO) schrieb:

Michael Haufe (TNO)

unread,
May 25, 2021, 9:11:34 AM5/25/21
to
Michael Haufe (TNO) schrieb:
> I'm a fan of Prolog but I think this is off-topic for the group.

On Tuesday, May 25, 2021 at 2:34:20 AM UTC-5, Mostowski Collapse wrote:
> Hi,
>
> Nope, its not off topic.
>
> Its a Javascript library, that you can embed in your
> application. Documentation will be soon out. The
> Javascript library, for the demonstration uses clear()
>
> and consult() mainly, for example the "try it" button calls:
>
>
> function main() {
> document.getElementById("demo").innerHTML = "";
> clear();
> let text=document.getElementById("text").value;
> consult(text);
> }
>
> The approach of the cross compiler is documented here:
> https://gist.github.com/jburse/afeaeffc4ffb68d7bc785a86182cd09f#gistcomment-3753102
>
> Source code and tickets about Dogelog will be collected here:
> https://github.com/jburse/jekejeke-samples/issues

Just because something is implemented with JavaScript
doesn't make it on topic by itself, especially if you just present
the final product without commentary why it's relevant.

If you actually posted about the implementation (questions or comments)
like you are *almost* doing here, then it would be.

What you have is a drive-by link with little more. Why should the
collective *we* as a group care? Is Prolog the point or is how you
accomplished it the point? If it's the former than it's off-topic
if it's the latter then you should share more details when you
post about it here.

Mostowski Collapse

unread,
May 25, 2021, 12:35:23 PM5/25/21
to
Ha Ha, normally I don't feed resident trolls.

Michael Haufe (TNO) schrieb:

Michael Haufe (TNO)

unread,
May 25, 2021, 2:06:49 PM5/25/21
to
On Tuesday, May 25, 2021 at 11:35:23 AM UTC-5, Mostowski Collapse wrote:
> Ha Ha, normally I don't feed resident trolls.

But how will you live if you don't eat?

Mostowski Collapse

unread,
May 25, 2021, 2:29:08 PM5/25/21
to
Well if you were knowledgable in JavaScript,
you wouldn't write nonsense like:
> What you have is a drive-by link with little more.

You can use view source to see the initial
javascript and then follow the javascript files
loaded there, to inspect all of the javascript

that is stored on the server side, and loaded
into the client agent, the browser. Also I
posted these links:

> The approach of the cross compiler is documented here:
>
https://gist.github.com/jburse/afeaeffc4ffb68d7bc785a86182cd09f#gistcomment-3753102

> Source code and tickets about Dogelog will be collected here:
> https://github.com/jburse/jekejeke-samples/issues

Also the thread starts with "ANN", which means
announcements. Its usually considered bad netiquet
spamming announcements with nonsense like you did.

Michael Haufe (TNO) schrieb:

Mostowski Collapse

unread,
May 25, 2021, 2:30:41 PM5/25/21
to
Conclusion:

Shut the fuck up and take your meds asshole.
By asshole I mean you moron
Michael Haufe (TNO) <t...@thenewobjective.com>

Mostowski Collapse schrieb:

Mostowski Collapse

unread,
May 25, 2021, 2:34:39 PM5/25/21
to

And maybe update your shitty website:
https://thenewobjective.com/about

I have never seen a more sadenning thing.
Also the font size is way too large, cant
read anything without getting headache.

Mostowski Collapse schrieb:

Michael Haufe (TNO)

unread,
May 25, 2021, 2:38:23 PM5/25/21
to
On Tuesday, May 25, 2021 at 1:34:39 PM UTC-5, Mostowski Collapse wrote:
> And maybe update your shitty website:
> https://thenewobjective.com/about
>
> I have never seen a more sadenning thing.
> Also the font size is way too large, cant
> read anything without getting headache.

Then don't read it.

Michael Haufe (TNO)

unread,
May 25, 2021, 2:39:30 PM5/25/21
to
On Tuesday, May 25, 2021 at 1:30:41 PM UTC-5, Mostowski Collapse wrote:
> Conclusion:
>
> Shut the fuck up and take your meds asshole.
> By asshole I mean you moron

Like I said before: Grow up, your ego is bruised for no good reason and you're just lashing out.

Michael Haufe (TNO)

unread,
May 25, 2021, 2:42:38 PM5/25/21
to
On Tuesday, May 25, 2021 at 1:29:08 PM UTC-5, Mostowski Collapse wrote:
> Well if you were knowledgable in JavaScript,
> you wouldn't write nonsense like:
> > What you have is a drive-by link with little more.
> You can use view source to see the initial
> javascript and then follow the javascript files
> loaded there, to inspect all of the javascript

I could but why bother? If you're going to announce you can present it better and get more productive discussion, unlike this spiraling thread of noise.

> that is stored on the server side, and loaded
> into the client agent, the browser. Also I
> posted these links:
> > The approach of the cross compiler is documented here:
> >
> https://gist.github.com/jburse/afeaeffc4ffb68d7bc785a86182cd09f#gistcomment-3753102
>
> > Source code and tickets about Dogelog will be collected here:
> > https://github.com/jburse/jekejeke-samples/issues

Yes, but break it down for us if you actually want anyone to engage.

> Also the thread starts with "ANN", which means
> announcements. Its usually considered bad netiquet
> spamming announcements with nonsense like you did.

Says the person who engages in ad-hominem attacks.

Mostowski Collapse

unread,
May 25, 2021, 2:47:17 PM5/25/21
to
Then dont comment on Dogelog.

You wrote:
>> The approach of the cross compiler is documented here:
>>
>
https://gist.github.com/jburse/afeaeffc4ffb68d7bc785a86182cd09f#gistcomment-3753102

>
>> Source code and tickets about Dogelog will be collected here:
>> https://github.com/jburse/jekejeke-samples/issues

> Yes, but break it down for us if you actually want anyone to engage.

You are not among the ones who want to
engange, so why should I bother? Or do
you have some substantial question

except for your continuing confusion?

Michael Haufe (TNO) schrieb:

Michael Haufe (TNO)

unread,
May 25, 2021, 2:51:10 PM5/25/21
to
On Tuesday, May 25, 2021 at 1:47:17 PM UTC-5, Mostowski Collapse wrote:
> Then dont comment on Dogelog.
> [...]
> You are not among the ones who want to
> engange, so why should I bother? Or do
> you have some substantial question
>
> except for your continuing confusion?

And yet I'm the only person who's bothered to talk to you on this in good faith initially.
If you choose to remain defensive and toxic then there is no reason for me or anyone else to engage.

Mostowski Collapse

unread,
May 25, 2021, 2:54:29 PM5/25/21
to
Also it says "ANN", which means announcement.
It doesn't say "request for comments".

if you want discuss something, better
open a separate thread and state what you
want to discuss.

Meanwhile:

We Have Liftoff, We Have Liftoff
Apollo 11 Blasts Off Into Space
https://www.youtube.com/watch?v=c9qSGETxlkY

Dogelog Runtime, Prolog to the Moon
http://www.dogelog.ch/

Mostowski Collapse schrieb:

Mostowski Collapse

unread,
May 25, 2021, 3:00:09 PM5/25/21
to
Maybe the younger generation doesn't know
the concept of announcement? I have no
clue whats wrong with you? I am not toxic.

The only toxic thing here was your spamming
of my announcement. And the discussion
now reveals that you have totally wrong

expectations about ANN, and see it
maybe as "request for comments" and
you draw in group engagement etc... I

cannot help you and only tell you again
and again that it is what it is. It is an
ANN, aka announcement. Nothing more and

nothing less. if you want discuss something,
better open a separate thread and state
what you want to discuss.

Mostowski Collapse schrieb:

Mostowski Collapse

unread,
May 25, 2021, 3:04:08 PM5/25/21
to
The problem is, the matter can become
complex, and therefore its probably
better open a separate thread.

Mostowski Collapse schrieb:

Jon Ribbens

unread,
May 25, 2021, 3:42:47 PM5/25/21
to
On 2021-05-25, Mostowski Collapse <janb...@fastmail.fm> wrote:
> Maybe the younger generation doesn't know
> the concept of announcement? I have no
> clue whats wrong with you? I am not toxic.

You seem pretty toxic to be honest. The announcement wasn't very helpful
as it contained no clue whatsoever as to what it was announcing.
I surmised it might be something to do with crypto coins and ignored it.

Mostowski Collapse

unread,
May 25, 2021, 4:02:01 PM5/25/21
to
Nobody cares.

Jon Ribbens schrieb:

Mostowski Collapse

unread,
May 25, 2021, 4:05:41 PM5/25/21
to
This is an announcement. Its not a request
for comments, also not for the choice of
the name dogelog or anything related to dogelog.

Open a separate thread if you want to
discuss anything seriously. Or use GitHub
if you want to open a ticket about dogelog:

Source code and tickets about Dogelog will be collected here:
https://github.com/jburse/jekejeke-samples/issues

Most of the dogelog issues have a tag JavaScript.

Mostowski Collapse schrieb:

Mostowski Collapse

unread,
May 25, 2021, 4:27:34 PM5/25/21
to
You can imagine an announcement as a
pointer into a new world. Partially on-topic
and partially off-topic.

I agree that discussing too much Prolog
here might be off-topic. But dogelog
is admittedly interwoven with both

worlds. So if you use GitHub you will
be always welcome and on-topic. If you
start posting here, your question

might be frowned on. Basically on
Usenet you would have two choices:
- comp.lang.javascript
- comp.lang.prolog

So better use GitHub.

Thanks in advance.

Mostowski Collapse schrieb:

Mark-

unread,
May 25, 2021, 9:12:05 PM5/25/21
to
Mostowski Collapse wrote:

> And maybe update your shitty website:
> https://thenewobjective.com/about
>
> I have never seen a more sadenning thing.
> Also the font size is way too large, cant
> read anything without getting headache.

Nothing wrong with his website. You don't like it, so what.

Mostowski Collapse

unread,
May 26, 2021, 2:29:31 AM5/26/21
to
Nothing wrong with the name Dogelog,
Jon Ribbens doesn't like it, so what.

Mark- schrieb:

Mostowski Collapse

unread,
May 26, 2021, 2:33:27 AM5/26/21
to

Hint, if you want to make websites that work
on mobile and desktop, there are other
approaches than just having elephant font size.

Mostowski Collapse schrieb:

Mostowski Collapse

unread,
May 26, 2021, 2:37:58 AM5/26/21
to
Same holds for this website:
https://www.defprogramming.com/authors/

Its rather a horrible website, can read anything
unless you have your browser page occupying the
whole screen. It does some rescaling

but I guess it needs some fine tuning. At
least on an MacBook Air 2019 with Safari
browser its not usable.

Mostowski Collapse schrieb:

Michael Haufe (TNO)

unread,
May 26, 2021, 9:14:14 AM5/26/21
to
On Wednesday, May 26, 2021 at 1:33:27 AM UTC-5, Mostowski Collapse wrote:
> Hint, if you want to make websites that work
> on mobile and desktop, there are other
> approaches than just having elephant font size.

The font size is relative to the viewport size. I think the problem is between your keyboard and chair.

Sitting 6 inches from the screen is not healthy for you.

Jon Ribbens

unread,
May 26, 2021, 9:21:10 AM5/26/21
to
On 2021-05-26, Michael Haufe (TNO) <t...@thenewobjective.com> wrote:
> On Wednesday, May 26, 2021 at 1:33:27 AM UTC-5, Mostowski Collapse wrote:
>> Hint, if you want to make websites that work
>> on mobile and desktop, there are other
>> approaches than just having elephant font size.
>
> The font size is relative to the viewport size.

That's a pretty weird thing to do, to be fair.

Michael Haufe (TNO)

unread,
May 26, 2021, 9:38:41 AM5/26/21
to

Jon Ribbens

unread,
May 26, 2021, 9:56:59 AM5/26/21
to
Those articles seem deeply confused, especially the first, which says:

This might be because typography is so deeply rooted in the
centuries-old history of typesetting. The concept of having “fluid”
anything is often at odds with this tradition. In print, dimensions
have always been fixed, but they don’t need to be on the web. That’s
why I think fluid typography is a perfect match for the web. It’s a
different approach for a completely different medium.

Using 'viewport width' for the font size *isn't* fluid, it's the
exact opposite. It's paper-based thinking in a paperless world.
It means the content doesn't format itself appropriately for the
page, it just shrinks and expands like a photocopier on 'enlarge'
mode.

(The 'guess what the icon means' navigation is also a bad idea
by the way ;-) )

Michael Haufe (TNO)

unread,
May 26, 2021, 10:08:33 AM5/26/21
to
On Wednesday, May 26, 2021 at 8:56:59 AM UTC-5, Jon Ribbens wrote:
> [...]
> Those articles seem deeply confused, especially the first, which says:
>
> This might be because typography is so deeply rooted in the
> centuries-old history of typesetting. The concept of having “fluid”
> anything is often at odds with this tradition. In print, dimensions
> have always been fixed, but they don’t need to be on the web. That’s
> why I think fluid typography is a perfect match for the web. It’s a
> different approach for a completely different medium.
>
> Using 'viewport width' for the font size *isn't* fluid, it's the
> exact opposite. It's paper-based thinking in a paperless world.
> It means the content doesn't format itself appropriately for the
> page, it just shrinks and expands like a photocopier on 'enlarge'
> mode.

Given that the common practice is to use breakpoints, are those not the web equivalent of paper based thinking?
Also recall that it's called a web "page" and and an html "document". You "scroll" the page with a "scroll"-bar.

By definition if the font size is based on the container size (whatever that is) then that is fluid/liquid.

<https://web.archive.org/web/20190424092922/http://www.liquidapsive.com/>

> (The 'guess what the icon means' navigation is also a bad idea
> by the way ;-) )

I don't know what you're referring to.

Jon Ribbens

unread,
May 26, 2021, 10:15:12 AM5/26/21
to
On 2021-05-26, Michael Haufe (TNO) <t...@thenewobjective.com> wrote:
> On Wednesday, May 26, 2021 at 8:56:59 AM UTC-5, Jon Ribbens wrote:
>> [...]
>> Those articles seem deeply confused, especially the first, which says:
>>
>> This might be because typography is so deeply rooted in the
>> centuries-old history of typesetting. The concept of having “fluid”
>> anything is often at odds with this tradition. In print, dimensions
>> have always been fixed, but they don’t need to be on the web. That’s
>> why I think fluid typography is a perfect match for the web. It’s a
>> different approach for a completely different medium.
>>
>> Using 'viewport width' for the font size *isn't* fluid, it's the
>> exact opposite. It's paper-based thinking in a paperless world.
>> It means the content doesn't format itself appropriately for the
>> page, it just shrinks and expands like a photocopier on 'enlarge'
>> mode.
>
> Given that the common practice is to use breakpoints, are those not
> the web equivalent of paper based thinking?

Why would they be?

> Also recall that it's called a web "page" and and an html "document".
> You "scroll" the page with a "scroll"-bar.

I'm not sure what your point is here.

> By definition if the font size is based on the container size
> (whatever that is) then that is fluid/liquid.

No, it's the opposite of fluid/liquid. For example, if you set the
font size to "1vw", then the text never reformats at all, it is
not fluid or liquid, it is frozen solid. Fluid/liquid is if the
font size *doesn't* change when the container size changes, and
instead the text is reformmated ("flows") appropriately for the
space available.

><https://web.archive.org/web/20190424092922/http://www.liquidapsive.com/>
>
>> (The 'guess what the icon means' navigation is also a bad idea
>> by the way ;-) )
>
> I don't know what you're referring to.

The mystery icons down the left hand side which serve as navigation.

Michael Haufe (TNO)

unread,
May 26, 2021, 10:34:53 AM5/26/21
to
On Wednesday, May 26, 2021 at 9:15:12 AM UTC-5, Jon Ribbens wrote:
> On 2021-05-26, Michael Haufe (TNO) <t...@thenewobjective.com> wrote:
> > On Wednesday, May 26, 2021 at 8:56:59 AM UTC-5, Jon Ribbens wrote:
> > [...]
> >> Using 'viewport width' for the font size *isn't* fluid, it's the
> >> exact opposite. It's paper-based thinking in a paperless world.
> >> It means the content doesn't format itself appropriately for the
> >> page, it just shrinks and expands like a photocopier on 'enlarge'
> >> mode.
> >
> > Given that the common practice is to use breakpoints, are those not
> > the web equivalent of paper based thinking?
> Why would they be?

Paper has predefined standard sizes, as do viewports. Web developers
generally use media queries to target those sizes and act accordingly.

Given that their are dozens of these if not more, it seems a fool's errand.

> > Also recall that it's called a web "page" and and an html "document".
> > You "scroll" the page with a "scroll"-bar.
> I'm not sure what your point is here.

Paper based thinking. We obviously have it as an industry just based on
the terminology alone.

> > By definition if the font size is based on the container size
> > (whatever that is) then that is fluid/liquid.
> No, it's the opposite of fluid/liquid. For example, if you set the
> font size to "1vw", then the text never reformats at all, it is
> not fluid or liquid, it is frozen solid. Fluid/liquid is if the
> font size *doesn't* change when the container size changes, and
> instead the text is reformmated ("flows") appropriately for the
> space available.

Liquids/fluids fill their container hence the name.
You can see this definition consistently used by Adobe and others:

<https://designinginterfaces.com/patterns/liquid-layout/>
<https://helpx.adobe.com/indesign/using/alternate-layouts-liquid-layouts.html>
<http://maxdesign.com.au/articles/liquid/>
<https://www.w3.org/WAI/GL/WCAG20/WD-WCAG20-TECHS-20071102/G146.html>
<https://www.smashingmagazine.com/2009/06/fixed-vs-fluid-vs-elastic-layout-whats-the-right-one-for-you/>

'vw' is a relative measurement, so yes it will change.

> > I don't know what you're referring to.
> The mystery icons down the left hand side which serve as navigation.

Ah yes, for some screen sizes or orientations it does only show the icons.
I'll consider updating it to use the mobile view for those sizes.
I do appreciate the usability feedback.

Jon Ribbens

unread,
May 26, 2021, 12:00:24 PM5/26/21
to
On 2021-05-26, Michael Haufe (TNO) <t...@thenewobjective.com> wrote:
> On Wednesday, May 26, 2021 at 9:15:12 AM UTC-5, Jon Ribbens wrote:
>> On 2021-05-26, Michael Haufe (TNO) <t...@thenewobjective.com> wrote:
>> > Given that the common practice is to use breakpoints, are those not
>> > the web equivalent of paper based thinking?
>> Why would they be?
>
> Paper has predefined standard sizes, as do viewports. Web developers
> generally use media queries to target those sizes and act accordingly.

That's not right. Viewports don't come in standard sizes. But some
frameworks have specific cut-off points at which you can make things
switch layouts because changing the layout for smaller screens is
often a good idea and testing your site on every width between 100px
and 4,000 px is impractical ;-)

>> > Also recall that it's called a web "page" and and an html "document".
>> > You "scroll" the page with a "scroll"-bar.
>> I'm not sure what your point is here.
>
> Paper based thinking. We obviously have it as an industry just based on
> the terminology alone.

"Page", yes... "document", no. "scroll" I hadn't really thought about
before but I guess you're right, albeit that terminology pre-dates the
web by a long way of course so isn't really relevant.

>> > By definition if the font size is based on the container size
>> > (whatever that is) then that is fluid/liquid.
>> No, it's the opposite of fluid/liquid. For example, if you set the
>> font size to "1vw", then the text never reformats at all, it is
>> not fluid or liquid, it is frozen solid. Fluid/liquid is if the
>> font size *doesn't* change when the container size changes, and
>> instead the text is reformmated ("flows") appropriately for the
>> space available.
>
> Liquids/fluids fill their container hence the name.

I don't think that's what the name means. It means the layout can
change shape, like a liquid can change shape. There's no implication
that the layout always fills 100% of the container like a liquid does.

> You can see this definition consistently used by Adobe and others:

Yes, I'm not arguing with the terminology, I'm saying that a font
size that varies with the container size is not an example of what
is described by that terminology - but rather the opposite.

> 'vw' is a relative measurement, so yes it will change.

That's *why* the text layout won't change. Try it.

>> > I don't know what you're referring to.
>> The mystery icons down the left hand side which serve as navigation.
>
> Ah yes, for some screen sizes or orientations it does only show the icons.
> I'll consider updating it to use the mobile view for those sizes.
> I do appreciate the usability feedback.

It's mostly that the viewport has to be very wide indeed before the icon
labels appear.

Michael Haufe (TNO)

unread,
May 26, 2021, 12:50:24 PM5/26/21
to
On Wednesday, May 26, 2021 at 11:00:24 AM UTC-5, Jon Ribbens wrote:
> On 2021-05-26, Michael Haufe (TNO) <t...@thenewobjective.com> wrote:

> > Paper has predefined standard sizes, as do viewports. Web developers
> > generally use media queries to target those sizes and act accordingly.
> That's not right. Viewports don't come in standard sizes. But some
> frameworks have specific cut-off points at which you can make things
> switch layouts because changing the layout for smaller screens is
> often a good idea and testing your site on every width between 100px
> and 4,000 px is impractical ;-)

Screen resolutions definitely do have standard sizes. That's what
VGA, SGA, XGA, HD, 4K UHD, and others are:

<https://en.wikipedia.org/wiki/Computer_display_standard>

Admittedly I'm conflating viewport size with display resolution and the
DPI settings can make these not match but it's a common practice
to add the following to your webpages:

<meta name="viewport" content="width=device-width, initial-scale=1">

Making my conflation not too wrong. Regardless, the point is that
a common list (def-facto or de-jure) informed by these resolution sizes
are used to define the media query breakpoints.

> > Paper based thinking. We obviously have it as an industry just based on
> > the terminology alone.
> "Page", yes... "document", no. "scroll" I hadn't really thought about
> before but I guess you're right, albeit that terminology pre-dates the
> web by a long way of course so isn't really relevant.

Many words are pregnant with meaning and moving them to
a new medium also brings the baggage and mindset with it.

> >> > By definition if the font size is based on the container size
> >> > (whatever that is) then that is fluid/liquid.
> >> No, it's the opposite of fluid/liquid. For example, if you set the
> >> font size to "1vw", then the text never reformats at all, it is
> >> not fluid or liquid, it is frozen solid. Fluid/liquid is if the
> >> font size *doesn't* change when the container size changes, and
> >> instead the text is reformmated ("flows") appropriately for the
> >> space available.
> >
> > Liquids/fluids fill their container hence the name.
> I don't think that's what the name means. It means the layout can
> change shape, like a liquid can change shape. There's no implication
> that the layout always fills 100% of the container like a liquid does.

Given that layouts are and have been primarily boxes I don't think
changing shape is relevant here for the definition unless you are
referring to multiple independent boxes moving their positions
dynamically.

Since we disagree on the definition, do you have a reference for your usage?

> > You can see this definition consistently used by Adobe and others:
> Yes, I'm not arguing with the terminology, I'm saying that a font
> size that varies with the container size is not an example of what
> is described by that terminology - but rather the opposite.

I wouldn't say the opposite as it is still dynamic but I am willing
to concede that it might be inappropriate to use a layout associated
term with text behavior.

> > 'vw' is a relative measurement, so yes it will change.
> That's *why* the text layout won't change. Try it.

It resizes based on the viewport size. Just resize the webpage to see the behavior.
What does "text layout" have to do with it? Are you referring to wrapping behavior?

> > Ah yes, for some screen sizes or orientations it does only show the icons.
> > I'll consider updating it to use the mobile view for those sizes.
> > I do appreciate the usability feedback.
> It's mostly that the viewport has to be very wide indeed before the icon
> labels appear.

No longer. I've updated the styling to use a menu on the medium size screens as well.

Jon Ribbens

unread,
May 26, 2021, 3:12:19 PM5/26/21
to
On 2021-05-26, Michael Haufe (TNO) <t...@thenewobjective.com> wrote:
> On Wednesday, May 26, 2021 at 11:00:24 AM UTC-5, Jon Ribbens wrote:
>> On 2021-05-26, Michael Haufe (TNO) <t...@thenewobjective.com> wrote:
>> > Paper has predefined standard sizes, as do viewports. Web developers
>> > generally use media queries to target those sizes and act accordingly.
>> That's not right. Viewports don't come in standard sizes. But some
>> frameworks have specific cut-off points at which you can make things
>> switch layouts because changing the layout for smaller screens is
>> often a good idea and testing your site on every width between 100px
>> and 4,000 px is impractical ;-)
>
> Screen resolutions definitely do have standard sizes. That's what
> VGA, SGA, XGA, HD, 4K UHD, and others are:

Sure, but since the late 1980s people have tended to use graphical
windowing systems whereby applications don't take up the entire monitor
;-)

>> I don't think that's what the name means. It means the layout can
>> change shape, like a liquid can change shape. There's no implication
>> that the layout always fills 100% of the container like a liquid does.
>
> Given that layouts are and have been primarily boxes I don't think
> changing shape is relevant here for the definition unless you are
> referring to multiple independent boxes moving their positions
> dynamically.

That's exactly what I mean.

> Since we disagree on the definition, do you have a reference for your usage?

All of your references are fine for my definition I think, except the
first one.

>> > 'vw' is a relative measurement, so yes it will change.
>> That's *why* the text layout won't change. Try it.
>
> It resizes based on the viewport size. Just resize the webpage to see
> the behavior. What does "text layout" have to do with it? Are you
> referring to wrapping behavior?

Yes. If you use 'font-size: 1vw' then as you resize the page it remains
a solid, fixed layout, just scaling up and down like a piece of paper
would in a magnifier - i.e. exactly like old-fashioned paper design.

>> It's mostly that the viewport has to be very wide indeed before the
>> icon labels appear.
>
> No longer. I've updated the styling to use a menu on the medium size
> screens as well.

I think that's an improvement :-)

Mostowski Collapse

unread,
May 27, 2021, 10:37:35 AM5/27/21
to
To help understand Dogelog, we made a little Q&A.
Here are the results:

Q: What does it mean that Dogelog was produced
by a cross compiler?
A: Dogelog is not enteirely written in JavaScript,
a great part was written in Prolog and then cross
compiled into JavaScript.

Q: Can Dogelog be run without Android?
A: Yes, since the result after cross compilation
was entirely JavaScript, you can run it everywhere
where you find JavaScript, no Android required.

Q: Can Dogelog be run without internet connection?
A: Yes, the compilation has only generated client
code, there is no server code, so once the JavaScript
is loaded, you can run it without a connection.

Q: Can Dogelog be run without a Browser?
A: Yes, its also possible to run Dogelog from within
node.js for example, which is headless.

Q; Can Dogelog be run from within a smartphone?
A: Yes, if you find a capable JavaScript environment
you can also run it on a small device as a smartphone.

Q: Can a smartphone use be demonstrated?
A: Yes we have updated the link http://www.dogelog.ch/ so
that it does automatic zooming, by adding these lines:

<style>
body {
font-family: verdana, sans-serif;
font-size: 2vw;
line-height: 1.4em
}
</style>

Here is a screenshot, even an offline use, where the
internet connection was cut off after Dogelog was loaded:
https://gist.github.com/jburse/f6ad8de5f2a2de54c3efdbbe654e8013#gistcomment-3759547

Q: Can a tablet use be demonstrated?
A: Yes the same link http://www.dogelog.ch/ also works
for tablets. Strangely the same Chrome browser has better
rendering on a Huawei tablet than on Smasung smartphone.
But this is an issue of HTML/CSS and not of Dogelog:
https://gist.github.com/jburse/f6ad8de5f2a2de54c3efdbbe654e8013#gistcomment-3759548

Q; For further questions about Dogelog, where should I go?
A: Documentation about Dogelog will soon be out, tickets
with bug reports or feature requests can be opened on GitHub at:
https://github.com/jburse/jekejeke-samples/issues

Mostowski Collapse schrieb:
> Dear All,
>
> Needs a decent browser, JavaScript >2015
>
> http://www.dogelog.ch/
>
> Currently swallows errors silently. Everything written
> in Prolog itself, read/1, consult/1, etc.. and then cross
> compiled into JavaScript. Not sure whether it can already
>
> compile itself. But it has a text field and can add the
> clauses in the text field and execute the directives in the
> text field, and it has write/1 and nl/0 into the HTML document.
>
> More care for the good boy upcoming.
>
> Have Fun!
>
> Jan Burse, 24.05.2021 #StaySafe
> http://www.jekejeke.ch/

Mostowski Collapse

unread,
May 27, 2021, 2:45:33 PM5/27/21
to
It can already do a little Unicode:

:- X = 'hel𝄞lo', write(X), nl.

:- X = 'hel𝄞lo', atom_codes(X, L), write(L), nl.

Try it

hel𝄞lo
[104, 101, 108, 119070, 108, 111]

But I have no clue how the hell I can tease out a
Unicode codepoint categorization from JavaScript?

Mostowski Collapse schrieb:

Mostowski Collapse

unread,
May 27, 2021, 3:23:52 PM5/27/21
to
In Java Unicode categorization is piece of cake.
But in JavaScript, how is it done? Is this some:

You're Gonna Need a Bigger
https://www.youtube.com/watch?v=2I91DJZKRxs

LoL

Thomas 'PointedEars' Lahn

unread,
Jun 8, 2021, 1:38:33 PM6/8/21
to
Mostowski Collapse wrote:

> To help understand Dogelog, we made a little Q&A. […]

The main question appears to be missing:

“What *is* ‘Dogelog’, and why should I care?”

(That dog seems to get in everywhere *g*)

--
PointedEars
FAQ: <http://PointedEars.de/faq> | <http://PointedEars.de/es-matrix>
<https://github.com/PointedEars> | <http://PointedEars.de/wsvn/>
Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.

Mostowski Collapse

unread,
Jun 9, 2021, 8:22:10 AM6/9/21
to
Could you please state your question more clearly?
What do you mean by "care"?

Do you want to adopt a dog and care for it?
Then dogelog is possibly not the right choice for you.

Please enlighten us.

Mostowski Collapse

unread,
Jun 9, 2021, 8:37:21 AM6/9/21
to
The problem is dogelog is not a dog:
- It doesn't barf, it only speaks Prolog
- It is not flesh and bones, its only made with JavaScript
- It doesn't have a dog chip, only an URL http://www.dogelog.ch/

So for a dog, you should take this route:

Girls REALLY Want To Adopt This Puppy
https://www.youtube.com/watch?v=ZRmmVKbGQ60

Mostowski Collapse schrieb:

Thomas 'PointedEars' Lahn

unread,
Jun 10, 2021, 10:48:10 PM6/10/21
to
Mostowski Collapse wrote:

> Could you please state your question more clearly?
> What do you mean by "care"?

Learn English:

<https://www.lexico.com/definition/care>

> Do you want to adopt a dog and care for it?
> Then dogelog is possibly not the right choice for you.
>
> Please enlighten us.

Sometimes I wonder whether there is other intelligent life on this planet.

I mean this dog, of course: <https://en.wikipedia.org/wiki/Doge_(meme)>

From which this software might take its name.

And it was a fracking JOKE.

Mostowski Collapse

unread,
Jun 11, 2021, 11:37:09 AM6/11/21
to
You asked:
> “What *is* ‘Dogelog’, and why should I care?”

But how can I know whether you should C-ARE,
if I don't know who you ARE? I am not a
clairvoyant. You even didn't write

why should "we" care, but you wrote why should
"I" care. The "we" could be maybe answered, if
we would refer to this forum.

But otherwise, what or who are you?

For the other part of the question, there
is now a biopic of Dogelog, just click
on the doge to get the factsheet about dogelog:

----------------- cut here ----------------

Q: When was Dogelog born?
A: Dogelog is still a puppy, born in 2021
after heated internet discussions.

Q: How does Dogelog barf?
A: Dogelog speaks Prolog.

Q: Is Dogelog flesh and bones?
A: No, Dogelog is made with JavaScript.

Q: What pedigree is Dogelog?
A: Dogelog is a mongrel, half Jekejeke
and half Albufeira.

Q: Does Dogelog have a dog chip?
A: No, but Dogelog has an URL www.dogelog.ch.

Q: Who is the master of Dogelog?
A: Currently Dogelog gets the most care
by XLOG Technologies GmbH.

http://www.dogelog.ch/biopic.html

----------------- cut here ----------------

Thanks for the inspiration!

Bye

Thomas 'PointedEars' Lahn schrieb:

Mostowski Collapse

unread,
Jun 11, 2021, 11:46:23 AM6/11/21
to
I am currently writing the documentation of dogelog.
The software is already uploaded to GitHub:

https://github.com/jburse/dogelog-moon

For the introductory text, I came up with this marketing pitch.
Possibly not sassy enough? But I don't want to go too far.

------------------------- cut here ----------------------

The goal of Dogelog is to bring Prolog to a broader audience,
i.e. browser and node.js, without sacrificing performance and
functionality. The two ancestors of Dogelog are the Jekejeke
Prolog interpreter and the Albufeira compiler. It tries to

combine the best of both worlds to archive its goals in the following way:

• Cross Compilation: Like in Albufeira, we define an instruction
stream that allows cross compilation, which was not
possible with Jekejeke Prolog.

• Garbage Collection: Like in Albuferia, we use a simpler term
model that allow cyclic terms, which was not
possible with Jekejeke Prolog.

• Flow Control: We adopted the Jekejeke Prolog dual trampoline,
but do it stack less and with choice point cut variables,
leading to better last call optimization.

Dogelog requires a recent browser or node.js since it makes use
of the JavaScript "import" language construct. For demonstration
purposes, the sandbox use case already works and is explained

in this documentation. The rest of document describes the current
scope of the Dogelog runtime and of the Dogelog transpiler.

------------------------- cut here ----------------------

Thomas 'PointedEars' Lahn

unread,
Jun 12, 2021, 4:24:13 PM6/12/21
to
Mostowski Collapse wrote:
^^^^^^^^^^^^^^^^^^
Is that your real name?

> You asked:
> > “What *is* ‘Dogelog’, and why should I care?”
>
> But how can I know whether you should C-ARE,

I’m sorry, are you stupid?

You can know because I am obviously a developer who uses ECMAScript
implementations; otherwise I would not be reading here. So if you are
advertising something here, then it had better something to do with that.
Otherwise it is just spam, and you can FOAD.

Also, you cannot expect everyone to know what you are advertising, or visit
the Web site (if any) to find out. So one can reasonably expect that you
first say what it *is* that you are advertising.

> if I don't know who you ARE? I am not a
> clairvoyant. You even didn't write
>
> why should "we" care, but you wrote why should "I" care.

I wrote “I” because I do not profess to speak for everyone here.

> The "we" could be maybe answered, if we would refer to this forum.

This is a Usenet newsgroup, not a (Web) forum.

> But otherwise, what or who are you?

LOL. Read my sig:

Mostowski Collapse

unread,
Jun 12, 2021, 8:12:06 PM6/12/21
to
Your forum footer has only links. You are blaming me for
posting a link, now I should read a link of yours? What can
possibly go wrong? He, can you imagine?

May I ask you in turn, are you possibly stupid? Since you
asked me the same. My impression, you are at least as
stupid as this lady, maybe even more stupid:

IF YOU'RE HOMELESS.... JUST BUY A HOUSE
https://www.youtube.com/watch?v=-Jh0EN1De4Q

LoL

Please prove me wrong, that you arent stupid.

Thomas 'PointedEars' Lahn

unread,
Jun 12, 2021, 9:46:01 PM6/12/21
to
Mostowski Collapse trolled:

> Your forum footer has only links. You are blaming me for
> posting a link, now I should read a link of yours? What can
> possibly go wrong? He, can you imagine?
>
> May I ask you in turn, are you possibly stupid? Since you
> asked me the same. My impression, you are at least as
> stupid as this lady, maybe even more stupid:
>
> IF YOU'RE HOMELESS.... JUST BUY A HOUSE
> https://www.youtube.com/watch?v=-Jh0EN1De4Q
>
> LoL
>
> Please prove me wrong, that you arent stupid.

It would be stupid, indeed, to pay any more attention to you.

*PLONK*

[x] done


F’up2 poster

Mostowski Collapse

unread,
Jun 13, 2021, 3:32:32 AM6/13/21
to
You anyway came to this thread, to spam it
with your footer links. Good that you are gone.

Thank you, and dont come back.

Thomas 'PointedEars' Lahn schrieb am Sonntag, 13. Juni 2021 um 03:46:01 UTC+2:
> *PLONK*

Arno Welzel

unread,
Jun 13, 2021, 11:53:22 AM6/13/21
to
Jon Ribbens:

> On 2021-05-25, Mostowski Collapse <janb...@fastmail.fm> wrote:
>> Maybe the younger generation doesn't know
>> the concept of announcement? I have no
>> clue whats wrong with you? I am not toxic.
>
> You seem pretty toxic to be honest. The announcement wasn't very helpful
> as it contained no clue whatsoever as to what it was announcing.
> I surmised it might be something to do with crypto coins and ignored it.

From the OP:

"http://www.dogelog.ch/

Currently swallows errors silently. Everything written
in Prolog itself, read/1, consult/1, etc.. and then cross
compiled into JavaScript. Not sure whether it can already

compile itself. But it has a text field and can add the
clauses in the text field and execute the directives in the
text field, and it has write/1 and nl/0 into the HTML document.

More care for the good boy upcoming."

To me it looks like a very good clue about what the announced thing does.


--
Arno Welzel
https://arnowelzel.de

Arno Welzel

unread,
Jun 13, 2021, 11:55:34 AM6/13/21
to
Mostowski Collapse:

> Nothing wrong with the name Dogelog,
> Jon Ribbens doesn't like it, so what.

Well - design is matter of taste (except when violating accessibility
guidelines). But there are also technical errors:

<https://validator.w3.org/nu/?doc=https%3A%2F%2Fthenewobjective.com%2F>

Arno Welzel

unread,
Jun 13, 2021, 12:06:19 PM6/13/21
to
Mostowski Collapse:

> Same holds for this website:
> https://www.defprogramming.com/authors/
>
> Its rather a horrible website, can read anything
> unless you have your browser page occupying the
> whole screen. It does some rescaling

Works for me without issue - browser not in full screen. Screenshots:

<https://nextcloud.0x0c.de/s/wd5ms9Lip8SAZTB/preview>
<https://nextcloud.0x0c.de/s/j8FL8GYWj55Ep3k/preview>

For mobile devices the font could be a bit smaller in the author list,
but it generally works and is usable:

<https://nextcloud.0x0c.de/s/NS3AwGaBF8p69Z3/preview>
<https://nextcloud.0x0c.de/s/pbaWFB2JJMb4rMD/preview>

> but I guess it needs some fine tuning. At
> least on an MacBook Air 2019 with Safari
> browser its not usable.

Screenshots? The above screenshots are taken with Windows 10 Pro using
Vivaldi on a 4K display and a Xiaomi Mi 9 Lite with Samsung Internet
browser (which is Chromium based).

Arno Welzel

unread,
Jun 13, 2021, 12:18:22 PM6/13/21
to
Michael Haufe (TNO):
I think someone misunderstood the idea of viewport based units. Viewport
based units are ok for the overall layout. But having *text* sized based
on the viewport makes no sense at all besides any demo to show what cool
tricks people found out. Also see the demo on
<https://css-tricks.com/viewport-sized-typography/> with the "I resize."
text which always fits the viewport - nobody needs this for *real*
textual content except a few special use cases to display banners etc..

A font size of 1 em is *always* readable on *any* device since the
browser is designed this way that "1 em" is the normal font size. So
using other font sizes should only be done for a good reason, e.g.
bigger fonts for headlines or using a big font to display a single short
message which fills the viewport. But usually you don't use dynamic font
sizes just because the size of the viewport changes.

For example:

Normally I don't use my desktop browser full screen since most sites
don't need it and don't use a full width view port to display more
information anyway. But in some cases I put the browser to full screen
size to make use of it - e.g. when using an online project management
tool where the additional space can be used to display more columns on
the kanban board etc.. It would be totally stupid if the font then would
be enlarged just because the viewport is bigger.

Or in other words: when I as a user make the viewport bigger or smaller
I don't want to get bigger or smaller text but more or less content.

Arno Welzel

unread,
Jun 13, 2021, 12:25:59 PM6/13/21
to
Michael Haufe (TNO):

> On Wednesday, May 26, 2021 at 8:56:59 AM UTC-5, Jon Ribbens wrote:
>> [...]
>> Those articles seem deeply confused, especially the first, which says:
>>
>> This might be because typography is so deeply rooted in the
>> centuries-old history of typesetting. The concept of having “fluid”
>> anything is often at odds with this tradition. In print, dimensions
>> have always been fixed, but they don’t need to be on the web. That’s
>> why I think fluid typography is a perfect match for the web. It’s a
>> different approach for a completely different medium.
>>
>> Using 'viewport width' for the font size *isn't* fluid, it's the
>> exact opposite. It's paper-based thinking in a paperless world.
>> It means the content doesn't format itself appropriately for the
>> page, it just shrinks and expands like a photocopier on 'enlarge'
>> mode.
>
> Given that the common practice is to use breakpoints, are those not the web equivalent of paper based thinking?

No.

Breakpoints are usally only based on the *widht* of a viewport and used
to decide wether there is enough room for two or more columns.

For the mobile version one would only display one column since a
viewport which is only 40em wide may not provide enough room for content
*and* a side bar. On the other hand a desktop viewport with 60em or more
there provides enough space for a 40em wide content area and a 20em wide
sidebar.

But in both cases I would never try to connect the font size to the
viewport width or height. I don't want to get text on a mobile device
way smaller just because the viewport is smaller. Also I want to see
*more* text on a desktop and not *bigger* text. Good responsive layout
will use a *different* layout which fits the smaller viewport and not
just scale everything to become smaller.

Arno Welzel

unread,
Jun 13, 2021, 12:31:36 PM6/13/21
to
Michael Haufe (TNO):

> On Wednesday, May 26, 2021 at 9:15:12 AM UTC-5, Jon Ribbens wrote:
>> On 2021-05-26, Michael Haufe (TNO) <t...@thenewobjective.com> wrote:
>>> On Wednesday, May 26, 2021 at 8:56:59 AM UTC-5, Jon Ribbens wrote:
>>> [...]
>>>> Using 'viewport width' for the font size *isn't* fluid, it's the
>>>> exact opposite. It's paper-based thinking in a paperless world.
>>>> It means the content doesn't format itself appropriately for the
>>>> page, it just shrinks and expands like a photocopier on 'enlarge'
>>>> mode.
>>>
>>> Given that the common practice is to use breakpoints, are those not
>>> the web equivalent of paper based thinking?
>> Why would they be?
>
> Paper has predefined standard sizes, as do viewports. Web developers
> generally use media queries to target those sizes and act accordingly.

Wrong.

Viewports come in many sizes. It's the arrogance of designes who only
work with macOS and iOS to see the world as only three sizes: iPhone,
iPad and macBook.

In reality you have dozens of variations and the media queries are just
there to decide if you use the layout for desktop browsers or for mobile
browsers and sometimes tablets are also a thing to consider, but
nowadays many tables work fine using the desktop layout as well.

Within one layout the design is fluid of course - the mobile version of
a website works fine on a iPhone as well as on a Samsung Android Phone
or Google Pixel even if the viewport on all devices is different. Also
the desktop version does not care if your viewport is 120em wide or just
80em. The "deskop" layout should work for both cases and of course the
font should not become larger just because the viewport is 120em wide
and not just 80em.

Michael Haufe (TNO)

unread,
Jun 13, 2021, 1:03:27 PM6/13/21
to
On Sunday, June 13, 2021 at 10:55:34 AM UTC-5, Arno Welzel wrote:
> Mostowski Collapse:
> > Nothing wrong with the name Dogelog,
> > Jon Ribbens doesn't like it, so what.
> Well - design is matter of taste (except when violating accessibility
> guidelines). But there are also technical errors:
>
> <https://validator.w3.org/nu/?doc=https%3A%2F%2Fthenewobjective.com%2F>

I appreciate the code review. The remaining issues are a problem with jekyll/kramdown parsing of which there is not a trivial workaround currently.

I don't see the relevance to the current thread though.

Mostowski Collapse

unread,
Jun 13, 2021, 1:07:57 PM6/13/21
to
Frankly I also dont like this website:
http://pointedears.de/scripts/faq/cljs/

It has a background color from Netscape default 25
years ago, neither dark mode nor light mode.

Just joking.

Here is the original charter of comp.lang.javascript

[...]
"The proposed comp.lang.javascript will be open to discussion on all
aspects of JavaScript, as it relates to HTML, Java, Perl, the World
Wide Web in general, and **other related languages**. The scope of
discussion will specifically exclude matters which are *solely*
related to Sun Microsystems, Inc.'s Java language, which should be
discussed in comp.lang.java."
[...]
http://pointedears.de/scripts/faq/cljs/faq_notes/cljs_charter.html

**other related languages** can mean a lot. Java saw the
evolution of JVM language, means the JVM became used
for languages such as Groovy, Kotlin, etc..

I am not sure whether JavaScript does also see such a
trend. There is an interesting technology bundled with
JavaScript, namely WebAssembly.

There was an old prototype of SWI-Prolog ported to
WebAssembly but it didn't have bignum. I tried myself using
CheerpJ to run a Java based Prolog, but the results

werent very satisficing. This is a new try on directly
using the JavaScript platform.

Mostowski Collapse

unread,
Jun 13, 2021, 1:12:25 PM6/13/21
to
The proof of concept already has Prolog bignum support
via primitive JavaScript bignums. You can try and paste the
following into the Dogelog textarea at http://www.dogelog.ch/

and then press the Dogelog "Try it" button:

fact(0, 1) :- !.
fact(N, X) :-
M is N-1, fact(M, Y),
X is N*Y.

:- fact(100, X), write(X), nl.

It will happily show:

93326215443944152681699238856266700490
71596826438162146859296389521759999322
99156089414639761565182862536979208272
23758251185210916864000000000000000000
000000

Enjoy!

Mostowski Collapse

unread,
Jun 13, 2021, 1:18:51 PM6/13/21
to
I am using a blend of smallint primitive and bignum primitive
to realize the ALU (Arithmetic Logic Unit). Not yet sure

how I will deal with floats, to make the ALU later
ISO core standard Prolog conforming.

Mostowski Collapse

unread,
Jun 30, 2021, 2:18:12 PM6/30/21
to
Some more progress. Dogelog got a Prolog dynamic
database. We can now run this example and more:

:- dynamic(memo/2).
fib(N, X) :- memo(N, X), !.
fib(0, 0) :- !.
fib(1, 1) :- !.
fib(N, X) :- M is N-1, fib(M, Y), K is M-1,
fib(K, Z), X is Y+Z, assertz(memo(N, X)).
:- fib(10,X), write(X), nl.
:- fib(100,X), write(X), nl.

Dogelog will show me:

55
354224848179261915075

See also:

Preview: Dogelog got a Prolog dynamic database. (Jekejeke)
https://gist.github.com/jburse/ce2cc49168b637fb0472b3d958999c40#gistcomment-3798277

Pitty it doesn't work in TauProlog, not because of
lack of dynamic database, TauProlog has dynamic database,
but bigint is missing. This is what TauProlog shows me:

?- fib(100,X).
uncaught exception: error(evaluation_error(int_overflow),is/2)

Mostowski Collapse

unread,
Jul 2, 2021, 3:17:32 AM7/2/21
to
We just completed a time/1 predicate, so as to measure the performance
of Dogelog runtime inside a browser. Just out of curriosity we measured
the performance on our negation as failure based Tic-Tac-Toe game.

Interestingly it takes only ca. 300ms. This means for later moves it
will even take less time. The physiological threshold for fast response
is around 100ms. So it seems feasible to provide a user interface

and deliver a Tic-Tac-Toe game play via Prolog inside the browser.
We quickly found a SELFHTML tutorial about the Tic-Tac-Toe game
and adopted the game board from there.

See also:

Preview: Dogelog plays Tic-Tac-Toe via Prolog. (Jekejeke)
https://gist.github.com/jburse/79c0fcaa23339d2a0968c7d54594facd#gistcomment-3799880


The final game can be found at this URL for toying around:
http://www.dogelog.ch/play.html

Mostowski Collapse

unread,
Aug 19, 2021, 5:38:09 PM8/19/21
to
Woa! The JavaScript JIT compiler is quite impressive. I now
ported Dogelog runtime to Python as well, so that I can compare
JavaScript and Python, and tested without clause indexing:

between(L,H,L) :- L =< H.
between(L,H,X) :- L < H, Y is L+1, between(Y,H,X).

setup :- between(1,255,N), M is N//2, assertz(edge(M,N)), fail.
setup :- edge(M,N), assertz(edge2(N,M)), fail.
setup.

anc(X,Y) :- edge(X, Y).
anc(X,Y) :- edge(X, Z), anc(Z, Y).

anc2(X,Y) :- edge2(Y, X).
anc2(X,Y) :- edge2(Y, Z), anc2(X, Z).

:- setup.
:- time((between(1,10,_), anc2(0,255), fail; true)).
:- time((between(1,10,_), anc(0,255), fail; true)).

The results are:

/* Python 3.10.0rc1 */
% Wall 188 ms, trim 0 ms
% Wall 5537 ms, trim 0 ms

/* JavaScript Chrome 92.0.4515.159 */
% Wall 5 ms, trim 0 ms
% Wall 147 ms, trim 0 ms

Mostowski Collapse schrieb:
> Dear All,
>
> Needs a decent browser, JavaScript >2015
>
> http://www.dogelog.ch/
>
> Currently swallows errors silently. Everything written
> in Prolog itself, read/1, consult/1, etc.. and then cross
> compiled into JavaScript. Not sure whether it can already
>
> compile itself. But it has a text field and can add the
> clauses in the text field and execute the directives in the
> text field, and it has write/1 and nl/0 into the HTML document.
>
> More care for the good boy upcoming.
>

Mostowski Collapse

unread,
Aug 19, 2021, 5:40:11 PM8/19/21
to
Thats a factor 37.8 faster! I tested the a variant of
the Albufeira instructions Prolog VM aka ZIP, which
was also the inspiration for SWI-Prolog.

Open Source:

The Python Version of the Dogelog Runtime
https://github.com/jburse/dogelog-moon/tree/main/devel/runtimepy

The Python Test Harness
https://gist.github.com/jburse/bf6c01c7524f2611d606cb88983da9d6#file-test-py

Mostowski Collapse

unread,
Nov 7, 2021, 7:24:48 PM11/7/21
to
Dogelogs new signature sound:

Led Zeppelin Immigrant song (Racing Beat remix)
https://www.youtube.com/watch?v=oryBBkmIVCc

LoL
0 new messages