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)