2025/11/07

Newest at the top

2025-11-07 22:06:37 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 264 seconds)
2025-11-07 22:05:41 +0100ss4(~wootehfoo@user/wootehfoot) (Client Quit)
2025-11-07 22:03:55 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-07 22:03:54 +0100ss4(~wootehfoo@user/wootehfoot) wootehfoot
2025-11-07 22:02:58 +0100 <tomsmeding> looks like 64 is good
2025-11-07 22:02:46 +0100 <tomsmeding> https://hackage.haskell.org/package/ghc-prim-0.13.0/docs/src/GHC.Tuple.html
2025-11-07 21:58:51 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 21:51:33 +0100fgarcia(~lei@user/fgarcia) (Quit: Remote host closed the connection)
2025-11-07 21:48:55 +0100 <geekosaur> (also I think it's 63?)
2025-11-07 21:48:28 +0100 <geekosaur> no one in their right mind would ask for 64 😈
2025-11-07 21:48:06 +0100 <EvanR> no one in their right mind would ask for 65
2025-11-07 21:48:01 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-07 21:47:35 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-11-07 21:47:22 +0100trickard(~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-07 21:46:52 +0100 <monochrom> GHC was designed for 64-result functions. >:)
2025-11-07 21:43:58 +0100 <tomsmeding> it has been enshrined on a branch lol https://git.tomsmeding.com/chad-fast/commit/?h=qualified-contdo&id=4ccf1996a5bd739dfb1e62fb3bfb189…
2025-11-07 21:43:45 +0100 <EvanR> the 0 1 6 rule
2025-11-07 21:43:29 +0100 <tomsmeding> fair
2025-11-07 21:43:24 +0100 <EvanR> that's consistent with what I said
2025-11-07 21:43:11 +0100 <tomsmeding> EvanR: I have CPSy functions returning 6 things
2025-11-07 21:43:01 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 21:42:54 +0100 <EvanR> no one in their right mind would ask for 3
2025-11-07 21:42:44 +0100 <EvanR> haskell should have been designed based on 2 result functions from the beginning, instead of 1
2025-11-07 21:41:37 +0100DetourNetworkUK(~DetourNet@user/DetourNetworkUK) DetourNetworkUK
2025-11-07 21:41:37 +0100 <Leary> Re multi-result functions, I don't know, but I doubt there's a nice way.
2025-11-07 21:41:19 +0100target_i(~target_i@user/target-i/x-6023099) target_i
2025-11-07 21:41:04 +0100 <Leary> tomsmeding: A spoonful of sugar helps the medicine go down. I won't talk you out of sweetening the pot. :)
2025-11-07 21:38:23 +0100 <tomsmeding> no autoformatter in my code
2025-11-07 21:38:07 +0100 <monochrom> OK the original "foo \i -", don't indent, "bar \j ->" is the simplest, if there is no auto-indenter or draconic style checker getting in the way.
2025-11-07 21:37:31 +0100 <tomsmeding> Leary: required additional thing in the ContDo module: class AlwaysFail a; instance TypeError (Text "fail") => AlwaysFail a; fail :: AlwaysFail a => String -> a; fail = error
2025-11-07 21:36:27 +0100 <tomsmeding> the cost is having to tuple the continuations for everything, and a wacky thing that everyone will do a double-take on
2025-11-07 21:35:54 +0100 <monochrom> "Once you've seen it, you can't unseen it" >:)
2025-11-07 21:35:52 +0100 <tomsmeding> nah this has only one real advantage: the binders are always on the left-hand side, instead of sometimes on the left and sometimes on the right
2025-11-07 21:35:24 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-07 21:34:37 +0100 <tomsmeding> Leary: now I'm seriously considering using this, talk me out of it
2025-11-07 21:33:54 +0100 <tomsmeding> (this case has the advantage of most of the functions actually having data types defined for them)
2025-11-07 21:33:37 +0100trickard_trickard
2025-11-07 21:33:24 +0100 <tomsmeding> but only if you bundle the Refls together into tuples, otherwise it's 15
2025-11-07 21:33:15 +0100 <tomsmeding> ok 11
2025-11-07 21:33:13 +0100 <tomsmeding> [exa]: https://git.tomsmeding.com/chad-fast/tree/src/CHAD.hs?id=38150f4f9792156d8c59439fe47ecb69a0a0e00b#… lines 878, 879, 880, 882, 884, 886, 887-888, 897, 900-903, 907, 908
2025-11-07 21:32:20 +0100 <monochrom> Haha "what's the difference between do-notation and guards?"
2025-11-07 21:32:11 +0100 <tomsmeding> [exa]: I have a case in this file with 12
2025-11-07 21:31:51 +0100 <monochrom> OK yeah we need dependent pairs yeah.
2025-11-07 21:31:50 +0100DetourNetworkUK(DetourNetw@user/DetourNetworkUK) ()
2025-11-07 21:31:37 +0100 <tomsmeding> monochrom: don't even need the Identity, in fact https://play.haskell.org/saved/clzWP2pe
2025-11-07 21:31:00 +0100 <monochrom> Anyway please turn on BlockArguments >:)
2025-11-07 21:30:32 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 21:30:26 +0100 <monochrom> Actually "foo :: Int -> E" and "E x1 f1 <- Identity (foo n)" is simpler.
2025-11-07 21:30:20 +0100 <[exa]> well, there's 10 levels of indentation on the table
2025-11-07 21:29:49 +0100 <tomsmeding> [exa]: do you seriously think that a wacky utterly-not-a-monad QualifiedDo thing is better than nested wrapper functions