2025/03/29

2025-03-29 00:02:46 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-03-29 00:03:50 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2025-03-29 00:06:49 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 00:11:17 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-03-29 00:22:48 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 00:27:46 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-03-29 00:31:10 +0100dudek(~dudek@2a02:a312:c9df:bf80:6431:ea:b097:7aad) (Quit: Leaving)
2025-03-29 00:31:50 +0100malte(~malte@mal.tc) malte
2025-03-29 00:34:40 +0100preflex(~preflex@user/mauke/bot/preflex) (Ping timeout: 252 seconds)
2025-03-29 00:34:55 +0100sintheta(~src@user/src) src
2025-03-29 00:34:56 +0100preflex(~preflex@user/mauke/bot/preflex) preflex
2025-03-29 00:35:24 +0100src(~src@user/src) (Ping timeout: 252 seconds)
2025-03-29 00:37:14 +0100tdammers(~tdammers@110-136-178-143.ftth.glasoperator.nl) (Ping timeout: 252 seconds)
2025-03-29 00:37:37 +0100tdammers(~tdammers@110-136-178-143.ftth.glasoperator.nl) tdammers
2025-03-29 00:38:51 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 00:41:38 +0100sudden(~cat@user/sudden) (Ping timeout: 252 seconds)
2025-03-29 00:43:37 +0100sudden(~cat@user/sudden) sudden
2025-03-29 00:43:43 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-03-29 00:44:08 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 00:51:54 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-03-29 00:57:15 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-03-29 01:00:19 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds)
2025-03-29 01:00:19 +0100ljdarj1ljdarj
2025-03-29 01:02:54 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 01:07:46 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-03-29 01:13:59 +0100nitrix(~nitrix@user/meow/nitrix) (Quit: ZNC 1.9.1 - https://znc.in)
2025-03-29 01:15:18 +0100random-jellyfish(~developer@user/random-jellyfish) (Ping timeout: 244 seconds)
2025-03-29 01:18:08 +0100drdo(~drdo@static.61.197.13.49.clients.your-server.de) (Quit: WeeChat 4.5.2)
2025-03-29 01:18:41 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 01:23:13 +0100sprotte24(~sprotte24@p200300d16f1244002c79175af1485053.dip0.t-ipconnect.de) (Quit: Leaving)
2025-03-29 01:23:21 +0100malte(~malte@mal.tc) (Remote host closed the connection)
2025-03-29 01:24:32 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-03-29 01:27:55 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
2025-03-29 01:28:44 +0100malte(~malte@mal.tc) malte
2025-03-29 01:35:48 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 01:40:40 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-03-29 01:41:52 +0100weary-traveler(~user@user/user363627) (Quit: Konversation terminated!)
2025-03-29 01:42:11 +0100weary-traveler(~user@user/user363627) user363627
2025-03-29 01:47:15 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2025-03-29 01:51:34 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 01:52:49 +0100emmanuelux(~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
2025-03-29 01:57:19 +0100notdabs(~Owner@2600:1700:69cf:9000:a99a:9123:20e6:65c6) (Quit: Leaving)
2025-03-29 01:58:29 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-03-29 02:09:37 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 02:12:56 +0100otto_s(~user@p5de2fe2d.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2025-03-29 02:14:24 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-03-29 02:17:40 +0100drdo(~drdo@static.61.197.13.49.clients.your-server.de) drdo
2025-03-29 02:21:55 +0100acidjnk(~acidjnk@p200300d6e71c4f71c835c1b6e3010b6c.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2025-03-29 02:22:43 +0100otto_s(~user@p4ff27624.dip0.t-ipconnect.de)
2025-03-29 02:25:23 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 02:46:51 +0100tomku(~tomku@user/tomku) (Read error: Connection reset by peer)
2025-03-29 02:53:13 +0100agentultra(~user@104-195-156-122.cpe.teksavvy.com) (Remote host closed the connection)
2025-03-29 02:53:18 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 245 seconds)
2025-03-29 02:56:29 +0100tomku(~tomku@user/tomku) tomku
2025-03-29 03:00:51 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2025-03-29 03:04:03 +0100tremon(~tremon@83.80.159.219) (Quit: getting boxed in)
2025-03-29 03:04:31 +0100malte(~malte@mal.tc) (Remote host closed the connection)
2025-03-29 03:07:14 +0100 <haskellbridge> <Bowuigi> Liamzee freeing after use isn't the fastest option. In fact, switching to it on linear code would actually make it slower
2025-03-29 03:08:34 +0100 <haskellbridge> <Bowuigi> On many cases, an arena allocator is the fastest option because you can free many things at once (faster than one thing at a time). It's even recommended in C because of it's speed and simplicity
2025-03-29 03:09:30 +0100malte(~malte@mal.tc) malte
2025-03-29 03:09:34 +0100malte(~malte@mal.tc) (Remote host closed the connection)
2025-03-29 03:09:48 +0100malte(~malte@mal.tc) malte
2025-03-29 03:11:15 +0100 <haskellbridge> <Bowuigi> But you don't have to trust me here, the Perceus (basically inferring linear and inserting alloc/free) tests a lot of people have done show improvements only on very specific examples, but poorer performance otherwise
2025-03-29 03:13:37 +0100tomku(~tomku@user/tomku) (Ping timeout: 244 seconds)
2025-03-29 03:13:54 +0100 <haskellbridge> <Bowuigi> Modern GCs have a lot of thought put into them in order to make them really fast. Allocation for those is practically free and deallocation is deferred until it's at near-peak efficiency
2025-03-29 03:19:28 +0100nitrix(~nitrix@user/meow/nitrix) nitrix
2025-03-29 03:29:24 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-03-29 03:37:54 +0100tomku(~tomku@user/tomku) tomku
2025-03-29 03:39:10 +0100ensyde(~ensyde@2601:5c6:c200:6dc0::6f7f) ensyde
2025-03-29 03:40:29 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 03:40:53 +0100talismanick(~user@2601:644:937c:ed10::ae5) talismanick
2025-03-29 03:48:18 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-03-29 03:59:22 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 04:01:40 +0100EvanR_(~EvanR@user/evanr) EvanR
2025-03-29 04:02:26 +0100EvanR(~EvanR@user/evanr) (Ping timeout: 272 seconds)
2025-03-29 04:06:50 +0100rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2025-03-29 04:07:23 +0100rvalue(~rvalue@user/rvalue) rvalue
2025-03-29 04:07:49 +0100ZLima12(~zlima12@user/meow/ZLima12) (Remote host closed the connection)
2025-03-29 04:08:58 +0100ZLima12(~zlima12@user/meow/ZLima12) ZLima12
2025-03-29 04:29:49 +0100j1n37-(~j1n37@user/j1n37) j1n37
2025-03-29 04:30:26 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 252 seconds)
2025-03-29 04:49:10 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-03-29 04:51:21 +0100haskellbridge(~hackager@syn-024-093-192-219.res.spectrum.com) (Remote host closed the connection)
2025-03-29 04:51:55 +0100haskellbridge(~hackager@syn-024-093-192-219.res.spectrum.com) hackager
2025-03-29 04:51:55 +0100ChanServ+v haskellbridge
2025-03-29 05:11:09 +0100 <haskellbridge> <Liamzee> is that what rust's optimizer is actually doing?
2025-03-29 05:11:12 +0100 <haskellbridge> <Liamzee> Bowuigi:
2025-03-29 05:12:36 +0100 <haskellbridge> <Bowuigi> No clue but probably yes. Tho allocations are not inferred in Rust (that's why you have to deal with the borrow checker)
2025-03-29 05:13:08 +0100 <haskellbridge> <Bowuigi> Probably yes to the refcounting, not to the efficient GC
2025-03-29 05:17:28 +0100 <haskellbridge> <Liamzee> are there good reasons not to use Twain? Are there limitations of Twain I should know about?
2025-03-29 05:29:50 +0100aforemny_(~aforemny@i577B132D.versanet.de) aforemny
2025-03-29 05:30:42 +0100aforemny(~aforemny@i577B139C.versanet.de) (Ping timeout: 246 seconds)
2025-03-29 05:39:26 +0100bilegeek(~bilegeek@2600:1008:b001:c41c:5fd7:83ed:e07c:8226) bilegeek
2025-03-29 05:58:03 +0100Flow(~none@gentoo/developer/flow) (Ping timeout: 252 seconds)
2025-03-29 06:04:20 +0100Flow(~none@gentoo/developer/flow) flow
2025-03-29 06:09:28 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-03-29 06:09:28 +0100son0p(~ff@190.249.196.199) (Ping timeout: 268 seconds)
2025-03-29 06:11:29 +0100Square2(~Square@user/square) Square
2025-03-29 06:11:33 +0100Square(~Square@user/square) Square
2025-03-29 06:11:34 +0100tabaqui(~tabaqui@167.71.80.236) (Ping timeout: 244 seconds)
2025-03-29 06:20:01 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 06:22:56 +0100xff0x(~xff0x@2405:6580:b080:900:73c3:617e:93dd:971) (Ping timeout: 244 seconds)
2025-03-29 06:25:00 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-03-29 06:30:12 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-03-29 06:34:09 +0100xff0x(~xff0x@2405:6580:b080:900:73c3:617e:93dd:971)
2025-03-29 06:36:03 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 06:36:06 +0100takuan(~takuan@d8D86B601.access.telenet.be)
2025-03-29 06:45:44 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-03-29 06:50:30 +0100jmcantrell(~weechat@user/jmcantrell) (Quit: WeeChat 4.6.0)
2025-03-29 06:50:33 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Quit: peterbecich)
2025-03-29 06:50:54 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-03-29 06:56:42 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 08:00:04 +0100caconym(~caconym@user/caconym) (Quit: bye)
2025-03-29 08:00:18 +0100JamesMowery17(~JamesMowe@ip68-228-212-232.ph.ph.cox.net) (Quit: Goodbye)
2025-03-29 08:00:31 +0100 <haskellbridge> <Liamzee> what are the tradeoffs of various sql backends that Haskell supports?
2025-03-29 08:00:36 +0100JamesMowery17(~JamesMowe@ip68-228-212-232.ph.ph.cox.net) JamesMowery
2025-03-29 08:00:49 +0100 <haskellbridge> <Liamzee> I'm just going with postgresql because that seems to be standard, but there's also sqlite3 packages
2025-03-29 08:00:59 +0100caconym(~caconym@user/caconym) caconym
2025-03-29 08:01:42 +0100 <haskellbridge> <Liamzee> huh
2025-03-29 08:01:44 +0100 <haskellbridge> <Liamzee> https://www.reddit.com/r/haskell/comments/zynpnf/what_databases_do_you_find_the_most_productive_to/
2025-03-29 08:01:50 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-03-29 08:04:22 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds)
2025-03-29 08:12:51 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 08:15:40 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-03-29 08:16:24 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds)
2025-03-29 08:17:04 +0100Lord_of_Life_Lord_of_Life
2025-03-29 08:17:46 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-03-29 08:18:03 +0100son0p(~ff@2800:e6:4001:f995:7f79:d961:a77:e30d) son0p
2025-03-29 08:19:20 +0100 <jackdk> All the libraries I like only support postgred (rel8, opaleye, hasql)
2025-03-29 08:19:39 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 08:27:51 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-03-29 08:39:14 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 08:42:56 +0100Square2(~Square@user/square) (Quit: Leaving)
2025-03-29 08:45:48 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-03-29 08:54:19 +0100ensyde(~ensyde@2601:5c6:c200:6dc0::6f7f) (Ping timeout: 244 seconds)
2025-03-29 08:55:52 +0100takuan(~takuan@d8D86B601.access.telenet.be) (Remote host closed the connection)
2025-03-29 08:57:19 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 08:59:18 +0100takuan(~takuan@d8D86B601.access.telenet.be)
2025-03-29 09:01:34 +0100random-jellyfish(~developer@85.50.149.196)
2025-03-29 09:01:34 +0100random-jellyfish(~developer@85.50.149.196) (Changing host)
2025-03-29 09:01:34 +0100random-jellyfish(~developer@user/random-jellyfish) random-jellyfish
2025-03-29 09:02:26 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-03-29 09:09:02 +0100jaror(~jaror@5070ACC7.static.ziggozakelijk.nl)
2025-03-29 09:13:04 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 09:14:05 +0100tremon(~tremon@83.80.159.219) tremon
2025-03-29 09:28:23 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-03-29 09:33:00 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2025-03-29 09:33:05 +0100ash3en(~Thunderbi@89.56.182.235) ash3en
2025-03-29 09:40:57 +0100acidjnk(~acidjnk@p200300d6e71c4f56253b485ca204f32a.dip0.t-ipconnect.de) acidjnk
2025-03-29 09:42:13 +0100ash3en(~Thunderbi@89.56.182.235) (Ping timeout: 268 seconds)
2025-03-29 09:56:12 +0100Feuermagier(~Feuermagi@user/feuermagier) Feuermagier
2025-03-29 09:56:48 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2025-03-29 10:01:41 +0100 <haskellbridge> <Liamzee> ah, i'm using opaleye right now
2025-03-29 10:03:22 +0100Square(~Square@user/square) (Ping timeout: 252 seconds)
2025-03-29 10:07:08 +0100Feuermagier(~Feuermagi@user/feuermagier) Feuermagier
2025-03-29 10:08:28 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2025-03-29 10:10:19 +0100bilegeek(~bilegeek@2600:1008:b001:c41c:5fd7:83ed:e07c:8226) (Quit: Leaving)
2025-03-29 10:14:57 +0100tavare(~tavare@user/tavare) tavare
2025-03-29 10:15:05 +0100tavare(~tavare@user/tavare) (Read error: Connection reset by peer)
2025-03-29 10:17:43 +0100fp(~Thunderbi@hof1.kyla.fi) fp
2025-03-29 10:22:53 +0100hughjfchen(~hughjfche@vmi2417424.contaboserver.net) (Quit: WeeChat 4.4.3)
2025-03-29 10:23:25 +0100ensyde(~ensyde@2601:5c6:c200:6dc0::6f7f) ensyde
2025-03-29 10:24:18 +0100hughjfchen(~hughjfche@vmi2417424.contaboserver.net) hughjfchen
2025-03-29 10:39:18 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla
2025-03-29 10:49:59 +0100fp(~Thunderbi@hof1.kyla.fi) (Read error: Connection reset by peer)
2025-03-29 10:55:27 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-03-29 10:57:32 +0100 <tomsmeding> What is a good name for a type that does not contain any function arrows? I've been recommended "ground type", but other resources reserve that for a type without _type variables_ instead
2025-03-29 10:59:52 +0100 <haskellbridge> <Liamzee> is that question coherent?
2025-03-29 11:00:03 +0100 <haskellbridge> <Liamzee> erm, that's the wrong word
2025-03-29 11:00:06 +0100 <haskellbridge> <Liamzee> meaningful
2025-03-29 11:00:17 +0100 <haskellbridge> <Liamzee> newtype Foo = MkFoo (Int -> Char)
2025-03-29 11:00:33 +0100 <haskellbridge> <Liamzee> Foo doesn't contain any function arrows, but it's a newtype over a function type
2025-03-29 11:10:31 +0100sprotte24(~sprotte24@p200300d16f18ca00810b5da35042238f.dip0.t-ipconnect.de)
2025-03-29 11:14:15 +0100 <tomsmeding> Liamzee: It's a fair point. I think I'd want Foo to "contain function arrows", i.e. to _not_ be in the category that I want a name for
2025-03-29 11:14:44 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds)
2025-03-29 11:14:53 +0100 <tomsmeding> but if there's a good term for such types where you do consider Foo to be "simple", I'm also open to those
2025-03-29 11:15:30 +0100j1n37-(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-03-29 11:15:56 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-03-29 11:16:34 +0100 <haskellbridge> <Liamzee> non-function types?
2025-03-29 11:16:53 +0100j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-03-29 11:20:30 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-03-29 11:24:34 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-03-29 11:26:17 +0100lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2025-03-29 11:30:11 +0100 <tomsmeding> well, (Int, Int -> Int) is also a non-function type, in my mind
2025-03-29 11:32:05 +0100 <tomsmeding> one can generalise from https://en.wikipedia.org/wiki/Higher-order_function
2025-03-29 11:32:16 +0100 <tomsmeding> a higher-order function is a function that takes functions; a first-order function is a function that does not
2025-03-29 11:32:57 +0100 <tomsmeding> if you define Order[Int] = 0; Order[(a, b)] = max(Order[a], Order[b]); Order[a -> b] = max{1 + Order[a], Order[b]}, then a first-order function is a function with type of order 1, and a higher-order function is a function with type of order >1
2025-03-29 11:33:10 +0100 <tomsmeding> then the thing I'm looking for would be type with order 0
2025-03-29 11:33:34 +0100 <tomsmeding> but I'm not sure I've seen "zeroth-order type" before, and it's also a bit of an awkward phrase
2025-03-29 11:33:41 +0100tromp(~textual@2001:1c00:3487:1b00:9865:6ec1:d353:2dc8)
2025-03-29 11:36:08 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-03-29 11:36:26 +0100 <haskellbridge> <Liamzee> so would (Int, Int -> Int) be a type that contains function arrows?
2025-03-29 11:36:42 +0100 <haskellbridge> <Liamzee> I'm guessing it's just that in languages where functions are values the term is more confused
2025-03-29 11:37:39 +0100 <tomsmeding> yes, (Int, Int -> Int) would be a type that contains function arrows, and would thus not be allowed for my thingy types
2025-03-29 11:38:15 +0100 <tomsmeding> The context here is an array language: I want to allow arrays of zeroth-order types only, because functions have closures and everything becomes messy then
2025-03-29 11:38:30 +0100 <tomsmeding> even sum types are messy but only to a limited extent
2025-03-29 11:38:53 +0100 <tomsmeding> this is not in haskell specifically, but I'm asking here because it's somewhat related :)
2025-03-29 11:41:55 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 11:42:53 +0100jacopovalanzano(~jacopoval@cpc151911-cove17-2-0-cust105.3-1.cable.virginm.net)
2025-03-29 11:46:38 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-03-29 11:47:39 +0100 <Leary> tomsmeding: Trees?
2025-03-29 11:51:37 +0100 <tomsmeding> Leary: then arrays and sum types would need to be trees, and function types not
2025-03-29 11:52:04 +0100 <tomsmeding> it's a good unorthodox suggestion, but I'm not a fan either
2025-03-29 11:52:38 +0100 <tomsmeding> I think I'll just go with "zeroth-order"; I even have a sensible use for "second-order", i.e. functions that take functions that don't take functions
2025-03-29 11:52:44 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-03-29 11:53:06 +0100 <tomsmeding> (in a language with zeroth-order arrays, 'map' on arrays is a second-order function)
2025-03-29 11:57:35 +0100sand-witch(~m-mzmz6l@vmi833741.contaboserver.net) (Remote host closed the connection)
2025-03-29 11:57:41 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 11:58:24 +0100sand-witch(~m-mzmz6l@vmi833741.contaboserver.net)
2025-03-29 11:58:26 +0100 <Leary> Anything built from base types with sums and products counts as a tree in my book, some of them are just really wide or stunted. ¯\_(ツ)_/¯
2025-03-29 11:58:33 +0100lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 244 seconds)
2025-03-29 12:00:04 +0100caconym(~caconym@user/caconym) (Quit: bye)
2025-03-29 12:04:04 +0100__monty__(~toonn@user/toonn) toonn
2025-03-29 12:04:40 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-03-29 12:05:07 +0100caconym(~caconym@user/caconym) caconym
2025-03-29 12:08:53 +0100aforemny_(~aforemny@i577B132D.versanet.de) (Ping timeout: 244 seconds)
2025-03-29 12:15:44 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 12:16:17 +0100ensyde(~ensyde@2601:5c6:c200:6dc0::6f7f) (Quit: WeeChat 4.6.0)
2025-03-29 12:20:30 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-03-29 12:25:47 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 12:26:27 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2025-03-29 12:27:36 +0100 <merijn> Leary: My hot take: Trees are just very degenerate trees :)
2025-03-29 12:28:05 +0100 <merijn> Actually, your comment has broadened my view, so I've updated my hot take to also conclude Maybe is a degenerate tree :p
2025-03-29 12:28:41 +0100 <tomsmeding> what would be a non-degenerate tree?
2025-03-29 12:29:02 +0100 <merijn> tomsmeding: A perfectly balanced binary tree :p
2025-03-29 12:29:22 +0100 <tomsmeding> I like those too
2025-03-29 12:29:41 +0100int-ewonders whether merijn meant lists
2025-03-29 12:30:13 +0100 <merijn> int-e: eh, yes
2025-03-29 12:30:16 +0100 <merijn> I slept badly xD
2025-03-29 12:30:32 +0100 <merijn> And I'm doing 4 things at once
2025-03-29 12:32:28 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 245 seconds)
2025-03-29 12:43:33 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2025-03-29 12:44:33 +0100 <tomsmeding> that doesn't sound like a good combination
2025-03-29 12:45:13 +0100 <tomsmeding> 3 is already borderline for me
2025-03-29 12:53:08 +0100random-jellyfish(~developer@user/random-jellyfish) (Ping timeout: 252 seconds)
2025-03-29 13:04:11 +0100oneeyedalien(~oneeyedal@user/oneeyedalien) oneeyedalien
2025-03-29 13:06:13 +0100srk(~sorki@user/srk) (Ping timeout: 248 seconds)
2025-03-29 13:06:53 +0100malte(~malte@mal.tc) (Remote host closed the connection)
2025-03-29 13:09:29 +0100malte(~malte@mal.tc) malte
2025-03-29 13:11:51 +0100 <haskellbridge> <jv> anything more than 1 is too much for me if i've slept badly
2025-03-29 13:20:02 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 248 seconds)
2025-03-29 13:21:00 +0100oneeyedalien(~oneeyedal@user/oneeyedalien) (Ping timeout: 252 seconds)
2025-03-29 13:21:27 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 246 seconds)
2025-03-29 13:22:58 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-03-29 13:25:20 +0100JuanDaugherty(~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org))
2025-03-29 13:29:49 +0100srk(~sorki@user/srk) srk
2025-03-29 13:33:48 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 264 seconds)
2025-03-29 13:34:35 +0100ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2025-03-29 13:45:50 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-03-29 13:57:43 +0100ash3en(~Thunderbi@89.56.182.235) ash3en
2025-03-29 14:01:00 +0100haritz(~hrtz@user/haritz) (Ping timeout: 244 seconds)
2025-03-29 14:04:05 +0100malte(~malte@mal.tc) (Remote host closed the connection)
2025-03-29 14:04:15 +0100hiecaq(~hiecaq@user/hiecaq) hiecaq
2025-03-29 14:05:58 +0100jacopovalanzano(~jacopoval@cpc151911-cove17-2-0-cust105.3-1.cable.virginm.net) (Quit: Client closed)
2025-03-29 14:08:43 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2025-03-29 14:10:26 +0100haritz(~hrtz@2a02:8010:65b5:0:5d9a:9bab:ee5e:b737)
2025-03-29 14:10:28 +0100haritz(~hrtz@2a02:8010:65b5:0:5d9a:9bab:ee5e:b737) (Changing host)
2025-03-29 14:10:28 +0100haritz(~hrtz@user/haritz) haritz
2025-03-29 14:11:39 +0100acidjnk(~acidjnk@p200300d6e71c4f56253b485ca204f32a.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2025-03-29 14:13:05 +0100weary-traveler(~user@user/user363627) user363627
2025-03-29 14:13:14 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-03-29 14:13:42 +0100acidjnk(~acidjnk@p200300d6e71c4f562482958d1edc696d.dip0.t-ipconnect.de) acidjnk
2025-03-29 14:13:53 +0100hgolden(~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) (Remote host closed the connection)
2025-03-29 14:14:39 +0100toby-bro(~toby-bro@user/toby-bro) toby-bro
2025-03-29 14:16:50 +0100hgolden(~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) hgolden
2025-03-29 14:16:57 +0100jinsun(~jinsun@user/jinsun) jinsun
2025-03-29 14:19:48 +0100malte(~malte@mal.tc) malte
2025-03-29 14:21:22 +0100aman(~aman@user/aman) (Ping timeout: 244 seconds)
2025-03-29 14:23:10 +0100aman(~aman@user/aman) aman
2025-03-29 14:24:12 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 264 seconds)
2025-03-29 14:24:35 +0100chexum(~quassel@gateway/tor-sasl/chexum) chexum
2025-03-29 14:24:59 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 14:45:32 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2025-03-29 14:49:21 +0100acidjnk(~acidjnk@p200300d6e71c4f562482958d1edc696d.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2025-03-29 14:50:55 +0100target_i(~target_i@user/target-i/x-6023099) target_i
2025-03-29 14:55:24 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-03-29 15:00:44 +0100ash3en(~Thunderbi@89.56.182.235) (Ping timeout: 252 seconds)
2025-03-29 15:03:48 +0100tabaqui(~tabaqui@167.71.80.236) tabaqui
2025-03-29 15:06:09 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 15:07:59 +0100j1n37-(~j1n37@user/j1n37) j1n37
2025-03-29 15:08:48 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 252 seconds)
2025-03-29 15:23:50 +0100srk(~sorki@user/srk) (Ping timeout: 252 seconds)
2025-03-29 15:24:08 +0100srk(~sorki@user/srk) srk
2025-03-29 15:25:15 +0100Miroboru(~myrvoll@178-164-114.82.3p.ntebredband.no) (Quit: Lost terminal)
2025-03-29 15:29:20 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2025-03-29 15:34:11 +0100 <ski> "polynomial type" ?
2025-03-29 15:35:13 +0100Miroboru(~myrvoll@178-164-114.82.3p.ntebredband.no) Miroboru
2025-03-29 15:39:34 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca)
2025-03-29 15:43:11 +0100gmg(~user@user/gehmehgeh) (Quit: Leaving)
2025-03-29 15:55:00 +0100Digit(~user@user/digit) (Remote host closed the connection)
2025-03-29 16:04:15 +0100jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-03-29 16:12:13 +0100beth(~beth@103.151.209.124)
2025-03-29 16:12:27 +0100beth(~beth@103.151.209.124) (Client Quit)
2025-03-29 16:13:18 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-03-29 16:20:03 +0100oneeyedalien(~oneeyedal@user/oneeyedalien) oneeyedalien
2025-03-29 16:22:02 +0100oneeyedalien(~oneeyedal@user/oneeyedalien) (Remote host closed the connection)
2025-03-29 16:24:23 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 16:32:11 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-03-29 16:34:18 +0100tabaqui(~tabaqui@167.71.80.236) (Quit: WeeChat 4.5.2)
2025-03-29 16:36:25 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-03-29 16:41:45 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2025-03-29 16:48:43 +0100ash3en(~Thunderbi@89.56.182.235) ash3en
2025-03-29 16:51:23 +0100Digit(~user@user/digit) Digit
2025-03-29 16:53:05 +0100Digitdigitteknohippie
2025-03-29 16:53:06 +0100digitteknohippie(~user@user/digit) (Remote host closed the connection)
2025-03-29 16:54:43 +0100jacopovalanzano(~jacopoval@cpc151911-cove17-2-0-cust105.3-1.cable.virginm.net)
2025-03-29 16:57:07 +0100tromp(~textual@2001:1c00:3487:1b00:9865:6ec1:d353:2dc8) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-03-29 17:00:10 +0100anpad(~pandeyan@user/anpad) (Ping timeout: 272 seconds)
2025-03-29 17:01:59 +0100L29Ah(~L29Ah@wikipedia/L29Ah) ()
2025-03-29 17:06:24 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-03-29 17:11:18 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2025-03-29 17:12:29 +0100aman(~aman@user/aman) (Quit: aman)
2025-03-29 17:15:11 +0100 <tomsmeding> ski: if this wasn't in the context of numerical computing, that would've been a good one. :D
2025-03-29 17:16:13 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-03-29 17:21:57 +0100Digit(~user@user/digit) Digit
2025-03-29 17:27:20 +0100chiselfuse(~chiselfus@user/chiselfuse) (Read error: Connection reset by peer)
2025-03-29 17:27:20 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Read error: Connection reset by peer)
2025-03-29 17:27:34 +0100chexum(~quassel@gateway/tor-sasl/chexum) chexum
2025-03-29 17:28:01 +0100chiselfuse(~chiselfus@user/chiselfuse) chiselfuse
2025-03-29 17:28:11 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 17:29:57 +0100ash3en(~Thunderbi@89.56.182.235) (Ping timeout: 244 seconds)
2025-03-29 17:30:26 +0100 <srk> heh, trying to export prometheus metrics from 32bit pi1 is quite fun. had to patch basement, memory and cborg (fortunately two of them had PRs) because of tons of crypto libs that I don't need
2025-03-29 17:30:42 +0100 <srk> almost rolled my own primitive http server /o\
2025-03-29 17:38:15 +0100Digitteknohippie(~user@user/digit) Digit
2025-03-29 17:42:35 +0100gmg(~user@user/gehmehgeh) gehmehgeh
2025-03-29 17:43:40 +0100tromp(~textual@2001:1c00:3487:1b00:9865:6ec1:d353:2dc8)
2025-03-29 17:44:42 +0100ash3en(~Thunderbi@89.56.182.235) ash3en
2025-03-29 17:46:58 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-03-29 17:48:21 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds)
2025-03-29 17:48:21 +0100ljdarj1ljdarj
2025-03-29 17:51:47 +0100ash3en(~Thunderbi@89.56.182.235) (Quit: ash3en)
2025-03-29 17:56:04 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 260 seconds)
2025-03-29 18:00:54 +0100toby-bro(~toby-bro@user/toby-bro) (Ping timeout: 260 seconds)
2025-03-29 18:03:27 +0100dutchie(~dutchie@user/dutchie) dutchie
2025-03-29 18:03:53 +0100rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-19-74-12-85-11.dsl.bell.ca) rekahsoft
2025-03-29 18:04:20 +0100 <dutchie> I feel like I'm missing something obvious, but what's the way to have a pattern match in an attoparsec do block result in failure? I can't just do `Just x <- thing` because it's the wrong monad...
2025-03-29 18:04:46 +0100 <dutchie> and aiui `let Just x = thing` just crashes if it doesn't match
2025-03-29 18:06:57 +0100Digitteknohippie(~user@user/digit) (Ping timeout: 248 seconds)
2025-03-29 18:07:21 +0100Digit(~user@user/digit) (Ping timeout: 252 seconds)
2025-03-29 18:15:47 +0100 <srk> <- maybe (fail "no parse") pure thing ?
2025-03-29 18:19:05 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2025-03-29 18:19:05 +0100 <enikar> if i remember, there is no fail function in Attoparsec. I use it times to times.
2025-03-29 18:20:25 +0100 <srk> pretty sure it has a MonadFail instance, ye https://hackage.haskell.org/package/attoparsec-0.14.4/docs/Data-Attoparsec-Internal-Types.html#t:P…
2025-03-29 18:22:12 +0100 <int-e> but there's no "abort the parse if this happens, even if there are more alternatives to try"
2025-03-29 18:23:17 +0100 <enikar> hum… I wonder it can be use in this case. Often I rewrote the parser in another way.
2025-03-29 18:24:06 +0100 <int-e> Hmm I'm trying to understand in what the "wrong monad" is in this context.
2025-03-29 18:24:18 +0100 <enikar> readP and megaparsec have pfail, which is sometimes useful.
2025-03-29 18:26:02 +0100 <int-e> I mean if you just need `fail`, shouldn't `Just x <- thing` actually work? The resulting error message will be horrible though.
2025-03-29 18:26:24 +0100 <int-e> (Or maybe `Just x <- pure thing`)
2025-03-29 18:28:57 +0100 <JuanDaugherty> i am just getting that optics make visible/accessible stuff which in a conventional imperative land u'd just put someplace
2025-03-29 18:29:25 +0100 <JuanDaugherty> *lang
2025-03-29 18:31:03 +0100acidjnk(~acidjnk@p200300d6e71c4f5684d81f92e812b9d0.dip0.t-ipconnect.de) acidjnk
2025-03-29 18:32:31 +0100 <monochrom> I would write "case thing of Just x -> ... Nothing -> ..." explicitly.
2025-03-29 18:32:43 +0100 <srk> unknown RTS option: -N :)) is that because the system has only a single core or llvm?
2025-03-29 18:33:26 +0100 <monochrom> You need to enable RTS options at all at compile time (more precisely link time), e.g., ghc -rtsopts
2025-03-29 18:33:38 +0100Digit(~user@user/digit) Digit
2025-03-29 18:33:42 +0100 <int-e> you need -threaded to enabled -N
2025-03-29 18:33:52 +0100 <monochrom> It is non-default because some RTS options become vulnerabilities.
2025-03-29 18:33:53 +0100 <srk> ye, I have -threaded -rtsopts -with-rtsopts=-N
2025-03-29 18:34:05 +0100zmt00(~zmt00@user/zmt00) zmt00
2025-03-29 18:34:08 +0100 <monochrom> Hrm then I don't know!
2025-03-29 18:34:09 +0100 <srk> but this is armv6l (pi1) with only one core
2025-03-29 18:34:25 +0100 <int-e> I don't think the number of cores matters
2025-03-29 18:34:27 +0100 <srk> got this error trying to run the thing, trying to drop the -N now
2025-03-29 18:34:39 +0100 <srk> yeah, that helped. fun!
2025-03-29 18:34:41 +0100 <monochrom> Pretty sure I can demand -N1000 even if I only have 4.
2025-03-29 18:35:07 +0100 <int-e> But maybe there is no threaded runtime for armv6l? Well that sounds... weird.
2025-03-29 18:35:24 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-03-29 18:35:25 +0100 <int-e> And GHC really ought to complain about -threaded in that case.
2025-03-29 18:35:34 +0100 <srk> indeed
2025-03-29 18:36:17 +0100 <monochrom> Actually IIRC I disagreed how they framed it as vulnerabilities but meh who am I.
2025-03-29 18:36:19 +0100zmt01(~zmt00@user/zmt00) (Ping timeout: 260 seconds)
2025-03-29 18:37:07 +0100 <int-e> you could check the output of <executable> +RTS --info and see if the "RTS way" contains "thr" or not.
2025-03-29 18:39:03 +0100 <srk> no, it doesn't
2025-03-29 18:39:41 +0100 <int-e> so GHC did indeed not link against the threaded RTS
2025-03-29 18:40:53 +0100 <srk> interesting, now I'm tempted to try on armv7 and aarch64 with more cores as well
2025-03-29 18:42:04 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-03-29 18:42:47 +0100 <srk> anyway, it works now \o/ hope it keeps working when I connect it to the modbus meter
2025-03-29 18:44:10 +0100 <srk> type safe electricity consumption analysis ^^
2025-03-29 18:44:53 +0100Digitdigitteknohippie
2025-03-29 18:45:10 +0100digitteknohippieDigit
2025-03-29 18:46:28 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-29 18:51:50 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-03-29 18:52:30 +0100 <srk> works like a charm, impressive
2025-03-29 18:56:45 +0100tromp(~textual@2001:1c00:3487:1b00:9865:6ec1:d353:2dc8) (Quit: My iMac has gone to sleep. ZZZzzz…)