2025/12/01

2025-12-01 00:07:16 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 00:10:50 +0100Googulator91(~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu)
2025-12-01 00:10:50 +0100Googulator60(~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed)
2025-12-01 00:13:44 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-01 00:15:02 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 244 seconds)
2025-12-01 00:17:01 +0100ttybitnik(~ttybitnik@user/wolper) (Quit: Fading out...)
2025-12-01 00:25:17 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 00:27:17 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2025-12-01 00:29:34 +0100Tuplanolla(~Tuplanoll@91-152-225-194.elisa-laajakaista.fi) (Quit: Leaving.)
2025-12-01 00:29:35 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-01 00:30:40 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 272 seconds)
2025-12-01 00:32:31 +0100ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2025-12-01 00:34:55 +0100peterbecich(~Thunderbi@172.222.148.214) (Ping timeout: 245 seconds)
2025-12-01 00:40:39 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 00:44:54 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-01 00:50:48 +0100img(~img@user/img) (Quit: ZNC 1.10.1 - https://znc.in)
2025-12-01 00:52:04 +0100img(~img@user/img) img
2025-12-01 00:52:07 +0100 <iqubic> Is it just me, or are people being slow to look at GitHub issues for the Emacs Haskell-Mode repo?
2025-12-01 00:52:15 +0100 <iqubic> https://github.com/haskell/haskell-mode/issues/1884
2025-12-01 00:56:03 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 00:57:00 +0100 <iqubic> Also, has the Haskell LSP changed how it classifies module names in imports? Something about my setup changed and I can't seem to figure out why. See the GH issue for more info.
2025-12-01 01:01:13 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-01 01:10:24 +0100Googulator91(~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed)
2025-12-01 01:10:35 +0100Googulator91(~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu)
2025-12-01 01:11:20 +0100 <haskellbridge> <zoil> https://kf8nh.com/_heisenbridge/media/matrix.org/KqFuFIwAGSfriqoeASQNmzLj/Cb2ngaXEBrk/image.png
2025-12-01 01:11:25 +0100 <geekosaur> the easy way to test that is to downgrade to 2.11.0.0 and aee if it changes
2025-12-01 01:11:47 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 01:11:50 +0100 <haskellbridge> <zoil> help! it rejects the instance if it is recursive
2025-12-01 01:11:54 +0100 <haskellbridge> <zoil> it demands it as a constraint
2025-12-01 01:12:06 +0100 <iqubic> How do I tell Nix to downgrade my Haskell Language Server?
2025-12-01 01:12:41 +0100 <haskellbridge> <zoil> can everyone see the image or should i upload a paste?
2025-12-01 01:13:51 +0100 <iqubic> No. No one on the IRC can see your image.
2025-12-01 01:13:56 +0100 <haskellbridge> <zoil> derp
2025-12-01 01:14:03 +0100 <iqubic> Or actually, yes we can.
2025-12-01 01:14:07 +0100 <geekosaur> we get the image (as a link on the IRC side), but a paste is usually better especially if it's to a pastebin where someone can fork it and show you a modified version to test or etc.
2025-12-01 01:14:07 +0100 <iqubic> I'm dumb.
2025-12-01 01:14:20 +0100 <iqubic> Yeah... It's an image of text.
2025-12-01 01:14:22 +0100 <geekosaur> we generally recommend https://paste.tomsmeding.com
2025-12-01 01:15:29 +0100 <geekosaur> or download it and try things locally
2025-12-01 01:16:07 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-01 01:16:35 +0100mreh(~matthew@host86-146-25-125.range86-146.btcentralplus.com) (Ping timeout: 245 seconds)
2025-12-01 01:17:14 +0100 <EvanR> this is like someone taking a phone picture of an image of text someone posted
2025-12-01 01:18:05 +0100 <EvanR> who let these hairless apes on the internet
2025-12-01 01:19:53 +0100 <haskellbridge> <zoil> https://paste.tomsmeding.com/prZTHuAw\
2025-12-01 01:20:35 +0100 <haskellbridge> <zoil> well, the image combines both the error and the sourcecode neatly...
2025-12-01 01:21:44 +0100 <geekosaur> both the pastebin I suggested and gist (and some others) let you include multiple "files"/pastes
2025-12-01 01:22:31 +0100 <jackdk> The pastebin makes it easier for people to noodle around with the code if they have to, run their screenreader over it (if required), copy it into their editor (where they have proper syntax highlighting) etc. It's just so much easier to work with than the screenshot tool, though I appreciate the effort in slicing out the relevant parts of the error and the source.
2025-12-01 01:22:59 +0100 <haskellbridge> <zoil> ok
2025-12-01 01:23:13 +0100 <haskellbridge> <zoil> well the paste isnt going to compile, but its readable
2025-12-01 01:24:00 +0100 <haskellbridge> <zoil> tldr: if you define an instance recursively it isnt "exhaustive" in some sense, and it asks for the constraint to be supplied and the deriving statement doesnt work
2025-12-01 01:24:25 +0100 <haskellbridge> <zoil> it needs the standalone deriving statement so there is a place to put the constraint. but then this constraint appears everywhere
2025-12-01 01:24:37 +0100 <haskellbridge> <zoil> iv run into this a bunch of times when having to write recursive instances
2025-12-01 01:24:48 +0100 <haskellbridge> <zoil> like, FromNat n appears everywhere
2025-12-01 01:24:53 +0100 <haskellbridge> <zoil> or like, Length xs
2025-12-01 01:26:12 +0100 <haskellbridge> <zoil> i need to assert to the compiler "this instance is complete!"
2025-12-01 01:27:25 +0100 <haskellbridge> <zoil> idk some kind of "exhaustiveness checks for matching cases of sum datatypes in instance declarations" proposal or smt
2025-12-01 01:28:20 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 01:28:31 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2025-12-01 01:28:56 +0100ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2025-12-01 01:30:02 +0100 <haskellbridge> <zoil> but to do so, this is the placement of the constraint! i mean, thats literally how to convey that the instance is required to exist. i just dont know how to assert that it _does_ exist. which is normally automatic, but this exhaustiveness business seems to induce
2025-12-01 01:30:41 +0100 <haskellbridge> <zoil> any ideas?
2025-12-01 01:31:05 +0100 <monochrom> "It wouldn't compile anyway" is not a good reason to post a screenshot instead of actually downloading editable code.
2025-12-01 01:31:29 +0100 <monochrom> Because, with luck, someone could have made an easy change and make it compilable.
2025-12-01 01:31:57 +0100 <haskellbridge> <zoil> im not sure what your asking of me?
2025-12-01 01:32:52 +0100 <haskellbridge> <zoil> im kind of in the middle of something, otherwise id happily write up a least sufficient example
2025-12-01 01:32:57 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-01 01:33:21 +0100 <haskellbridge> <zoil> i figured people would be able to read the paste or image and that would suffice, i dont have time to make a full proposal
2025-12-01 01:33:28 +0100 <haskellbridge> <zoil> is it a known issue?
2025-12-01 01:33:41 +0100 <haskellbridge> <zoil> im sure people have encountered this before...
2025-12-01 01:34:22 +0100 <jreicher> hololeap: Maybe https://en.wikipedia.org/wiki/Witness_(mathematics) will interest you?
2025-12-01 01:35:49 +0100 <haskellbridge> <zoil> you would have to say exactly in what way
2025-12-01 01:36:04 +0100 <haskellbridge> <zoil> i cant see from skimming how its relavent
2025-12-01 01:36:22 +0100 <haskellbridge> <zoil> there is an Exists symbol and my eyes kind of bounce off it...
2025-12-01 01:36:31 +0100X-Scale(~ARM@6.67.114.89.rev.vodafone.pt) (Ping timeout: 240 seconds)
2025-12-01 01:36:40 +0100 <haskellbridge> <zoil> we had all kinds of discussions back in the day about existential quantification
2025-12-01 01:36:49 +0100 <haskellbridge> <iqubic (she/her)> Well, if someone wants to take your code and try it out on their own and make changes to it, their first step would be "type it all out in their own text editor". However, the code already exists on your computer, so you can share the textual version on https://paste.tomsmeding.com easily by copy and paste. Then all we'd have to do is copy and paste it into our text editor and then we could easily make changes to it.
2025-12-01 01:36:54 +0100 <haskellbridge> <zoil> theres even an extension no?
2025-12-01 01:37:25 +0100 <iqubic> Also, yes, I do have this channel open in two different forms. Emacs and Firefox.
2025-12-01 01:37:27 +0100 <haskellbridge> <zoil> iqubic: again, im not sure what your asking. iv stated i dont have the wherewithall to write up a proposal
2025-12-01 01:37:29 +0100 <EvanR> you're all spoiled now a days. We should return to a time when men were men and copied code char by char out of a magazine
2025-12-01 01:37:54 +0100 <haskellbridge> <zoil> im sure the image and paste are sufficient, im not sure whats the problem.
2025-12-01 01:38:06 +0100 <glguy> zoil: You can just merge the two instances into one, can't you?
2025-12-01 01:38:18 +0100 <monochrom> True, I was one of those readers of those magazines, and typed in the code myself.
2025-12-01 01:38:25 +0100 <haskellbridge> <zoil> glguy: i think not
2025-12-01 01:38:28 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-12-01 01:38:37 +0100 <haskellbridge> <zoil> it requires both to match
2025-12-01 01:38:41 +0100 <glguy> zoil: then that's why the compiler can't do it fo ryou
2025-12-01 01:39:06 +0100 <haskellbridge> <zoil> but i want to say to it "i have done the exhaustiveness check, its all there, dont worry"
2025-12-01 01:39:14 +0100 <glguy> that won't help it know which one to use
2025-12-01 01:39:15 +0100 <monochrom> The magazine publisher also offered to sell floppy diskettes containing the code. I was able to buy some of that when I had some petty cash.
2025-12-01 01:39:20 +0100 <iqubic> The compiler is not smart. It just does simple rewriting and instance creation.
2025-12-01 01:39:34 +0100 <EvanR> monochrom, smh... you BOUGHT the code? smh
2025-12-01 01:39:42 +0100 <iqubic> If you can't tell which instance to choose, then how the heck do you expect the compiler to do it for you?
2025-12-01 01:39:48 +0100 <monochrom> copies! just copies.
2025-12-01 01:39:58 +0100 <EvanR> that's like buying food
2025-12-01 01:40:18 +0100 <monochrom> It was also the latter days when those programs became very long.
2025-12-01 01:40:18 +0100 <haskellbridge> <zoil> wait wait, im trying to seperate the people talking about floppy disks from the people staying ontopic, i think it might be a mod, im not sure.
2025-12-01 01:40:26 +0100 <haskellbridge> <zoil> THANKS!
2025-12-01 01:40:38 +0100 <EvanR> yes I had this flight simulator program which was several pages
2025-12-01 01:40:43 +0100 <EvanR> cool program
2025-12-01 01:40:46 +0100 <haskellbridge> <zoil> _facepalm_
2025-12-01 01:40:47 +0100 <glguy> zoil: you can probably combine the Show case just fine, it's the Read one that you'll struggle with
2025-12-01 01:41:00 +0100 <haskellbridge> <zoil> how so?
2025-12-01 01:41:20 +0100 <haskellbridge> <zoil> it needs to diferentiate between if its the basecase (S Z) or the recursive case (S (S n))
2025-12-01 01:41:28 +0100 <glguy> because show gets an argument that let's it learn what the type is
2025-12-01 01:41:37 +0100 <haskellbridge> <zoil> (im going to start counting from one for nonempty containers in future versions...)
2025-12-01 01:42:08 +0100 <haskellbridge> <zoil> it throws an error for both the read and show case
2025-12-01 01:42:39 +0100 <haskellbridge> <zoil> also, the type ambiguity doesnt inhibit the read instance
2025-12-01 01:43:35 +0100 <haskellbridge> <zoil> i would think basically, that if i gave it a newtype, that this would serve as such an assertion
2025-12-01 01:43:42 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 01:43:46 +0100 <haskellbridge> <zoil> but it just looks underneath and still demands the underlying constraint
2025-12-01 01:44:08 +0100 <Leary> zoil: This kind of exhaustiveness doesn't exist at the type level in GHC for the same reason we don't have "eta-rules" <https://gitlab.haskell.org/ghc/ghc/-/issues/7259>; it isn't sound. You want to say that `xs :: NonEmpty _` implies `xs ~ Cons _ _` or `Last _`, but that isn't true until you successfully pattern match on `Transfers xs`.
2025-12-01 01:44:53 +0100 <haskellbridge> <zoil> thanks! i thought it would be a known issue
2025-12-01 01:45:44 +0100 <Leary> There is a kind-of workaround for `Read`-like cases by taking a singleton as a constraint and matching on it, but then you have to supply that singleton constraint everywhere instead.
2025-12-01 01:46:11 +0100 <glguy> zoil: merging Show would be like: https://paste.tomsmeding.com/UEfrQUiN
2025-12-01 01:47:07 +0100 <haskellbridge> <zoil> oh wow! thats awesome, i never thought thats what you meant when you said it could go in one instance
2025-12-01 01:47:14 +0100 <haskellbridge> <zoil> so you just put a type family for the constraint
2025-12-01 01:47:15 +0100 <haskellbridge> <zoil> thats cool
2025-12-01 01:47:23 +0100 <haskellbridge> <zoil> and your saying thats not possible for the readd instance?
2025-12-01 01:47:34 +0100 <glguy> right
2025-12-01 01:47:58 +0100 <haskellbridge> <zoil> forgive me, i dont imidiately see the difference
2025-12-01 01:48:06 +0100 <glguy> One has a https://en.wikipedia.org/wiki/Witness_(mathematics)
2025-12-01 01:48:15 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-01 01:48:25 +0100 <glguy> the argument to show witnesses what type show is being instantiated at
2025-12-01 01:48:32 +0100 <haskellbridge> <zoil> but i can supply a type application?
2025-12-01 01:48:48 +0100 <glguy> No, that's not enough
2025-12-01 01:48:57 +0100 <haskellbridge> <zoil> read @(Cons Int (Last Bool))
2025-12-01 01:49:16 +0100 <glguy> That that's not usable information in the implementation of read itself on this type
2025-12-01 01:49:26 +0100 <haskellbridge> <zoil> * @(HList (Cons
2025-12-01 01:49:54 +0100 <glguy> the argument to show is a value that's going to exist at runtime
2025-12-01 01:50:33 +0100 <haskellbridge> <zoil> well i could provide a proxy...
2025-12-01 01:51:12 +0100 <haskellbridge> <zoil> btw, does your show instance pick up the requirement for the constraint to be specified each time, like if it was recursive in different classes?
2025-12-01 01:51:18 +0100 <haskellbridge> <zoil> because of the type family?
2025-12-01 01:51:27 +0100 <glguy> You couldn't but that won't help if it's as simple as a Data.Proxy.Proxy (which contains no type information at runtime)
2025-12-01 01:51:29 +0100 <haskellbridge> <zoil> or does it just work the way id like it too! :_D
2025-12-01 01:51:47 +0100 <haskellbridge> <zoil> no type information at runtime! oh no!
2025-12-01 01:51:56 +0100 <glguy> You'd have to make a new GADTs so that at runtime you can learn which type is needed via case
2025-12-01 01:52:00 +0100 <haskellbridge> <zoil> that sounds like the kind of thing the compiler is fussy about
2025-12-01 01:52:08 +0100 <Leary> zoil: You would need e.g. `data WhichNE xs where { IsCons :: WhichNE (Cons x xs); IsLast :: WhichNE (Last x) }; class KnownNE ne where { knownNE :: WhichNE ne }; <both instances>; instance KnownNE xs => Read (Transfers xs) where { read s = case knownNE of { ... } }`.
2025-12-01 01:52:21 +0100 <glguy> It's not that it's fussy; it's just that it if the information has been erased, you can't use it
2025-12-01 01:52:35 +0100 <haskellbridge> <zoil> glguy: I could do that! i just dont want constraints all over the place from recusrive classes that cant be asserted to be exhaustive
2025-12-01 01:53:03 +0100 <haskellbridge> <zoil> i dont see why it would erase type information from a proxy, thats all they are for! crazy compiler
2025-12-01 01:53:07 +0100 <glguy> read doesn't have a place to put the runtime type witness, it's type is fixed by the type class definition
2025-12-01 01:53:19 +0100 <glguy> proxies are not for runtime type information
2025-12-01 01:53:41 +0100 <glguy> singletons are
2025-12-01 01:54:47 +0100 <haskellbridge> <zoil> thats what learys answer looks like its managing to acheive
2025-12-01 01:54:48 +0100glguyponders if that's exactly right, but anyway, the way to get type information from a value is using a GADT
2025-12-01 01:55:33 +0100 <haskellbridge> <zoil> i mean, this is all super interesting, and i think it might even work, but im hardly going to be able to do it
2025-12-01 01:55:43 +0100 <glguy> yeah, it's better to just not overcomplicate your program
2025-12-01 01:55:46 +0100 <haskellbridge> <zoil> but, iiuc your saying its theoretically possivle
2025-12-01 01:55:51 +0100 <haskellbridge> <zoil> possible*
2025-12-01 01:56:07 +0100 <haskellbridge> <zoil> id rather do it right at the onset, than have these constraints following me around
2025-12-01 01:56:28 +0100 <glguy> this route leads to brittle programs that are hard to update and refactor
2025-12-01 01:56:37 +0100 <haskellbridge> <zoil> basically, anything that requires more than one instance, like some kind of recusion matching on the tail or something, and then im in constraints hell
2025-12-01 01:56:49 +0100 <glguy> and a mess of complicated error messages and special utility functions to manage it all
2025-12-01 01:57:15 +0100 <haskellbridge> <zoil> https://kf8nh.com/_heisenbridge/media/matrix.org/hTIHFOzGuFAqswyfkLuIVoBL/yfXyRcmB1_8/image.png
2025-12-01 01:57:50 +0100 <haskellbridge> <zoil> id rather just be able to read off constraints that arent insane
2025-12-01 01:58:04 +0100 <haskellbridge> <zoil> like, the stateful constraints make sense, but the length constraint is just garbage
2025-12-01 01:59:16 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 02:00:32 +0100 <haskellbridge> <zoil> maybe it would be worth trying the length version, thats really common
2025-12-01 02:01:00 +0100X-Scale(~ARM@6.67.114.89.rev.vodafone.pt) X-Scale
2025-12-01 02:01:12 +0100peterbecich(~Thunderbi@172.222.148.214) peterbecich
2025-12-01 02:01:31 +0100 <haskellbridge> <zoil> https://paste.tomsmeding.com/gHFMMx2t
2025-12-01 02:03:32 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-01 02:04:44 +0100 <haskellbridge> <zoil> i have to go actually
2025-12-01 02:05:00 +0100 <haskellbridge> <zoil> so anyway, possibly singlestons help but in a way that ill probably never understand
2025-12-01 02:05:04 +0100 <haskellbridge> <zoil> _le sigh_
2025-12-01 02:10:27 +0100 <haskellbridge> <zoil> monochrom: you cat get back to talking about the 1950's now
2025-12-01 02:11:53 +0100trickard(~trickard@cpe-85-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-12-01 02:12:07 +0100trickard_(~trickard@cpe-85-98-47-163.wireline.com.au)
2025-12-01 02:12:47 +0100ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2025-12-01 02:14:39 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 02:16:56 +0100sindu(~sindu@2.148.32.207.tmi.telenormobil.no) (Ping timeout: 240 seconds)
2025-12-01 02:18:55 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-01 02:18:57 +0100Pozyomka(~pyon@user/pyon) (Quit: brb)
2025-12-01 02:19:10 +0100Pozyomka(~pyon@user/pyon) pyon
2025-12-01 02:19:10 +0100 <EvanR> lol
2025-12-01 02:19:49 +0100 <EvanR> the 1950s when you had like cathode ray tubes and such
2025-12-01 02:22:08 +0100omidmash3(~omidmash@user/omidmash) omidmash
2025-12-01 02:24:12 +0100omidmash(~omidmash@user/omidmash) (Ping timeout: 244 seconds)
2025-12-01 02:24:12 +0100omidmash3omidmash
2025-12-01 02:30:01 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 02:30:30 +0100jmcantrell_(~weechat@user/jmcantrell) jmcantrell
2025-12-01 02:34:26 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-01 02:35:44 +0100 <geekosaur> some of us were still using them in the early 2000s
2025-12-01 02:35:55 +0100 <geekosaur> degaussing my monitor every month was fun
2025-12-01 02:41:59 +0100 <monochrom> The most bonkers was when CRT was memory rather than display. >:)
2025-12-01 02:43:03 +0100 <haskellbridge> <iqubic (she/her)> WHAT?!?!?!
2025-12-01 02:43:30 +0100 <glguy> HE SAID: "THE MOST BONKERS WAS WHEN...
2025-12-01 02:43:30 +0100 <monochrom> (In general, any output device combined with a sensor could be memory: To store 1, output 1 and have the sensor read back that 1, repeat.)
2025-12-01 02:43:59 +0100 <monochrom> (The two popular choices were mercury tube and CRT.)
2025-12-01 02:45:08 +0100 <monochrom> (More precisely, there must also be a non-zero time delay between sending output and reading back input. Today, you use logic gates to make flip flops, same difference.)
2025-12-01 02:45:24 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 02:50:25 +0100jmcantrell_(~weechat@user/jmcantrell) (Ping timeout: 264 seconds)
2025-12-01 02:51:55 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-01 02:52:03 +0100 <monochrom> I hadn't thought of it that way until I read both a Turing biography (so there was his team using CRTs and mercury tubes for early computers) and Harper's PFPL in which he pointed out "state comes from self-reference" and exemplified with using recursion to make an RS latch.
2025-12-01 02:53:45 +0100Pozyomka(~pyon@user/pyon) (Read error: Connection reset by peer)
2025-12-01 02:54:18 +0100Guest62(~Guest62@38.49.92.193)
2025-12-01 02:55:01 +0100 <Guest62> I'm profiling my haskell functions (pitting them against each other to compare their memory usages). Could someone help me understand how profiling works? I have basically never done this before.
2025-12-01 02:55:44 +0100 <glguy> Have you seen this already? https://ghc.gitlab.haskell.org/ghc/doc/users_guide/profiling.html
2025-12-01 02:58:01 +0100cattiesCatty
2025-12-01 02:58:11 +0100 <Guest62> uh yes. I think I need heap profiling. I think my primary question is "Does the total memory allocated section count reuse of memory as a separate additional allocation?" and how to not make it do that if it does.
2025-12-01 02:58:45 +0100 <jreicher> monochrom: delay line memory was always my favourite.
2025-12-01 02:58:55 +0100peterbecich(~Thunderbi@172.222.148.214) (Ping timeout: 240 seconds)
2025-12-01 02:59:00 +0100iqubic(~sophia@2601:602:9203:1660:c137:59bd:3f5b:b4a7) (Remote host closed the connection)
2025-12-01 03:00:45 +0100 <monochrom> I mean, I worked like that when I was a child, too. Whenever required to memorize a story or a poem, I read aloud and listened to myself, repeat.
2025-12-01 03:01:11 +0100iqubic(~sophia@2601:602:9203:1660:c137:59bd:3f5b:b4a7) iqubic
2025-12-01 03:01:13 +0100 <EvanR> this would be like, read the poem aloud really loud in the grand canyon, then wait
2025-12-01 03:01:22 +0100monochromis an echo relay memory and a large language model.
2025-12-01 03:01:33 +0100 <jreicher> DRAM's pretty crazy too actually. As funky as flip-flops are, they are probably the most straightforward of all the techs.
2025-12-01 03:01:47 +0100wickedjargon(~user@64.114.24.74)
2025-12-01 03:02:03 +0100wickedjargon(~user@64.114.24.74) (Remote host closed the connection)
2025-12-01 03:03:26 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 03:08:24 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-12-01 03:18:49 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 03:21:07 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Remote host closed the connection)
2025-12-01 03:21:46 +0100 <Guest62> okay, I was able to learn heap profiling, but my graphs seem empty....
2025-12-01 03:22:55 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-01 03:24:55 +0100 <EvanR> what is the program
2025-12-01 03:25:35 +0100haskellbridge(~hackager@96.28.224.214) (Ping timeout: 240 seconds)
2025-12-01 03:25:57 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-12-01 03:26:33 +0100haskellbridge(~hackager@96.28.224.214) hackager
2025-12-01 03:26:33 +0100ChanServ+v haskellbridge
2025-12-01 03:27:28 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Excess Flood)
2025-12-01 03:27:41 +0100jrm(~jrm@user/jrm) (Read error: Connection reset by peer)
2025-12-01 03:27:55 +0100jrm(~jrm@user/jrm) jrm
2025-12-01 03:28:10 +0100firesquidwao(~a@2600:3c06::f03c:93ff:fea6:ef0e)
2025-12-01 03:28:40 +0100Pozyomka(~pyon@user/pyon) pyon
2025-12-01 03:28:48 +0100tuxpaint(~a@put.gay) (Read error: Connection reset by peer)
2025-12-01 03:31:54 +0100Googulator91Googulator
2025-12-01 03:32:01 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-12-01 03:34:12 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 03:38:35 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-01 03:41:57 +0100 <Guest62> It is essentially comparing an equation solver using ST Monad to one without
2025-12-01 03:49:34 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 03:52:55 +0100peterbecich(~Thunderbi@172.222.148.214) peterbecich
2025-12-01 03:53:25 +0100inline__(~inlinE@2001-4dd3-7fc8-0-8721-eee6-e05a-14dd.ipv6dyn.netcologne.de) Inline
2025-12-01 03:54:29 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-12-01 03:55:39 +0100Inline(~inlinE@2001-4dd7-868d-0-2e24-c46e-4393-27fd.ipv6dyn.netcologne.de) (Ping timeout: 244 seconds)
2025-12-01 03:55:50 +0100 <Guest62> Okay I now have data but I still can't make sense of this data :(
2025-12-01 04:00:38 +0100Googulator(~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed)
2025-12-01 04:00:51 +0100Googulator(~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu)
2025-12-01 04:01:43 +0100Guest62(~Guest62@38.49.92.193) (Quit: Client closed)
2025-12-01 04:04:41 +0100chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2025-12-01 04:05:04 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 04:05:20 +0100chiselfuse(~chiselfus@user/chiselfuse) chiselfuse
2025-12-01 04:09:19 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-01 04:21:49 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 04:24:15 +0100trickard_trickard
2025-12-01 04:26:39 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-01 04:31:06 +0100td_(~td@i5387091E.versanet.de) (Ping timeout: 256 seconds)
2025-12-01 04:31:07 +0100Googulator26(~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu)
2025-12-01 04:31:27 +0100Googulator(~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed)
2025-12-01 04:32:55 +0100td_(~td@i53870926.versanet.de) td_
2025-12-01 04:34:18 +0100Sgeo_(~Sgeo@user/sgeo) Sgeo
2025-12-01 04:36:01 +0100shr\ke(~shrike@user/shrke:31298) (Ping timeout: 264 seconds)
2025-12-01 04:36:01 +0100oppili(~oppili@user/nerdypepper) (Ping timeout: 264 seconds)
2025-12-01 04:36:15 +0100srk_(~sorki@user/srk) srk
2025-12-01 04:36:23 +0100dysfigured(~dfg@50.116.28.89)
2025-12-01 04:36:37 +0100nitrix_(~nitrix@user/meow/nitrix) nitrix
2025-12-01 04:36:37 +0100srk(~sorki@user/srk) (Ping timeout: 264 seconds)
2025-12-01 04:36:40 +0100sajith_(~sajith@user/sajith) sajith
2025-12-01 04:36:46 +0100natto17(~natto@129.154.243.159) natto
2025-12-01 04:36:47 +0100mstruebing_(~mstruebin@ns343649.ip-188-165-193.eu)
2025-12-01 04:37:01 +0100Googulator26Googulator
2025-12-01 04:37:09 +0100opencircuit(~quassel@user/opencircuit) (Read error: Connection reset by peer)
2025-12-01 04:37:11 +0100Athas_(athas@sigkill.dk)
2025-12-01 04:37:12 +0100oppili(~oppili@lewi-27-b2-v4wan-165682-cust505.vm4.cable.virginm.net)
2025-12-01 04:37:12 +0100oppili(~oppili@lewi-27-b2-v4wan-165682-cust505.vm4.cable.virginm.net) (Changing host)
2025-12-01 04:37:12 +0100oppili(~oppili@user/nerdypepper) nerdy
2025-12-01 04:37:13 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 264 seconds)
2025-12-01 04:37:13 +0100tomboy64(~tomboy64@user/tomboy64) (Ping timeout: 264 seconds)
2025-12-01 04:37:13 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 264 seconds)
2025-12-01 04:37:13 +0100nitrix(~nitrix@user/meow/nitrix) (Ping timeout: 264 seconds)
2025-12-01 04:37:13 +0100Miroboru(~myrvoll@84.215.250.50) (Ping timeout: 264 seconds)
2025-12-01 04:37:13 +0100natto-(~natto@129.154.243.159) (Ping timeout: 264 seconds)
2025-12-01 04:37:14 +0100juri_(~juri@implicitcad.org) (Ping timeout: 264 seconds)
2025-12-01 04:37:14 +0100sajith(~sajith@user/sajith) (Ping timeout: 264 seconds)
2025-12-01 04:37:14 +0100dfg(~dfg@user/dfg) (Ping timeout: 264 seconds)
2025-12-01 04:37:14 +0100antti_(~antti@82-181-183-83.bb.dnainternet.fi) (Ping timeout: 264 seconds)
2025-12-01 04:37:23 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 04:37:24 +0100cstml3(~cstml@user/cstml) cstml
2025-12-01 04:37:37 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net)
2025-12-01 04:37:39 +0100benkard(~mulk@pd9514972.dip0.t-ipconnect.de) mulk
2025-12-01 04:37:46 +0100shr\ke(~shrike@user/paxhumana) paxhumana
2025-12-01 04:37:46 +0100shr\ke(~shrike@user/paxhumana) (Changing host)
2025-12-01 04:37:46 +0100shr\ke(~shrike@user/shrke:31298) shr\ke
2025-12-01 04:37:49 +0100Sgeo(~Sgeo@user/sgeo) (Ping timeout: 264 seconds)
2025-12-01 04:37:49 +0100chromoblob(~chromoblo@user/chromob1ot1c) (Ping timeout: 264 seconds)
2025-12-01 04:37:49 +0100cstml(~cstml@user/cstml) (Ping timeout: 264 seconds)
2025-12-01 04:37:49 +0100mulk(~mulk@pd9514972.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2025-12-01 04:37:49 +0100typedfern_(~Typedfern@15.red-83-37-26.dynamicip.rima-tde.net) (Ping timeout: 264 seconds)
2025-12-01 04:37:49 +0100Ranhir(~Ranhir@157.97.53.139) (Ping timeout: 264 seconds)
2025-12-01 04:37:49 +0100tessier_(~tessier@184.72.149.67) (Ping timeout: 264 seconds)
2025-12-01 04:37:49 +0100Wanderer(~wanderer@user/wanderer) (Ping timeout: 264 seconds)
2025-12-01 04:37:49 +0100mstruebing(~mstruebin@ns343649.ip-188-165-193.eu) (Ping timeout: 264 seconds)
2025-12-01 04:37:49 +0100Athas(athas@sigkill.dk) (Ping timeout: 264 seconds)
2025-12-01 04:37:49 +0100benkardmulk
2025-12-01 04:38:03 +0100opencircuit(~quassel@user/opencircuit) opencircuit
2025-12-01 04:38:23 +0100nitrix_nitrix
2025-12-01 04:38:30 +0100Wanderer(~wanderer@user/wanderer) Wanderer
2025-12-01 04:38:39 +0100juri_(~juri@implicitcad.org) juri_
2025-12-01 04:38:45 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2025-12-01 04:38:54 +0100antti_(~antti@82-181-183-83.bb.dnainternet.fi)
2025-12-01 04:39:02 +0100Miroboru(~myrvoll@84.215.250.50) Miroboru
2025-12-01 04:39:02 +0100srk_srk
2025-12-01 04:39:24 +0100tessier(~tessier@ec2-184-72-149-67.compute-1.amazonaws.com) tessier
2025-12-01 04:41:35 +0100 <iqubic> Is it possible to dynamically see what type of token HLS thinks different things in my code are?
2025-12-01 04:41:51 +0100oppili-(~oppili@lewi-27-b2-v4wan-165682-cust505.vm4.cable.virginm.net)
2025-12-01 04:41:52 +0100benkard(~mulk@pd9514972.dip0.t-ipconnect.de) mulk
2025-12-01 04:42:01 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-01 04:42:01 +0100oppili(~oppili@user/nerdypepper) (Ping timeout: 264 seconds)
2025-12-01 04:42:01 +0100natto17(~natto@129.154.243.159) (Ping timeout: 264 seconds)
2025-12-01 04:42:37 +0100opencircuit(~quassel@user/opencircuit) (Ping timeout: 264 seconds)
2025-12-01 04:42:37 +0100mulk(~mulk@pd9514972.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2025-12-01 04:42:37 +0100benkardmulk
2025-12-01 04:42:45 +0100opencircuit_(~quassel@user/opencircuit) opencircuit
2025-12-01 04:43:51 +0100natto17(~natto@129.154.243.159) natto
2025-12-01 04:44:25 +0100Miroboru(~myrvoll@84.215.250.50) (Ping timeout: 264 seconds)
2025-12-01 04:45:01 +0100antti_(~antti@82-181-183-83.bb.dnainternet.fi) (Ping timeout: 264 seconds)
2025-12-01 04:45:01 +0100juri_(~juri@implicitcad.org) (Ping timeout: 264 seconds)
2025-12-01 04:45:17 +0100Miroboru(~myrvoll@84.215.250.50) Miroboru
2025-12-01 04:45:33 +0100juri_(~juri@implicitcad.org) juri_
2025-12-01 04:46:32 +0100antti_(~antti@82-181-183-83.bb.dnainternet.fi)
2025-12-01 04:47:54 +0100natto-(~natto@129.154.243.159) natto
2025-12-01 04:48:37 +0100natto17(~natto@129.154.243.159) (Ping timeout: 264 seconds)
2025-12-01 04:50:29 +0100tomboy64(~tomboy64@user/tomboy64) tomboy64
2025-12-01 04:50:35 +0100Ranhir(~Ranhir@157.97.53.139) Ranhir
2025-12-01 04:50:36 +0100typedfern_(~Typedfern@15.red-83-37-26.dynamicip.rima-tde.net) typedfern
2025-12-01 04:51:37 +0100antti_(~antti@82-181-183-83.bb.dnainternet.fi) (Ping timeout: 264 seconds)
2025-12-01 04:51:37 +0100juri_(~juri@implicitcad.org) (Ping timeout: 264 seconds)
2025-12-01 04:52:08 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 04:52:28 +0100juri_(~juri@implicitcad.org) juri_
2025-12-01 04:53:10 +0100antti_(~antti@82-181-183-83.bb.dnainternet.fi)
2025-12-01 04:56:37 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2025-12-01 04:57:15 +0100 <geekosaur> probably if you run it in debug mode and monitor its debug output
2025-12-01 04:58:44 +0100Sgeo_(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-12-01 05:00:39 +0100Googulator31(~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu)
2025-12-01 05:00:43 +0100Googulator(~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed)
2025-12-01 05:07:37 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 05:08:35 +0100chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2025-12-01 05:12:01 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-01 05:19:30 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2025-12-01 05:20:14 +0100Square(~Square@user/square) Square
2025-12-01 05:23:00 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 05:28:15 +0100peterbecich(~Thunderbi@172.222.148.214) (Ping timeout: 240 seconds)
2025-12-01 05:30:08 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-12-01 05:35:40 +0100Googulator31(~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed)
2025-12-01 05:35:45 +0100Googulator39(~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu)
2025-12-01 05:41:04 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 05:45:45 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-12-01 05:53:35 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 240 seconds)
2025-12-01 05:55:17 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 05:59:39 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-12-01 06:05:43 +0100Googulator77(~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu)
2025-12-01 06:05:45 +0100Googulator39(~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed)
2025-12-01 06:06:23 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 06:10:12 +0100peterbecich(~Thunderbi@172.222.148.214) peterbecich
2025-12-01 06:10:31 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-01 06:21:45 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-01 06:24:29 +0100trickard(~trickard@cpe-85-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-12-01 06:24:43 +0100trickard_(~trickard@cpe-85-98-47-163.wireline.com.au)
2025-12-01 06:26:03 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)