Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,800,854 events total
2025-12-28 00:19:01 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-28 00:24:01 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-28 00:33:04 <haskellbridge> <Liamzee> apparently apple silicon (and psosibly modern ARM in general) is designed to be very resistant to segfaults; double free would throw an error, but not a segfault
2025-12-28 00:33:29 <haskellbridge> <Liamzee> we ended up having to point a pointer at kernel memory just to trigger a segfault
2025-12-28 00:34:28 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-28 00:37:06 × mhatta quits (~mhatta@www21123ui.sakura.ne.jp) (Quit: ZNC 1.10.1+deb1 - https://znc.in)
2025-12-28 00:39:21 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-28 00:50:16 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-28 00:54:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-28 00:58:18 × collide2954 quits (~collide29@user/collide2954) (Quit: The Lounge - https://thelounge.chat)
2025-12-28 01:02:08 <geekosaur> there are malloc libraries which do that (it's not up to the hardware)
2025-12-28 01:03:06 <geekosaur> which doesn't mean you can't segfault on them, just that common errors like double free, use after free, and overreading/writing a block are detected and reported instead of corrupting memory or crashing
2025-12-28 01:04:57 <geekosaur> they're really nice in conjunction with debuggers because you can break on the error entry point and catch things like that immediately instead of after something reveals memory corruption
2025-12-28 01:06:04 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-28 01:07:05 <geekosaur> (that said, I think memcheck has superseded all of them…)
2025-12-28 01:10:21 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-28 01:11:58 <int-e> presumably this is about ARM's "pointer authentication" feature
2025-12-28 01:12:50 × Hafydd quits (~Hafydd@user/hafydd) (Quit: WeeChat 4.8.1)
2025-12-28 01:14:10 jmcantrell joins (~weechat@user/jmcantrell)
2025-12-28 01:15:46 omidmash2 joins (~omidmash@user/omidmash)
2025-12-28 01:16:19 collide2954 joins (~collide29@user/collide2954)
2025-12-28 01:17:35 × omidmash quits (~omidmash@user/omidmash) (Ping timeout: 244 seconds)
2025-12-28 01:17:35 omidmash2 is now known as omidmash
2025-12-28 01:18:55 hsw joins (~hsw@112-104-86-252.adsl.dynamic.seed.net.tw)
2025-12-28 01:19:21 hsw_ joins (~hsw@112-104-86-252.adsl.dynamic.seed.net.tw)
2025-12-28 01:19:36 × hsw_ quits (~hsw@112-104-86-252.adsl.dynamic.seed.net.tw) (Remote host closed the connection)
2025-12-28 01:21:29 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-28 01:24:44 × divlamir quits (~divlamir@user/divlamir) (Read error: Connection reset by peer)
2025-12-28 01:24:56 divlamir joins (~divlamir@user/divlamir)
2025-12-28 01:28:13 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-28 01:31:49 × jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 264 seconds)
2025-12-28 01:33:34 jmcantrell joins (~weechat@user/jmcantrell)
2025-12-28 01:38:57 Hafydd joins (~Hafydd@user/hafydd)
2025-12-28 01:39:32 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-28 01:40:22 × Hafydd quits (~Hafydd@user/hafydd) (Read error: Connection reset by peer)
2025-12-28 01:40:28 Hafydd_ joins (~Hafydd@user/hafydd)
2025-12-28 01:43:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-28 01:45:14 × Tuplanolla quits (~Tuplanoll@88-114-88-95.elisa-laajakaista.fi) (Quit: Leaving.)
2025-12-28 01:49:35 × annamalai quits (~annamalai@157.32.142.174) (Ping timeout: 240 seconds)
2025-12-28 01:55:00 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-28 02:00:03 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-28 02:10:48 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-28 02:14:10 × Hafydd_ quits (~Hafydd@user/hafydd) (Quit: WeeChat 4.8.1)
2025-12-28 02:15:35 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-28 02:22:05 Hafydd joins (~Hafydd@user/hafydd)
2025-12-28 02:26:50 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-28 02:27:49 annamalai joins (~annamalai@157.33.228.123)
2025-12-28 02:31:28 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-28 02:42:36 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-28 02:47:43 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-28 02:53:47 × acidjnk quits (~acidjnk@p200300d6e7171962095fe0be59254d80.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2025-12-28 02:58:23 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-28 03:03:25 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2025-12-28 03:05:02 × op_4 quits (~tslil@user/op-4/x-9116473) (Remote host closed the connection)
2025-12-28 03:05:39 op_4 joins (~tslil@user/op-4/x-9116473)
2025-12-28 03:14:10 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-28 03:18:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-28 03:22:03 × ttybitnik quits (~ttybitnik@user/wolper) (Quit: Fading out...)
2025-12-28 03:29:57 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-28 03:35:01 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-28 03:40:15 <Leary> "variance introduced by outliers: -9223372036854775808% (severely inflated)"
2025-12-28 03:40:19 <Leary> Thanks, criterion.
2025-12-28 03:45:46 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-28 03:50:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-28 03:50:46 × Hafydd quits (~Hafydd@user/hafydd) (Quit: WeeChat 4.8.1)
2025-12-28 04:01:32 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-28 04:04:27 <monochrom> That number looks awfully familar.
2025-12-28 04:06:11 <monochrom> > 2^63
2025-12-28 04:06:12 <lambdabot> 9223372036854775808
2025-12-28 04:06:16 <monochrom> That. :)
2025-12-28 04:06:29 <Leary> > minBound :: Int
2025-12-28 04:06:30 <lambdabot> -9223372036854775808
2025-12-28 04:06:37 <Leary> Or that.
2025-12-28 04:07:52 <monochrom> But if variance is negative, that's severely deflated or imploded, not inflated. >:)
2025-12-28 04:08:19 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-12-28 04:14:21 <Leary> (turns out I'd forgotten to wait on forked threads, so criterion was measuring a load of nonsense)
2025-12-28 04:15:25 <monochrom> oh heh
2025-12-28 04:19:35 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-28 04:24:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-28 04:28:25 Hafydd joins (~Hafydd@user/hafydd)
2025-12-28 04:35:22 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-28 04:40:07 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-28 04:49:31 × Pozyomka quits (~pyon@user/pyon) (Quit: bbl)
2025-12-28 04:51:08 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-28 04:55:39 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2025-12-28 05:01:16 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-28 05:01:20 iqubic joins (~sophia@2601:602:9203:1660:c40f:f996:91cc:d34)
2025-12-28 05:03:27 <iqubic> I have a Haskell design question. How do I decide if I should make a typeclass to describe a particular constraint or just use and pass around a record of functions.
2025-12-28 05:05:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-12-28 05:29:23 <haskellbridge> <slack1256> Iqubic: the standard answer some years ago was that if you could give "algebraic laws" relating the operations between themselves or super classes you were in the right path
2025-12-28 05:29:31 × spew quits (~spew@user/spew) (Quit: nyaa~)
2025-12-28 05:30:52 <haskellbridge> <slack1256> The second case was that the class admitted obvious instances. For example show and read. Foldable was obvious even if kind of adhoc because `toList` was the only real method and everything else was a more efficient way to avoid the conversion to lists.
2025-12-28 05:31:18 <ski> does the type determine a canonical instance ? or would it make sense to want to pass different records, at different times, for the same type ?
2025-12-28 05:31:31 <haskellbridge> <slack1256> In summary, you had abstraction power via laws or you had a simple model ln the instances
2025-12-28 05:32:22 <ski> yea, you also most likely should not be making a type class, unless you already have at least two different instances in mind
2025-12-28 05:32:32 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-28 05:36:37 <iqubic> In the thing that I'm modelling, the same type could very easily have different implementations. And I don't want to jump through newtype wrappers like Sum and Product for the two different Monoids over integers.
2025-12-28 05:36:56 <iqubic> The more I actually think about this, the more it makes sense to use a record of functions.
2025-12-28 05:37:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-28 05:37:35 <haskellbridge> <slack1256> Record of functions can be used everywhere else. Most importantly where the provenance is a deciding factor on what the functions should do, not just the type. This is a fine concept, these records of functions are modules as ocaml sense

All times are in UTC.