News for hackers. Stuff that matters.
Re:High-order Virtual Machine (HVM): Massively parallel, opt... by tromp on Saturday February 05, 2022 @12:41PM (#30223534)
Would you say DOOM is interactive with real-time requirements?

https://github.com/rainbyte/frag

Re:High-order Virtual Machine (HVM): Massively parallel, opt... by CyberRabbi on Saturday February 05, 2022 @01:34PM (#30224154)
The vast majority of the code in that repository is in the IO monad and uses carefully placed “!” eager evaluation annotations. Both facts only serve to reinforce my point that a programmer must have control over the way in which computations proceed to build interactive applications. Haskell does allow some level of control over this as I said but it ends up not looking like Haskell, it looks like C with funny syntax.
Re:High-order Virtual Machine (HVM): Massively parallel, opt... by travv0 on Saturday February 05, 2022 @01:49PM (#30224387)
> The vast majority of the code in that repository is in the IO monad and uses carefully placed “!” eager evaluation annotations.

Looking through that repository, I believe we have extremely different definitions of "vast majority."

Re:High-order Virtual Machine (HVM): Massively parallel, opt... by CyberRabbi on Saturday February 05, 2022 @04:23PM (#30226231)
Nearly everything in Render.hs is in the IO monad. That is a fact, not a subjective opinion. I point out those routines because they are the heart of the application.
Re:High-order Virtual Machine (HVM): Massively parallel, opt... by travv0 on Sunday February 06, 2022 @12:48AM (#30229854)
Yes, rendering is by definition I/O. That's also one file. You stated:

> The vast majority of the code in that repository is in the IO monad and uses carefully placed “!” eager evaluation annotations.

Do you have anything to back that up?

Re:High-order Virtual Machine (HVM): Massively parallel, opt... by CyberRabbi on Sunday February 06, 2022 @03:02AM (#30230410)
> Yes, rendering is by definition I/O.

First of all rendering is not by definition I/O except in the trivial sense that all functions take input and produce output. A pure 3D rendering function takes game state as input and produces a list of triangles + attributes to draw as output.

Even if that were true it would only further validate my point.

> Do you have anything to back that up?

Yes, I already showed that Render.hs validates my point.

Re:High-order Virtual Machine (HVM): Massively parallel, opt... by travv0 on Sunday February 06, 2022 @03:13AM (#30230458)
> The vast majority of the code in that repository is in the IO monad and uses carefully placed “!” eager evaluation annotations.

This is the claim we're talking about. Since you're into facts, not subjective opinions, show some evidence that the vast majority of the code in the repository is in the IO monad and uses carefully placed "!" eager evaluation annotations. Just to be clear, you haven't done that yet. That's a fact, not a subjective opinion.

Re:High-order Virtual Machine (HVM): Massively parallel, opt... by CyberRabbi on Sunday February 06, 2022 @03:19AM (#30230478)
Re:High-order Virtual Machine (HVM): Massively parallel, opt... by travv0 on Sunday February 06, 2022 @04:10AM (#30230718)
Here's one more file than you listed without BangPatterns enabled:

https://github.com/rainbyte/frag/blob/master/src/BitSet.hs

https://github.com/rainbyte/frag/blob/master/src/Command.hs

https://github.com/rainbyte/frag/blob/master/src/Curves.hs

BangPatterns is a normal language extension to have enabled, was this used heavily? (hint: it's not enabled on "every source file.") You listed two of 28 files there, I'm assuming to try to show that the vast majority of the code in that repository is in the IO monad? You went from "vast majority" from one file to now two files. I'm looking for objectivity here, as you seem to be into. Let's see some numbers. I think anyone that glances at that repo would need some convincing of your claims.

Render.hs is 211 of 5580 lines of Haskell in the repository, by the way.

Re:High-order Virtual Machine (HVM): Massively parallel, opt... by CyberRabbi on Sunday February 06, 2022 @09:15AM (#30232640)
Curves.hs may not have BangPatterns but it is heavily in the IO monad. My point is sufficiently supported by the provided evidence, even evidence provided by you, exceptional cases not withstanding. Thank you.
Re:High-order Virtual Machine (HVM): Massively parallel, opt... by travv0 on Sunday February 06, 2022 @11:42AM (#30234120)
You still haven't shown me any data to back up your assertion, but you're welcome I guess.