2026/07/07

Newest at the top

2026-07-07 09:58:54 +0000eggplantade(~eggplanta@2600:1702:8450:c370:68e2:8150:e673:9bfc)
2026-07-07 09:58:26 +0000 <Macrobe78> sorry, I mean webHTML5!
2026-07-07 09:58:07 +0000 <Macrobe78> Bonus points for one of the VMs being a browser and one of the OSes being HTML5
2026-07-07 09:57:19 +0000 <Macrobe78> Hey, maybe we can start out easy, by launching having a OS with running VM, that runs another OS, that runs a VM, that then is made to take over control of running the outside OS, and see what happens! O:-)
2026-07-07 09:55:53 +0000Macrobe78uses Tardis monad. It’s super-ineffective!
2026-07-07 09:54:07 +0000tomsmedingwaves them away with a metacircular interpreter
2026-07-07 09:53:52 +0000tomsmedingsees some circularity problems
2026-07-07 09:52:48 +0000Macrobe78dreams at night of implementing glibc entirely in Haskell, using inline-asm, even for the functionality the runtime needs. :D
2026-07-07 09:52:28 +0000RSBachRMSBach
2026-07-07 09:52:28 +0000RMSBach(~RMSBach@24.210.2.24) (Ping timeout: 265 seconds)
2026-07-07 09:51:33 +0000 <tomsmeding> nice
2026-07-07 09:51:29 +0000 <tomsmeding> :D
2026-07-07 09:51:29 +0000RSBach(~RMSBach@24.210.2.24) RMSBach
2026-07-07 09:51:23 +0000 <Macrobe78> tomsmeding: Well, I maintain a little library for terminal applications that is written entirely in … bash… So you can still feel good. :)-
2026-07-07 09:51:21 +0000 <tomsmeding> was suggested :p
2026-07-07 09:51:15 +0000 <tomsmeding> and all the power to you for realising that :)
2026-07-07 09:51:14 +0000 <merijn> Macrobe78: If you want detailed control over array layout you can always just use a Storable vector
2026-07-07 09:50:53 +0000 <tomsmeding> that's fair
2026-07-07 09:50:15 +0000 <Macrobe78> IMHView, shame is not even a bad thing anyway. Its purpose is to tell you what to improve, and motivate you to do so. And improvement and motivation are definitely not bad things. I think the biological flaw is that it feels bad instead of hopeful.
2026-07-07 09:49:41 +0000 <tomsmeding> I don't get to write much haskell these days, I won't pass up an opportunity to hack some haskell randomly :)
2026-07-07 09:49:23 +0000merijn(~merijn@77.242.116.146) merijn
2026-07-07 09:48:55 +0000 <Macrobe78> I know. I didn’t mean it that way.
2026-07-07 09:48:55 +0000 <tomsmeding> because now you can do it for Vector yourself ;)
2026-07-07 09:48:39 +0000 <tomsmeding> it wasn't meant to shame, it was meant to teach :)
2026-07-07 09:48:27 +0000 <tomsmeding> :D
2026-07-07 09:48:21 +0000 <Macrobe78> Wow. I would thank you a lot, if you didn’t also put me to shame with it. XD
2026-07-07 09:47:51 +0000 <tomsmeding> to show that it's not so difficult :)
2026-07-07 09:47:43 +0000 <tomsmeding> yes
2026-07-07 09:47:34 +0000 <Macrobe78> tomsmeding: Did you just write that for me??
2026-07-07 09:47:33 +0000 <tomsmeding> I guess the assumption in toList could be removed
2026-07-07 09:47:17 +0000eggplantade(~eggplanta@2600:1702:8450:c370:68e2:8150:e673:9bfc) (Ping timeout: 248 seconds)
2026-07-07 09:47:12 +0000 <tomsmeding> it assumes some things by necessity, like the input being rectangular and (in toList) the array having origin (0,0), but it "works"
2026-07-07 09:46:52 +0000Macrobe92(~Macrobe@2a02:3035:627:17fe:8446:12ed:de35:93b4) (Ping timeout: 245 seconds)
2026-07-07 09:46:32 +0000 <tomsmeding> Macrobe78: https://play.haskell.org/saved/Zeh17bBJ
2026-07-07 09:46:12 +0000 <Macrobe78> Is Unicode at least Turing-complete already? XYD
2026-07-07 09:45:45 +0000tomsmedingwas going to shout "unicode!"
2026-07-07 09:45:34 +0000 <Macrobe78> I know, I know… Unicode and its crazy code point combinations…
2026-07-07 09:45:09 +0000 <Macrobe78> In ye olde times, you could just allocate rows*columns*charWidth bytes on the heap, and render it out with a mere memcpy to the area of RAM where the graphics card’s text buffer was. Basically, that is what I want, except a second block on the heap for the metadata.
2026-07-07 09:42:57 +0000Macrobe78(~Macrobe92@2a02:3035:627:17fe:8446:12ed:de35:93b4)
2026-07-07 09:42:48 +0000notzmv(~umar@user/notzmv) (Ping timeout: 268 seconds)
2026-07-07 09:42:07 +0000 <tomsmeding> strict bytestrings do have overhead, but it should be only a constant amount (the header on the heap)
2026-07-07 09:41:35 +0000 <Macrobe92> tomsmeding: Hmm, damn, I need to verify that. Because I thought I had used strict ones, and they always turned out to use more bytes than the actual data they contained. Which I didn’t want.
2026-07-07 09:41:28 +0000eggplantade(~eggplanta@2600:1702:8450:c370:68e2:8150:e673:9bfc)
2026-07-07 09:41:18 +0000chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-07-07 09:40:32 +0000chromoblob(~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2026-07-07 09:40:27 +0000 <Macrobe92> nice
2026-07-07 09:40:23 +0000 <tomsmeding> bytestrings are not chunked, lazy bytestrings are
2026-07-07 09:40:14 +0000 <tomsmeding> if you want the less-clever encoding, use Data.Vector.Storable
2026-07-07 09:40:13 +0000 <Macrobe92> Bytestrings are chunked though. Found that out yesterday, again, when coding another project.
2026-07-07 09:40:04 +0000 <tomsmeding> so that U.Vector (Int, Int) will be represented as (U.Vector Int, U.Vector Int)