2023/08/23

2023-08-23 00:02:17 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-08-23 00:05:48 +0200 <monochrom> I think I also heard that some macos updates/upgrades cost money.
2023-08-23 00:06:14 +0200michalz(~michalz@185.246.207.205) (Remote host closed the connection)
2023-08-23 00:10:20 +0200Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 248 seconds)
2023-08-23 00:11:25 +0200Maxdamantus(~Maxdamant@user/maxdamantus)
2023-08-23 00:13:02 +0200libertyprime(~libertypr@203.96.203.44)
2023-08-23 00:15:34 +0200 <geekosaur> they also EOL hardware in some upgrades
2023-08-23 00:16:10 +0200 <monochrom> yeah :(
2023-08-23 00:17:26 +0200 <monochrom> Two decades ago I admired the Macbook and I said to myself "one day when I have money I should switch to Macbook".
2023-08-23 00:17:49 +0200 <monochrom> I had no money for the next decade, therefore disaster averted >:D
2023-08-23 00:18:41 +0200 <monochrom> By the time I had money, I had had also seen enough tech support questions on #haskell that "OK nevermind, I'll stick to Linux".
2023-08-23 00:19:04 +0200 <monochrom> (more accurately "Linux on cheap x86 laptops")
2023-08-23 00:22:55 +0200matijja(~matijja@193.77.181.201) (Quit: ZNC 1.8.2 - https://znc.in)
2023-08-23 00:23:34 +0200matijja(~matijja@193.77.181.201)
2023-08-23 00:25:18 +0200acidjnk(~acidjnk@p200300d6e7072f1038e78ce6e398439b.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-08-23 00:26:21 +0200Sgeo(~Sgeo@user/sgeo)
2023-08-23 00:26:31 +0200bramhaag7(~bramhaag@198.8.58.39) (Quit: The Lounge - https://thelounge.chat)
2023-08-23 00:33:01 +0200ft(~ft@p4fc2ad78.dip0.t-ipconnect.de) (Remote host closed the connection)
2023-08-23 00:50:26 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-08-23 00:50:45 +0200 <EvanR> my macbook air just died, not 10 years old
2023-08-23 00:51:27 +0200 <EvanR> a lot of replacement keys were thrown at this guy to keep it afloat
2023-08-23 00:51:51 +0200 <EvanR> it also wasn't really getting OS updates
2023-08-23 00:54:12 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Ping timeout: 240 seconds)
2023-08-23 00:58:42 +0200Achylles(~Achylles_@45.182.57.81)
2023-08-23 01:01:07 +0200 <shapr> Rembane: I'm using gandi vps because it has a NixOS image option, but gandi has gone downhill since being sold, so I'll have to find something else
2023-08-23 01:01:43 +0200 <shapr> EvanR: what's the replacement? maybe a frame.work ?
2023-08-23 01:04:42 +0200geekosaurgrins
2023-08-23 01:13:29 +0200falafel(~falafel@216.68.6.51.dyn.plus.net)
2023-08-23 01:15:50 +0200paddymahoney(~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com)
2023-08-23 01:22:45 +0200 <EvanR> currently the "replacement" is an underpowered 5 year old dell inspiron laptop that has been doing windows updates for a week
2023-08-23 01:23:12 +0200bilegeek(~bilegeek@2600:1008:b084:26e1:642d:15c:b0a8:d815)
2023-08-23 01:23:20 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-23 01:23:47 +0200ski(~ski@129.16.31.191)
2023-08-23 01:28:42 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 245 seconds)
2023-08-23 01:33:44 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-08-23 01:43:31 +0200ystael(~ystael@user/ystael) (Ping timeout: 244 seconds)
2023-08-23 01:44:11 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2023-08-23 01:44:15 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds)
2023-08-23 01:45:30 +0200Lord_of_Life_Lord_of_Life
2023-08-23 01:58:40 +0200Inst(~liamzy@2601:6c4:4085:6d50::d547)
2023-08-23 01:59:05 +0200mvk(~mvk@2607:fea8:5c9a:a600::1c6d)
2023-08-23 01:59:09 +0200 <Inst> i sort of got bored and decided to make a joke library, although I hope it's actually useful (asset manager for file deployment within, alongside, or from the network)
2023-08-23 01:59:24 +0200 <Inst> it's a joke because i'm glossing on all sorts of ridiculous types
2023-08-23 01:59:56 +0200 <Inst> datatypecontexts are dead, right? There's no other way to put out a constraint on a newtype, right?
2023-08-23 02:03:16 +0200 <Inst> type families maybe?
2023-08-23 02:05:14 +0200ulysses4ever(~artem@c-73-103-90-145.hsd1.in.comcast.net) (Read error: Connection reset by peer)
2023-08-23 02:05:25 +0200ulysses4ever(~artem@2601:249:4380:8950:f474:e3f8:9806:671)
2023-08-23 02:07:02 +0200 <EvanR> GADTs can hold a type class dictionary by putting a context on the ctor
2023-08-23 02:07:30 +0200 <EvanR> a newtype can only have 1 component
2023-08-23 02:09:02 +0200 <Inst> ah, so it's an implementation problem? Probably I should just stop procrastinating by trying to play around with fancy types and actually build stuff instead
2023-08-23 02:09:22 +0200abrantesasf(~abrantesa@177.137.232.92)
2023-08-23 02:12:13 +0200sm(~sm@plaintextaccounting/sm)
2023-08-23 02:12:50 +0200 <geekosaur> datatype contexts apply when building a value but you can't recover the information when you use the value. GADTs include a dictionary so the information can be recovered
2023-08-23 02:14:44 +0200 <Inst> i maen i should focus on features instead, instead of this fancy type nonsense
2023-08-23 02:15:11 +0200 <Inst> i just got besotted by someone on Discourse who was abusing monadic do with writer
2023-08-23 02:15:24 +0200 <Inst> i thought it'd be cool to replace a 2D list with a do block
2023-08-23 02:15:41 +0200ski. o O ( `newtype Dict cxt = cxt => WrapDict -- one component' )
2023-08-23 02:16:37 +0200sm(~sm@plaintextaccounting/sm) (Ping timeout: 245 seconds)
2023-08-23 02:18:57 +0200 <EvanR> nice
2023-08-23 02:19:28 +0200bopqod(~ubuntu@user/bopqod)
2023-08-23 02:23:28 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2023-08-23 02:24:35 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-08-23 02:25:02 +0200 <[Leary]> In reality, you probably have to settle for `newtype Dict cxt = Dict{ withDict :: forall r. (cxt => r) -> r }`.
2023-08-23 02:26:05 +0200 <[Leary]> Not sure if that saves you anything over the `data` version.
2023-08-23 02:30:29 +0200NewtonTrendy(uid282092@user/bopqod) ()
2023-08-23 02:31:38 +0200bopqodNewtonTrendy
2023-08-23 02:38:04 +0200ski(~ski@129.16.31.191) (Ping timeout: 248 seconds)
2023-08-23 02:43:44 +0200libertyprime(~libertypr@203.96.203.44) (Quit: Lost terminal)
2023-08-23 02:45:30 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 245 seconds)
2023-08-23 02:47:44 +0200mima(~mmh@aftr-62-216-211-141.dynamic.mnet-online.de) (Ping timeout: 256 seconds)
2023-08-23 02:49:28 +0200Square2(~Square4@user/square) (Ping timeout: 250 seconds)
2023-08-23 02:53:21 +0200falafel(~falafel@216.68.6.51.dyn.plus.net) (Ping timeout: 246 seconds)
2023-08-23 02:54:09 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-23 02:59:43 +0200sm(~sm@plaintextaccounting/sm)
2023-08-23 03:02:16 +0200artem(~artem@73.145.241.118)
2023-08-23 03:03:24 +0200troydm(~troydm@user/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset)
2023-08-23 03:04:12 +0200sm(~sm@plaintextaccounting/sm) (Ping timeout: 260 seconds)
2023-08-23 03:04:28 +0200troydm(~troydm@user/troydm)
2023-08-23 03:04:57 +0200ulysses4ever(~artem@2601:249:4380:8950:f474:e3f8:9806:671) (Ping timeout: 245 seconds)
2023-08-23 03:06:20 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-08-23 03:07:24 +0200Inst(~liamzy@2601:6c4:4085:6d50::d547) (Remote host closed the connection)
2023-08-23 03:07:42 +0200Inst(~liamzy@2601:6c4:4085:6d50::7d)
2023-08-23 03:10:38 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-08-23 03:11:48 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-23 03:13:46 +0200 <EvanR> Inst, you're glossing, like, using gloss to visualize types? cool
2023-08-23 03:15:23 +0200re101-eel-85(~re101-eel@2606:40:48:6841::1064:304e)
2023-08-23 03:16:45 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-08-23 03:18:02 +0200danza_(~francesco@an-19-166-29.service.infuturo.it)
2023-08-23 03:20:36 +0200danza__(~francesco@151.43.215.52) (Ping timeout: 256 seconds)
2023-08-23 03:21:33 +0200abrantesasf(~abrantesa@177.137.232.92) (Remote host closed the connection)
2023-08-23 03:21:43 +0200 <Inst> no no no
2023-08-23 03:21:54 +0200 <Inst> i'm working on some side project, i.e, a joke library
2023-08-23 03:23:21 +0200 <Inst> abusing template haskell, and part of the joke was to stuff all the dumb stuff in
2023-08-23 03:23:30 +0200 <Inst> like, make it overly complicated in the backend
2023-08-23 03:24:00 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-08-23 03:24:32 +0200re101-eel-85(~re101-eel@2606:40:48:6841::1064:304e) (Ping timeout: 246 seconds)
2023-08-23 03:28:54 +0200razetime(~quassel@117.254.37.57)
2023-08-23 03:30:12 +0200ulysses4ever(~artem@c-73-103-90-145.hsd1.in.comcast.net)
2023-08-23 03:31:19 +0200 <Inst> i'm trying to make a lib, my first ever, that extends file embed, lets you deploy files from your executable, produce hashes from them, check them against hashes, and grab them from online, it's a joke lib, very trivial functionality
2023-08-23 03:31:52 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2023-08-23 03:31:52 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2023-08-23 03:32:10 +0200artem(~artem@73.145.241.118) (Ping timeout: 245 seconds)
2023-08-23 03:32:16 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-08-23 03:32:52 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-08-23 03:33:39 +0200 <Hooloovoo> it doesn't sound like a very funny joke
2023-08-23 03:37:24 +0200 <Inst> i'm looking for help to try to make it into a fizzbuzz enterprise edition
2023-08-23 03:37:44 +0200 <Inst> i.e, stuff it with dependent types, everything weird and experimental
2023-08-23 03:42:10 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-08-23 03:47:58 +0200hgolden(~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com) (Remote host closed the connection)
2023-08-23 03:51:28 +0200hgolden(~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com)
2023-08-23 03:51:54 +0200hgolden(~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com) (Remote host closed the connection)
2023-08-23 03:52:20 +0200td_(~td@i5387091D.versanet.de) (Ping timeout: 256 seconds)
2023-08-23 03:53:59 +0200td_(~td@i53870917.versanet.de)
2023-08-23 03:54:01 +0200hgolden(~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com)
2023-08-23 03:54:01 +0200sm(~sm@plaintextaccounting/sm)
2023-08-23 03:58:27 +0200sm(~sm@plaintextaccounting/sm) (Ping timeout: 246 seconds)
2023-08-23 03:58:33 +0200jabuxas(~jabuxas@user/jabuxas)
2023-08-23 04:06:12 +0200xff0x(~xff0x@2405:6580:b080:900:a30:2bd2:51c4:52fd) (Ping timeout: 245 seconds)
2023-08-23 04:07:22 +0200jabuxas(~jabuxas@user/jabuxas) (Quit: Leaving.)
2023-08-23 04:07:31 +0200jabuxas(~jabuxas@user/jabuxas)
2023-08-23 04:08:06 +0200mvk(~mvk@2607:fea8:5c9a:a600::1c6d) (Ping timeout: 246 seconds)
2023-08-23 04:11:54 +0200artem(~artem@c-73-103-90-145.hsd1.in.comcast.net)
2023-08-23 04:11:55 +0200ulysses4ever(~artem@c-73-103-90-145.hsd1.in.comcast.net) (Read error: Connection reset by peer)
2023-08-23 04:11:55 +0200jabuxas(~jabuxas@user/jabuxas) (Client Quit)
2023-08-23 04:15:48 +0200nate2(~nate@98.45.169.16)
2023-08-23 04:16:58 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 244 seconds)
2023-08-23 04:21:02 +0200gatekempt(~gatekempt@user/gatekempt) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2023-08-23 04:22:44 +0200td_(~td@i53870917.versanet.de) (Ping timeout: 246 seconds)
2023-08-23 04:24:22 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:4c38:8910:beb8:9cb7)
2023-08-23 04:24:36 +0200td_(~td@i5387090D.versanet.de)
2023-08-23 04:27:49 +0200AlexZenon(~alzenon@178.34.150.48) (Ping timeout: 244 seconds)
2023-08-23 04:27:53 +0200 <justsomeguy> You should define a DSL that generates your real program.
2023-08-23 04:28:16 +0200 <justsomeguy> That will up the complexity...
2023-08-23 04:28:36 +0200Alex_test(~al_test@178.34.150.48) (Ping timeout: 256 seconds)
2023-08-23 04:33:21 +0200AlexZenon(~alzenon@178.34.150.48)
2023-08-23 04:33:31 +0200 <Inst> already working the TH, and bashing my head in because it's giving me not in scope errors
2023-08-23 04:33:41 +0200 <Inst> maybe that's why snoyman never expanded file embed to support traversables
2023-08-23 04:34:20 +0200Alex_test(~al_test@178.34.150.48)
2023-08-23 04:34:51 +0200ft(~ft@p508db17b.dip0.t-ipconnect.de)
2023-08-23 04:36:31 +0200sm(~sm@plaintextaccounting/sm)
2023-08-23 04:39:03 +0200ddellacosta(~ddellacos@146.70.168.136) (Ping timeout: 246 seconds)
2023-08-23 04:41:04 +0200sm(~sm@plaintextaccounting/sm) (Ping timeout: 256 seconds)
2023-08-23 04:41:22 +0200ddellacosta(~ddellacos@146.70.165.10)
2023-08-23 04:41:28 +0200 <monochrom> You're running into what the Scheme people call "hygienic macros" vs variable capture.
2023-08-23 04:42:30 +0200 <monochrom> If you desire variable capture but you actually have a hygienic macro, that will be an unexpected var-not-found.
2023-08-23 04:43:11 +0200 <monochrom> Conversely, if you desire no variable capture but you actually have a non-hygienic (variable-capturing) macro, that will be an unexpected unsoundness.
2023-08-23 04:50:57 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-08-23 04:50:57 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-08-23 04:50:57 +0200finn_elijaFinnElija
2023-08-23 04:53:21 +0200Achylles(~Achylles_@45.182.57.81) (Quit: Leaving)
2023-08-23 04:55:37 +0200 <dolio> Everyone who's thinking clearly want hygienic macros, though.
2023-08-23 04:56:08 +0200 <monochrom> I agree, hence unsoundness :)
2023-08-23 04:56:35 +0200 <dolio> Manually avoiding variable capture is so much harder to get right than using some extra feature for the times you actually want variable capture.
2023-08-23 04:59:30 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2023-08-23 05:05:07 +0200myyo(~myyo@75-166-145-203.hlrn.qwest.net)
2023-08-23 05:06:18 +0200powderhorn(~powderhor@207-153-12-54.static.fttp.usinternet.com)
2023-08-23 05:07:27 +0200jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 245 seconds)
2023-08-23 05:07:54 +0200Inst(~liamzy@2601:6c4:4085:6d50::7d) (Remote host closed the connection)
2023-08-23 05:08:34 +0200Inst(~liamzy@2601:6c4:4085:6d50::d547)
2023-08-23 05:10:08 +0200jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2023-08-23 05:10:59 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2023-08-23 05:11:08 +0200hugo(znc@2001:6b0:17:f0a0::17) (Ping timeout: 248 seconds)
2023-08-23 05:11:28 +0200 <Inst> monochrome: the actual issue was that I was playing type tetris because I wanted to use traverse, and somehow created two separate calls to newName
2023-08-23 05:12:19 +0200 <monochrom> OK, so hashwashing OCD :)
2023-08-23 05:12:27 +0200 <Inst> georgeClooney_a2Jg :: ByteString
2023-08-23 05:12:27 +0200 <Inst> georgeClooney_a2Jh
2023-08-23 05:12:27 +0200 <Inst> =
2023-08-23 05:12:34 +0200 <Inst> didn't notice it
2023-08-23 05:15:40 +0200myyo(~myyo@75-166-145-203.hlrn.qwest.net) (Read error: Connection reset by peer)
2023-08-23 05:15:41 +0200myyo_(~myyo@75-166-145-203.hlrn.qwest.net)
2023-08-23 05:16:36 +0200myyo(~myyo@75-166-145-203.hlrn.qwest.net)
2023-08-23 05:16:36 +0200myyo_(~myyo@75-166-145-203.hlrn.qwest.net) (Read error: Connection reset by peer)
2023-08-23 05:16:59 +0200 <EvanR> encode messages in your variables names by spelling everything backwards
2023-08-23 05:17:03 +0200 <EvanR> you know you want to
2023-08-23 05:18:57 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.6)
2023-08-23 05:19:08 +0200nate2(~nate@98.45.169.16) (Ping timeout: 248 seconds)
2023-08-23 05:22:00 +0200elkcl(~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) (Ping timeout: 250 seconds)
2023-08-23 05:24:48 +0200zmt01(~zmt00@user/zmt00)
2023-08-23 05:25:44 +0200hgolden_(~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com)
2023-08-23 05:26:05 +0200flukiluke(~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Ping timeout: 246 seconds)
2023-08-23 05:26:24 +0200flukiluke(~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962)
2023-08-23 05:27:50 +0200zmt00(~zmt00@user/zmt00) (Ping timeout: 246 seconds)
2023-08-23 05:28:11 +0200hgolden(~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com) (Ping timeout: 246 seconds)
2023-08-23 05:28:35 +0200bilegeek(~bilegeek@2600:1008:b084:26e1:642d:15c:b0a8:d815) (Quit: Leaving)
2023-08-23 05:28:53 +0200hugo(znc@verdigris.lysator.liu.se)
2023-08-23 05:33:32 +0200Inst(~liamzy@2601:6c4:4085:6d50::d547) (Remote host closed the connection)
2023-08-23 05:33:49 +0200Inst(~liamzy@2601:6c4:4085:6d50::d547)
2023-08-23 05:40:09 +0200jmcantrell(~weechat@user/jmcantrell) (Quit: WeeChat 4.0.3)
2023-08-23 05:40:41 +0200elkcl(~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru)
2023-08-23 05:44:00 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2023-08-23 05:45:37 +0200myyo(~myyo@75-166-145-203.hlrn.qwest.net) ()
2023-08-23 05:48:57 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2023-08-23 06:01:14 +0200aforemny_(~aforemny@2001:9e8:6cf2:c700:b41f:8d5e:8e07:ee66)
2023-08-23 06:02:06 +0200aforemny(~aforemny@i59F516F9.versanet.de) (Ping timeout: 245 seconds)
2023-08-23 06:07:05 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-08-23 06:09:09 +0200smalltalkman(uid545680@id-545680.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2023-08-23 06:11:20 +0200johnw(~johnw@69.62.242.138) (Quit: ZNC - http://znc.in)
2023-08-23 06:12:01 +0200g(g@libera/staff-emeritus/glguy) (Remote host closed the connection)
2023-08-23 06:12:09 +0200g(g@libera/staff-emeritus/glguy)
2023-08-23 06:16:12 +0200razetime(~quassel@117.254.37.57) (Ping timeout: 248 seconds)
2023-08-23 06:17:52 +0200thegeekinside(~thegeekin@189.180.79.225) (Ping timeout: 260 seconds)
2023-08-23 06:17:52 +0200artem(~artem@c-73-103-90-145.hsd1.in.comcast.net) (Read error: Connection reset by peer)
2023-08-23 06:17:52 +0200ulysses4ever(~artem@c-73-103-90-145.hsd1.in.comcast.net)
2023-08-23 06:21:37 +0200g(g@libera/staff-emeritus/glguy) (Remote host closed the connection)
2023-08-23 06:21:45 +0200g(g@libera/staff-emeritus/glguy)
2023-08-23 06:51:45 +0200g(g@libera/staff-emeritus/glguy) (Remote host closed the connection)
2023-08-23 06:51:53 +0200g(g@libera/staff-emeritus/glguy)
2023-08-23 07:01:39 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 246 seconds)
2023-08-23 07:02:40 +0200razetime(~quassel@117.254.37.57)
2023-08-23 07:03:26 +0200 <dsal> People are pretty weird about readability and identifier names. I had someone recently say that `x` should have a more detailed (expanded? I don't remember the exact word) name in case maybeSomething of; Just x -> doSomethingWith x; Nothing -> doNothing
2023-08-23 07:04:16 +0200 <dsal> Like, do you need to call this "something"? Because I can look up more easily than I can do long string character matches in my head.
2023-08-23 07:06:08 +0200 <c_wraith> you should call it "theThingIDon'tCareAbout"
2023-08-23 07:06:17 +0200 <c_wraith> fortunately, apostrophes are allowed in identifiers
2023-08-23 07:07:23 +0200 <c_wraith> Though if someone complained about that to me, I'd replace the whole case with a call to maybe
2023-08-23 07:11:31 +0200shapr(~user@2600:1700:c640:3100:944:4982:f0a2:9b14) (Ping timeout: 246 seconds)
2023-08-23 07:14:20 +0200 <mauke> hey, I just met you
2023-08-23 07:15:02 +0200 <Axman6> dsal: the better name is none at all, maybe doNothing doSomethingWith maybeSomething
2023-08-23 07:15:49 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2023-08-23 07:16:34 +0200 <Axman6> (and a style I sometimes use is maybeSomething & maybe doNothing doSomethingWith, which can make it clearer what the subject of the code is)
2023-08-23 07:17:44 +0200danza_(~francesco@an-19-166-29.service.infuturo.it) (Read error: Connection reset by peer)
2023-08-23 07:17:50 +0200 <mauke> case maybeSomething of Just (doSomethingWith -> y) -> y; Nothing -> doNothing
2023-08-23 07:18:03 +0200danza_(~francesco@151.47.200.141)
2023-08-23 07:18:27 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 246 seconds)
2023-08-23 07:19:01 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2023-08-23 07:19:23 +0200 <monochrom> Programmers are generally fanatic about superficial coding guides like that.
2023-08-23 07:20:26 +0200 <monochrom> "meaningful names (no exception), at most 60 lines per function (no exception), at most N columns per line (no exception), indentation must be ..." etc etc
2023-08-23 07:20:32 +0200 <dsal> Axman6: That's the direction I usually go.
2023-08-23 07:21:05 +0200 <mauke> a pattern I've seen in real code: case ... of thing@(isCromulent -> True) -> doStuff thing; ...
2023-08-23 07:22:22 +0200Inst(~liamzy@2601:6c4:4085:6d50::d547) (Ping timeout: 246 seconds)
2023-08-23 07:23:03 +0200 <monochrom> Programmers are incapable of unalgorithm it-depends value judgment (that's why they chose algorithmic programming, no?), that is why their coding style guides are simple mechanical checks that mean nothing.
2023-08-23 07:24:16 +0200 <monochrom> One style guide is going to be "never pointfree" and another is going to be "always pointfree". There is not going to be a reasonable style guide that says "pointfree when it makes sense, pointful when it makes sense".
2023-08-23 07:25:14 +0200 <mauke> I thought that was what the perl style guide was about :-)
2023-08-23 07:25:40 +0200johnw(~johnw@69.62.242.138)
2023-08-23 07:26:11 +0200 <mauke> "there's more than one way to do it, so choose the way that makes the most sense / is clearest for your particular situation"
2023-08-23 07:26:25 +0200Inst(~liamzy@2601:6c4:4085:6d50::725c)
2023-08-23 07:27:34 +0200 <dsal> Drives me insane when people equate longer names to more readable code. It's less readable to me personally, and I worked in a setting where we had people whose job was to study and understand readability and the consensus was that arbitrarily long identifier names don't help much.
2023-08-23 07:27:48 +0200 <probie> monochrom: Rigid, sometimes silly rules make for a few days of "wtf" but months of freedom from irrelevant decisions. It is optimising for employee mental health, and (hopefully) by extension, productivity
2023-08-23 07:28:08 +0200 <dsal> Though length proportional to scope is a handy rule of thumb. The same code that needed something longer than an `x` for the `Just` case had a parameter named `t` on a function that was like, a page long. That was OK, I guess.
2023-08-23 07:28:58 +0200 <mauke> also, identifier huffmanization
2023-08-23 07:29:10 +0200 <dsal> probie: That's true unless the rules are overly prescriptive and make it harder for the people to maintain a codebase to understand the codebase in favor of hypothetical people who aren't familiar with it and have no access to people who are.
2023-08-23 07:29:42 +0200 <mauke> names that you use all the time should be shorter than names you don't (or at least shouldn't) use often
2023-08-23 07:29:54 +0200 <dsal> Yeah, soft rules like that are helpful.
2023-08-23 07:30:04 +0200ddellacosta(~ddellacos@146.70.165.10) (Ping timeout: 246 seconds)
2023-08-23 07:30:07 +0200 <mauke> (cf. unsafePerformIO)
2023-08-23 07:30:21 +0200 <dsal> But also, a thing you use just one to move one line down doesn't need to be self-documenting when it's actually obvious.
2023-08-23 07:30:53 +0200 <monochrom> probie: Do you have data that shows that silly rules improve mental health?
2023-08-23 07:30:59 +0200 <probie> dsal: I don't inherently disagree, but every place I've worked with super prescriptive rules has been a pleasure to work at, and every place that was "just go for it", was a mediocre experience at best
2023-08-23 07:31:44 +0200 <dsal> I see people doing stuff like `let aThing = mkAThing in useAThing aThing` and like, why is that easier to read than `useAThing mkAThing` ?
2023-08-23 07:31:52 +0200 <probie> monochrom: no, only myself as a data point, but I'm also on the autism spectrum, so that probably ruins even that
2023-08-23 07:32:22 +0200ddellacosta(~ddellacos@146.70.166.100)
2023-08-23 07:32:45 +0200 <monochrom> Oh if we're only talking about personal experience, my personal experience is that disallowing myself to just use "foo" is the single most source of stress.
2023-08-23 07:33:22 +0200 <monochrom> And when I allow myself to just use "foo" and move on, my productivity increases by 500% instantly.
2023-08-23 07:33:27 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-08-23 07:33:46 +0200 <monochrom> To be sure, I don't abuse "foo", I use it when it really doesn't matter.
2023-08-23 07:33:49 +0200 <mauke> foo', foo'', foo''', foo''''
2023-08-23 07:34:17 +0200 <dsal> There was some discussion around some coding style stuff in the codebase and a couple of my snippets ended up in the discussion, written a couple different ways. Luckily, I can't remember the details, but they'd be equivalents where I might do something like `something <$> fun1 <*> fun2` and people would be like, do you like that or `do; x <- fun1; y <- fun2; something x y`
2023-08-23 07:34:38 +0200 <dsal> One of them literally used `x` and `y` in one of those situations where the names meant absolutely nothing, but now I've got names and bindings and stuff to consider instead of just like, a simple applicative.
2023-08-23 07:34:49 +0200 <mauke> also, to reduce pointless arguments over names, all types should be called T, all classes C, and all functions f
2023-08-23 07:35:03 +0200 <mauke> if there's a conflict, make a new module
2023-08-23 07:35:31 +0200 <dsal> But the frustrating part is that this will be a helper in a where clause in a function that's got an incredibly robust test suite, but nobody would ever see. vs. the entire API surface of the application which is just a disaster.
2023-08-23 07:35:43 +0200 <glguy> Put f::a in your class C so you can reuse it a bunch
2023-08-23 07:36:24 +0200 <glguy> Easier to remember the name that way
2023-08-23 07:37:08 +0200 <dsal> mauke: I suggested that we not release a reusable framework `Thing` with all of the exported identifiers starting with `thing` (e.g., `thingThing` and `thingThingResultSuccess` and got pointed to a module that named a type `T` as an example of why that's bad or something.
2023-08-23 07:37:49 +0200michalz(~michalz@185.246.207.203)
2023-08-23 07:40:06 +0200 <dsal> It's hard for me to understand some people's concerns, to be honest. Person didn't want to export a symbol called `Success` because it conflicts with other thing. But that's like, only if you make a giant module importing a bunch of different unqualified modules that export `Success` and want to distinguish them. So like, don't do that.
2023-08-23 07:40:22 +0200 <monochrom> Consider using theDarkLordWhoMustNotBeName next time :)
2023-08-23 07:40:34 +0200 <monochrom> err, theDarkLordWhoMustNotBeNamed
2023-08-23 07:40:54 +0200sm(~sm@plaintextaccounting/sm)
2023-08-23 07:41:38 +0200 <dsal> I had someone complain *madly* when I suggested he didn't need a ~7 word identifier that was used once on the line below its definition. Told me he absolutely couldn't read the code unless it contained all the words.
2023-08-23 07:41:51 +0200sm(~sm@plaintextaccounting/sm) (Client Quit)
2023-08-23 07:42:35 +0200 <dsal> Something like `someValueFromSomeActionThatDoesAthing <- getSomeValueFromSomeActionThatDoesAthing; doSomeOtherActionWithThisThingIGot someValueFromSomeActionThatDoesAthing`
2023-08-23 07:44:08 +0200 <dsal> Our coding convention strongly recommended not doing that. Management got involved. The guy apparently had some neurodivergence that made it impossible to read code if every symbol didn't have its entire commit history in it. Which makes it pretty hard to work in a codebase where people don't do that.
2023-08-23 07:47:37 +0200 <monochrom> Style guides are written by the victors.
2023-08-23 07:47:54 +0200 <monochrom> History and style guides and "recipes" for success.
2023-08-23 07:49:01 +0200Guest3051(sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 248 seconds)
2023-08-23 07:49:10 +0200briandaed(~briandaed@185.234.210.211)
2023-08-23 07:52:33 +0200Guest3051(sid1055@id-1055.tinside.irccloud.com)
2023-08-23 07:58:37 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-08-23 07:59:10 +0200acidjnk(~acidjnk@p200300d6e7072f05045f4aa7d8e8f055.dip0.t-ipconnect.de)
2023-08-23 08:05:22 +0200 <dsal> People like make rules about things that are easy to make rules about even if they don't have much impact. The things that have a lot of impact are a lot harder to codify, so we'll just leave those as an exercise for the maintainer.
2023-08-23 08:09:51 +0200CiaoSen(~Jura@2a05:5800:29f:f100:664b:f0ff:fe37:9ef)
2023-08-23 08:13:53 +0200 <Axman6> @quote+ monochrom Style guides are written by the victors.
2023-08-23 08:13:53 +0200 <lambdabot> No quotes match. BOB says: You seem to have forgotten your passwd, enter another!
2023-08-23 08:14:19 +0200 <glguy> Remember
2023-08-23 08:14:31 +0200 <dsal> lambdabot: my password is x
2023-08-23 08:15:16 +0200 <Axman6> @remember monochrom Style guides are written by the victors.
2023-08-23 08:15:16 +0200 <lambdabot> Done.
2023-08-23 08:15:40 +0200 <Axman6> Thanks - took me much longer than I hoped to find that via PM with lambdabot
2023-08-23 08:26:14 +0200sm(~sm@plaintextaccounting/sm)
2023-08-23 08:26:59 +0200sm(~sm@plaintextaccounting/sm) (Client Quit)
2023-08-23 08:29:54 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:4c38:8910:beb8:9cb7) (Remote host closed the connection)
2023-08-23 08:35:05 +0200ircbrowse_tom(~ircbrowse@static.162.49.55.162.clients.your-server.de) (ZNC 1.8.2+deb2build5 - https://znc.in)
2023-08-23 08:35:21 +0200ircbrowse_tom_(~ircbrowse@static.162.49.55.162.clients.your-server.de)
2023-08-23 08:35:29 +0200Server+Cnt
2023-08-23 08:35:44 +0200sympt3(~sympt@user/sympt)
2023-08-23 08:35:53 +0200tired-(~tired@user/tired)
2023-08-23 08:35:57 +0200SheRejoined(haveident@libera/staff/she/her)
2023-08-23 08:36:00 +0200jackdk_(sid373013@cssa/jackdk)
2023-08-23 08:36:03 +0200leeb-(~leeb@tk2-243-31079.vs.sakura.ne.jp)
2023-08-23 08:36:04 +0200xelxebar_(~xelxebar@wilsonb.com)
2023-08-23 08:36:05 +0200stefan-__(~cri@42dots.de)
2023-08-23 08:36:50 +0200fiddlerwoaroof(~fiddlerwo@user/fiddlerwoaroof)
2023-08-23 08:36:53 +0200natto17(~natto@129.154.243.159)
2023-08-23 08:37:04 +0200Simikando(~Simikando@adsl-dyn1.91-127-51.t-com.sk)
2023-08-23 08:37:26 +0200raoul1(~raoul@95.179.203.88)
2023-08-23 08:37:34 +0200pie__(~pie_bnc@user/pie/x-2818909)
2023-08-23 08:38:03 +0200kjak_(~kjak@pool-108-28-157-148.washdc.fios.verizon.net)
2023-08-23 08:38:03 +0200cln_(cln@wtf.cx)
2023-08-23 08:38:05 +0200Hecate_(~mariposa@user/hecate)
2023-08-23 08:38:11 +0200barrucad1(~barrucadu@carcosa.barrucadu.co.uk)
2023-08-23 08:38:15 +0200gnyeki_(~gnyeki@li578-216.members.linode.com)
2023-08-23 08:38:16 +0200gnyeki_(~gnyeki@li578-216.members.linode.com) (Changing host)
2023-08-23 08:38:16 +0200gnyeki_(~gnyeki@user/gnyeki)
2023-08-23 08:38:17 +0200root(~root@user/institor)
2023-08-23 08:38:21 +0200adium_(adium@user/adium)
2023-08-23 08:38:39 +0200user2(~user@162.255.84.96)
2023-08-23 08:38:42 +0200rootGuest7973
2023-08-23 08:38:46 +0200sweater1(~sweater@206.81.18.26)
2023-08-23 08:38:53 +0200kaol_(~kaol@94-237-42-30.nl-ams1.upcloud.host)
2023-08-23 08:38:53 +0200dontdieych_(~alarm@132.226.169.184)
2023-08-23 08:38:55 +0200institor(~root@user/institor) (Killed (NickServ (GHOST command used by Guest7973)))
2023-08-23 08:39:04 +0200Guest7973institor
2023-08-23 08:39:19 +0200She(haveident@libera/staff/she/her) (*.net *.split)
2023-08-23 08:39:19 +0200kjak(~kjak@pool-108-28-157-148.washdc.fios.verizon.net) (*.net *.split)
2023-08-23 08:39:19 +0200natto(~natto@129.154.243.159) (*.net *.split)
2023-08-23 08:39:19 +0200lambdap237(~lambdap@static.167.190.119.168.clients.your-server.de) (*.net *.split)
2023-08-23 08:39:19 +0200SoF(~skius@user/skius) (*.net *.split)
2023-08-23 08:39:19 +0200sympt(~sympt@user/sympt) (*.net *.split)
2023-08-23 08:39:19 +0200tired(~tired@user/tired) (*.net *.split)
2023-08-23 08:39:19 +0200dontdieych(~alarm@132.226.169.184) (*.net *.split)
2023-08-23 08:39:19 +0200xelxebar(~xelxebar@wilsonb.com) (*.net *.split)
2023-08-23 08:39:19 +0200jackdk(sid373013@cssa/jackdk) (*.net *.split)
2023-08-23 08:39:19 +0200gnyeki(~gnyeki@user/gnyeki) (*.net *.split)
2023-08-23 08:39:19 +0200polux(~polux@51-15-169-172.rev.poneytelecom.eu) (*.net *.split)
2023-08-23 08:39:19 +0200barrucadu(~barrucadu@carcosa.barrucadu.co.uk) (*.net *.split)
2023-08-23 08:39:19 +0200fiddlerw-(~fiddlerwo@user/fiddlerwoaroof) (*.net *.split)
2023-08-23 08:39:19 +0200user1(~user@162.255.84.96) (*.net *.split)
2023-08-23 08:39:19 +0200sweater(~sweater@206.81.18.26) (*.net *.split)
2023-08-23 08:39:19 +0200aku(~aku@65.108.245.241) (*.net *.split)
2023-08-23 08:39:19 +0200pie_(~pie_bnc@user/pie/x-2818909) (*.net *.split)
2023-08-23 08:39:21 +0200adium(adium@user/adium) (*.net *.split)
2023-08-23 08:39:21 +0200raoul(~raoul@95.179.203.88) (*.net *.split)
2023-08-23 08:39:21 +0200ircbrowse_tom(~ircbrowse@static.162.49.55.162.clients.your-server.de) (*.net *.split)
2023-08-23 08:39:21 +0200Hecate(~mariposa@user/hecate) (*.net *.split)
2023-08-23 08:39:21 +0200cln(~cln@wtf.cx) (*.net *.split)
2023-08-23 08:39:21 +0200leeb(~leeb@tk2-243-31079.vs.sakura.ne.jp) (*.net *.split)
2023-08-23 08:39:21 +0200kaol(~kaol@94-237-42-30.nl-ams1.upcloud.host) (*.net *.split)
2023-08-23 08:39:21 +0200stefan-_(~cri@42dots.de) (*.net *.split)
2023-08-23 08:39:21 +0200tdammers(~tdammers@219-131-178-143.ftth.glasoperator.nl) (*.net *.split)
2023-08-23 08:39:21 +0200SheRejoinedShe
2023-08-23 08:39:21 +0200SoF1SoF
2023-08-23 08:39:21 +0200raoul1raoul
2023-08-23 08:39:21 +0200sympt3sympt
2023-08-23 08:39:21 +0200polux8polux
2023-08-23 08:39:21 +0200jackdk_jackdk
2023-08-23 08:39:21 +0200lambdap2371lambdap237
2023-08-23 08:39:22 +0200leeb-leeb
2023-08-23 08:43:31 +0200aku(~aku@65.108.245.241)
2023-08-23 08:45:39 +0200Simikando(~Simikando@adsl-dyn1.91-127-51.t-com.sk) (Quit: Leaving)
2023-08-23 08:51:15 +0200tdammers(~tdammers@219-131-178-143.ftth.glasoperator.nl)
2023-08-23 08:53:54 +0200fendor(~fendor@2a02:8388:1640:be00:b586:6c06:a58:19a3)
2023-08-23 08:56:53 +0200andrei_n(~andrei.n@2a02:a03f:c0bc:8400:2ce4:55ac:9234:c3d)
2023-08-23 09:01:25 +0200jonathan__(~jonathan@193.203.13.93)
2023-08-23 09:02:09 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:f1a1:7919:4ffc:e710)
2023-08-23 09:04:20 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-23 09:13:52 +0200oo_miguel(~Thunderbi@78-11-179-96.static.ip.netia.com.pl)
2023-08-23 09:16:19 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-23 09:17:50 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 246 seconds)
2023-08-23 09:19:15 +0200razetime(~quassel@117.254.37.57) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2023-08-23 09:19:16 +0200ccapndave(~ccapndave@mob-194-230-146-105.cgn.sunrise.net)
2023-08-23 09:21:00 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
2023-08-23 09:21:01 +0200xelxebar_xelxebar
2023-08-23 09:22:55 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-08-23 09:22:55 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-08-23 09:22:55 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-08-23 09:23:48 +0200mmhat(~mmh@p200300f1c7042784ee086bfffe095315.dip0.t-ipconnect.de)
2023-08-23 09:25:50 +0200mima(~mmh@aftr-62-216-211-216.dynamic.mnet-online.de)
2023-08-23 09:27:37 +0200sm(~sm@plaintextaccounting/sm)
2023-08-23 09:30:26 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:4c38:8910:beb8:9cb7)
2023-08-23 09:33:09 +0200 <Axman6> Type level records, is this a thing that can be easily done? I could possibly use a type class with associated types, but it would be nice to be able to take a record that exists and chance one value.
2023-08-23 09:33:16 +0200 <mmhat> -quit
2023-08-23 09:33:22 +0200mmhat(~mmh@p200300f1c7042784ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.0.4)
2023-08-23 09:36:04 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:4c38:8910:beb8:9cb7) (Ping timeout: 246 seconds)
2023-08-23 09:38:38 +0200ccapndave(~ccapndave@mob-194-230-146-105.cgn.sunrise.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2023-08-23 09:43:11 +0200bonz060(~quassel@2001:bc8:640:f07::1) (Quit: No Ping reply in 180 seconds.)
2023-08-23 09:47:47 +0200 <dminuoso> Axman6: Well records are really just some superficial syntax sugar. With a tyfam and a multi-parameter type you can get the same effect.
2023-08-23 09:48:21 +0200 <dminuoso> It's just not as convenient, as you have to write the accessor/update tyfams explicitly. But I suppose you could cook up some TH to take the boilerplate off your hands.
2023-08-23 09:49:02 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-08-23 09:50:21 +0200fendor(~fendor@2a02:8388:1640:be00:b586:6c06:a58:19a3) (Remote host closed the connection)
2023-08-23 09:53:32 +0200 <tdammers> I believe singletons-th can do that for you, but it comes at a price...
2023-08-23 09:54:24 +0200cfricke(~cfricke@user/cfricke)
2023-08-23 09:55:36 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-08-23 09:58:29 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 244 seconds)
2023-08-23 09:59:55 +0200aforemny_aforemny
2023-08-23 10:00:23 +0200powderhorn(~powderhor@207-153-12-54.static.fttp.usinternet.com) (Ping timeout: 246 seconds)
2023-08-23 10:02:22 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua)
2023-08-23 10:02:30 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection)
2023-08-23 10:03:09 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-08-23 10:03:10 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-08-23 10:03:10 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-08-23 10:03:45 +0200SegmentationFaul(~Segmentat@185.151.84.54)
2023-08-23 10:06:21 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua)
2023-08-23 10:07:18 +0200ccapndave(~ccapndave@mob-194-230-146-105.cgn.sunrise.net)
2023-08-23 10:07:30 +0200ccapndave(~ccapndave@mob-194-230-146-105.cgn.sunrise.net) (Client Quit)
2023-08-23 10:08:33 +0200kmein(~weechat@user/kmein) (Quit: ciao kakao)
2023-08-23 10:09:26 +0200kmein(~weechat@user/kmein)
2023-08-23 10:09:31 +0200Feuermagier(~Feuermagi@user/feuermagier)
2023-08-23 10:10:25 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2023-08-23 10:10:57 +0200 <albet70> when Data.List.Split would merge into Data.List?
2023-08-23 10:11:25 +0200danza_(~francesco@151.47.200.141) (Ping timeout: 246 seconds)
2023-08-23 10:12:25 +0200 <albet70> Data.List lack some base methods to do with strings, Data.Text has those methods
2023-08-23 10:13:06 +0200bonz060(~quassel@2001:bc8:640:f07::1)
2023-08-23 10:15:58 +0200cfricke(~cfricke@user/cfricke) (Ping timeout: 256 seconds)
2023-08-23 10:16:42 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-08-23 10:16:53 +0200 <dminuoso> albet70: I am not aware of any RFC to do this.
2023-08-23 10:19:28 +0200cfricke(~cfricke@user/cfricke)
2023-08-23 10:24:41 +0200bonz060(~quassel@2001:bc8:640:f07::1) (Quit: No Ping reply in 180 seconds.)
2023-08-23 10:25:45 +0200andrei_n(~andrei.n@2a02:a03f:c0bc:8400:2ce4:55ac:9234:c3d) (Remote host closed the connection)
2023-08-23 10:26:25 +0200andrei_n(~andrei.n@2a02:a03f:c0bc:8400:2ce4:55ac:9234:c3d)
2023-08-23 10:26:45 +0200mc47(~mc47@xmonad/TheMC47)
2023-08-23 10:26:51 +0200 <lisbeths> What about a version of currying where the beta normal form of the last computation is the input to the next function in the input stream.
2023-08-23 10:29:45 +0200andrei_n(~andrei.n@2a02:a03f:c0bc:8400:2ce4:55ac:9234:c3d) (Remote host closed the connection)
2023-08-23 10:30:02 +0200andrei_n(~andrei.n@2a02:a03f:c0bc:8400:2ce4:55ac:9234:c3d)
2023-08-23 10:30:19 +0200ubert(~Thunderbi@178.115.53.153.wireless.dyn.drei.com)
2023-08-23 10:32:58 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 256 seconds)
2023-08-23 10:33:35 +0200mechap(~mechap@user/mechap)
2023-08-23 10:34:27 +0200ubert(~Thunderbi@178.115.53.153.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
2023-08-23 10:38:18 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-08-23 10:38:18 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-08-23 10:38:18 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-08-23 10:39:06 +0200infinity0(~infinity0@pwned.gg) (Ping timeout: 245 seconds)
2023-08-23 10:42:21 +0200infinity0(~infinity0@pwned.gg)
2023-08-23 10:44:37 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-23 10:46:02 +0200danse-nr3(~francesco@151.47.200.141)
2023-08-23 10:50:32 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-08-23 10:55:59 +0200logothesia(~logothesi@user/logothesia)
2023-08-23 10:56:45 +0200andrei_n(~andrei.n@2a02:a03f:c0bc:8400:2ce4:55ac:9234:c3d) (Remote host closed the connection)
2023-08-23 10:57:03 +0200andrei_n(~andrei.n@2a02:a03f:c0bc:8400:2ce4:55ac:9234:c3d)
2023-08-23 10:58:25 +0200jonathan__(~jonathan@193.203.13.93) (Ping timeout: 245 seconds)
2023-08-23 10:59:49 +0200jonathan(~jonathan@193.203.13.97)
2023-08-23 11:02:55 +0200__monty__(~toonn@user/toonn)
2023-08-23 11:04:12 +0200deviance(~deviance@bcdcac82.skybroadband.com) (Ping timeout: 248 seconds)
2023-08-23 11:09:06 +0200acidjnk(~acidjnk@p200300d6e7072f05045f4aa7d8e8f055.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2023-08-23 11:09:09 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-08-23 11:12:20 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-23 11:12:26 +0200mima(~mmh@aftr-62-216-211-216.dynamic.mnet-online.de) (Ping timeout: 260 seconds)
2023-08-23 11:12:55 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2023-08-23 11:16:49 +0200andrei_n(~andrei.n@2a02:a03f:c0bc:8400:2ce4:55ac:9234:c3d) (Quit: Leaving)
2023-08-23 11:18:11 +0200danse-nr3_(~francesco@151.47.178.6)
2023-08-23 11:20:06 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 252 seconds)
2023-08-23 11:20:39 +0200gehmehgeh(~user@user/gehmehgeh)
2023-08-23 11:21:11 +0200danse-nr3(~francesco@151.47.200.141) (Ping timeout: 260 seconds)
2023-08-23 11:24:19 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-08-23 11:24:19 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-08-23 11:24:19 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-08-23 11:25:44 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2023-08-23 11:26:19 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-08-23 11:26:49 +0200danse-nr3_(~francesco@151.47.178.6) (Remote host closed the connection)
2023-08-23 11:27:11 +0200danse-nr3_(~francesco@151.47.178.6)
2023-08-23 11:28:30 +0200jonathan(~jonathan@193.203.13.97) (Ping timeout: 256 seconds)
2023-08-23 11:28:36 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-23 11:29:38 +0200jonathan(~jonathan@193.203.13.91)
2023-08-23 11:30:58 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-08-23 11:33:03 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:4c38:8910:beb8:9cb7)
2023-08-23 11:34:20 +0200kaol_kaol
2023-08-23 11:35:45 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:f1a1:7919:4ffc:e710) (Quit: WeeChat 2.8)
2023-08-23 11:37:31 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:4c38:8910:beb8:9cb7) (Ping timeout: 246 seconds)
2023-08-23 11:42:17 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2)
2023-08-23 11:43:30 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-23 11:43:42 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-08-23 11:43:44 +0200ft(~ft@p508db17b.dip0.t-ipconnect.de) (Quit: leaving)
2023-08-23 11:48:13 +0200smalltalkman(uid545680@id-545680.hampstead.irccloud.com)
2023-08-23 11:51:28 +0200Pickchea(~private@user/pickchea)
2023-08-23 11:58:27 +0200fweht(uid404746@id-404746.lymington.irccloud.com)
2023-08-23 11:59:21 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-23 12:04:24 +0200mc47(~mc47@xmonad/TheMC47) (Quit: Leaving)
2023-08-23 12:06:32 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 246 seconds)
2023-08-23 12:06:41 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 260 seconds)
2023-08-23 12:07:11 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-23 12:09:47 +0200sm(~sm@plaintextaccounting/sm)
2023-08-23 12:11:48 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 252 seconds)
2023-08-23 12:25:43 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2023-08-23 12:26:54 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-08-23 12:29:14 +0200acidjnk(~acidjnk@p200300d6e7072f05d52b79b26b7060d5.dip0.t-ipconnect.de)
2023-08-23 12:32:17 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com)
2023-08-23 12:37:00 +0200andrei_n(~andrei.n@2a02:a03f:c0bc:8400:789e:e88f:e465:7978)
2023-08-23 12:43:26 +0200hdggxin(~hdggxin@122.175.41.19) (Ping timeout: 260 seconds)
2023-08-23 12:44:47 +0200hdggxin(~hdggxin@122.175.41.19)
2023-08-23 12:48:54 +0200danse-nr3_(~francesco@151.47.178.6) (Ping timeout: 258 seconds)
2023-08-23 12:56:39 +0200barrucad1barrucadu
2023-08-23 12:58:11 +0200akegalj(~akegalj@36-180.dsl.iskon.hr)
2023-08-23 12:59:50 +0200CiaoSen(~Jura@2a05:5800:29f:f100:664b:f0ff:fe37:9ef) (Ping timeout: 244 seconds)
2023-08-23 13:01:20 +0200bitdex_(~bitdex@gateway/tor-sasl/bitdex)
2023-08-23 13:02:09 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 246 seconds)
2023-08-23 13:05:49 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-08-23 13:07:40 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2023-08-23 13:07:58 +0200danse-nr3_(~francesco@151.47.178.6)
2023-08-23 13:08:41 +0200hdggxin(~hdggxin@122.175.41.19) (Ping timeout: 250 seconds)
2023-08-23 13:08:43 +0200xff0x(~xff0x@2405:6580:b080:900:ac2a:af6b:2973:1b48)
2023-08-23 13:13:27 +0200hdggxin(~hdggxin@122.175.41.19)
2023-08-23 13:14:01 +0200thyriaen(~thyriaen@2a01:aea0:dd4:6c62:6245:cbff:fe9f:48b1)
2023-08-23 13:15:10 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-23 13:18:04 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-23 13:20:33 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 252 seconds)
2023-08-23 13:21:16 +0200nyc(~nyc@2603-7000-a106-2fb5-0000-0000-0000-1f21.res6.spectrum.com) (Ping timeout: 256 seconds)
2023-08-23 13:22:51 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
2023-08-23 13:23:33 +0200Pickchea(~private@user/pickchea) (Ping timeout: 246 seconds)
2023-08-23 13:24:18 +0200lortabac(~lortabac@37.97.111.147)
2023-08-23 13:26:22 +0200kmein(~weechat@user/kmein) (Quit: ciao kakao)
2023-08-23 13:27:39 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-08-23 13:28:59 +0200kmein(~weechat@user/kmein)
2023-08-23 13:30:14 +0200mima(~mmh@dhcp-138-246-3-237.dynamic.eduroam.mwn.de)
2023-08-23 13:34:11 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 245 seconds)
2023-08-23 13:34:53 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:4c38:8910:beb8:9cb7)
2023-08-23 13:37:38 +0200CiaoSen(~Jura@2a05:5800:29f:f100:664b:f0ff:fe37:9ef)
2023-08-23 13:39:30 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:4c38:8910:beb8:9cb7) (Ping timeout: 258 seconds)
2023-08-23 13:43:08 +0200hdggxin(~hdggxin@122.175.41.19) (Ping timeout: 246 seconds)
2023-08-23 13:45:34 +0200hseg(~gesh@77.137.68.75)
2023-08-23 13:45:51 +0200danse-nr3_(~francesco@151.47.178.6) (Ping timeout: 252 seconds)
2023-08-23 13:46:42 +0200 <hseg> Hi - stack isn't picking up the latest versions of packages, even when listed in extra-deps. eg have dep on tls-1.8.0, but stack complains it can't find it on hackage
2023-08-23 13:46:50 +0200 <hseg> anybody else have this?
2023-08-23 13:47:39 +0200 <hseg> also, just saw play.haskell.org has been added, it's appreciated!
2023-08-23 13:48:21 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2023-08-23 13:48:21 +0200bitdex_(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2023-08-23 13:48:52 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-08-23 13:49:19 +0200bitdex_(~bitdex@gateway/tor-sasl/bitdex)
2023-08-23 13:49:38 +0200ripspin(~chatzilla@1.145.132.147)
2023-08-23 13:49:38 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2023-08-23 13:53:10 +0200ripspin(~chatzilla@1.145.132.147) (Remote host closed the connection)
2023-08-23 13:58:02 +0200andrei_n(~andrei.n@2a02:a03f:c0bc:8400:789e:e88f:e465:7978) (Remote host closed the connection)
2023-08-23 13:58:20 +0200andrei_n(~andrei.n@2a02:a03f:c0bc:8400:789e:e88f:e465:7978)
2023-08-23 14:00:00 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-08-23 14:02:27 +0200danse-nr3_(~francesco@151.47.178.6)
2023-08-23 14:03:35 +0200Square2(~Square4@user/square)
2023-08-23 14:04:43 +0200andrei_n(~andrei.n@2a02:a03f:c0bc:8400:789e:e88f:e465:7978) (Quit: Leaving)
2023-08-23 14:09:22 +0200SegmentationFaul(~Segmentat@185.151.84.54) (Quit: Client closed)
2023-08-23 14:10:11 +0200notzmv(~zmv@user/notzmv)
2023-08-23 14:14:23 +0200stefan-__stefan-_
2023-08-23 14:19:21 +0200acidjnk(~acidjnk@p200300d6e7072f05d52b79b26b7060d5.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-08-23 14:23:41 +0200td_(~td@i5387090D.versanet.de) (Ping timeout: 245 seconds)
2023-08-23 14:25:36 +0200td_(~td@i5387092B.versanet.de)
2023-08-23 14:35:37 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:4421:6684:8924:105c)
2023-08-23 14:38:07 +0200 <hseg> ping? anyone else notice stack not picking up latest versions of packages that exist in hackage?
2023-08-23 14:39:15 +0200hdggxin(~hdggxin@122.175.41.19)
2023-08-23 14:39:56 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:4421:6684:8924:105c) (Ping timeout: 245 seconds)
2023-08-23 14:47:16 +0200 <danse-nr3_> did not happen to me but it would be a rather fundamental issue. I would rather guess that your environment is affecting this
2023-08-23 14:47:33 +0200bitdex_(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2023-08-23 14:48:35 +0200 <hseg> hrm. nuked the stack cache, seems to have solved it. _shrugs_
2023-08-23 14:48:41 +0200bitdex_(~bitdex@gateway/tor-sasl/bitdex)
2023-08-23 14:49:02 +0200 <hseg> and yeah, it was extremely surprising to me
2023-08-23 14:50:49 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-23 14:50:59 +0200 <hseg> for this precise reason
2023-08-23 14:54:33 +0200SegmentationFaul(~Segmentat@185.151.84.54)
2023-08-23 14:57:18 +0200akegalj(~akegalj@36-180.dsl.iskon.hr) (Quit: leaving)
2023-08-23 14:58:00 +0200 <danse-nr3_> strange
2023-08-23 14:58:24 +0200mc47(~mc47@xmonad/TheMC47)
2023-08-23 14:58:43 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2023-08-23 14:59:15 +0200 <danse-nr3_> oh, i overlooked your original question
2023-08-23 14:59:18 +0200 <danse-nr3_> hseg, pong
2023-08-23 14:59:22 +0200 <danse-nr3_> sorry for the latency
2023-08-23 15:00:00 +0200 <hseg> :)
2023-08-23 15:00:34 +0200 <hseg> you answered my original question - negatively, prompting my nuke
2023-08-23 15:02:07 +0200acidjnk(~acidjnk@p200300d6e7072f05f88db541a99f62e2.dip0.t-ipconnect.de)
2023-08-23 15:09:27 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2)
2023-08-23 15:12:51 +0200 <danse-nr3_> yeah but the ping was left unacked
2023-08-23 15:15:31 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-08-23 15:15:51 +0200ulysses4ever(~artem@c-73-103-90-145.hsd1.in.comcast.net) (Read error: Connection reset by peer)
2023-08-23 15:16:03 +0200ulysses4ever(~artem@c-73-103-90-145.hsd1.in.comcast.net)
2023-08-23 15:17:48 +0200sm(~sm@plaintextaccounting/sm)
2023-08-23 15:18:11 +0200danse-nr3__(~francesco@151.47.130.197)
2023-08-23 15:18:46 +0200sm(~sm@plaintextaccounting/sm) (Client Quit)
2023-08-23 15:19:04 +0200nyc(~nyc@2603-7000-a106-2fb5-0000-0000-0000-1f21.res6.spectrum.com)
2023-08-23 15:20:01 +0200AlexZenon(~alzenon@178.34.150.48) (Ping timeout: 245 seconds)
2023-08-23 15:20:02 +0200AlexNoo(~AlexNoo@178.34.150.48) (Ping timeout: 246 seconds)
2023-08-23 15:20:26 +0200Alex_test(~al_test@178.34.150.48) (Ping timeout: 245 seconds)
2023-08-23 15:20:28 +0200hseg(~gesh@77.137.68.75) (Quit: WeeChat 4.0.4)
2023-08-23 15:21:00 +0200danse-nr3_(~francesco@151.47.178.6) (Ping timeout: 252 seconds)
2023-08-23 15:23:54 +0200ulysses4ever(~artem@c-73-103-90-145.hsd1.in.comcast.net) (Read error: Connection reset by peer)
2023-08-23 15:24:28 +0200ulysses4ever(~artem@73.103.90.145)
2023-08-23 15:24:30 +0200thyriaen(~thyriaen@2a01:aea0:dd4:6c62:6245:cbff:fe9f:48b1) (Remote host closed the connection)
2023-08-23 15:26:39 +0200Hecate_Hecate
2023-08-23 15:29:17 +0200fendor(~fendor@2a02:8388:1640:be00:b586:6c06:a58:19a3)
2023-08-23 15:29:29 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-23 15:30:11 +0200gatekempt(~gatekempt@user/gatekempt)
2023-08-23 15:31:22 +0200Axman6(~Axman6@user/axman6) (Ping timeout: 264 seconds)
2023-08-23 15:33:00 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 246 seconds)
2023-08-23 15:34:12 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 252 seconds)
2023-08-23 15:34:40 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2023-08-23 15:34:47 +0200hgolden_(~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com) (Remote host closed the connection)
2023-08-23 15:36:42 +0200CiaoSen(~Jura@2a05:5800:29f:f100:664b:f0ff:fe37:9ef) (Ping timeout: 246 seconds)
2023-08-23 15:40:34 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-08-23 15:43:00 +0200artem(~artem@2601:249:4380:8950:f474:e3f8:9806:671)
2023-08-23 15:43:02 +0200ulysses4ever(~artem@73.103.90.145) (Read error: Connection reset by peer)
2023-08-23 15:45:46 +0200ulysses4ever(~artem@c-73-103-90-145.hsd1.in.comcast.net)
2023-08-23 15:45:47 +0200artem(~artem@2601:249:4380:8950:f474:e3f8:9806:671) (Read error: Connection reset by peer)
2023-08-23 15:50:07 +0200ystael(~ystael@user/ystael)
2023-08-23 15:53:16 +0200artem(~artem@2601:408:c405:16e8:f474:e3f8:9806:671)
2023-08-23 15:54:45 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-23 15:54:50 +0200ulysses4ever(~artem@c-73-103-90-145.hsd1.in.comcast.net) (Ping timeout: 256 seconds)
2023-08-23 15:54:52 +0200artem(~artem@2601:408:c405:16e8:f474:e3f8:9806:671) (Read error: Connection reset by peer)
2023-08-23 15:55:49 +0200ulysses4ever(~artem@2601:408:c405:16e8:f474:e3f8:9806:671)
2023-08-23 15:57:02 +0200artem(~artem@73.145.240.82)
2023-08-23 15:59:01 +0200artem(~artem@73.145.240.82) (Read error: Connection reset by peer)
2023-08-23 15:59:01 +0200ulysses4ever(~artem@2601:408:c405:16e8:f474:e3f8:9806:671) (Read error: Connection reset by peer)
2023-08-23 15:59:43 +0200ulysses4ever(~artem@2601:408:c405:16e8:f474:e3f8:9806:671)
2023-08-23 16:03:50 +0200ulysses4ever(~artem@2601:408:c405:16e8:f474:e3f8:9806:671) (Ping timeout: 246 seconds)
2023-08-23 16:04:31 +0200ulysses4ever(~artem@2601:408:c405:16e8:f474:e3f8:9806:671)
2023-08-23 16:04:53 +0200AlexNoo(~AlexNoo@178.34.150.48)
2023-08-23 16:05:38 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-23 16:06:14 +0200Alex_test(~al_test@178.34.150.48)
2023-08-23 16:13:29 +0200SegmentationFaul(~Segmentat@185.151.84.54) (Quit: Ping timeout (120 seconds))
2023-08-23 16:14:05 +0200Simikando(~Simikando@adsl-dyn1.91-127-51.t-com.sk)
2023-08-23 16:14:10 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-23 16:14:44 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-08-23 16:15:30 +0200lortabac(~lortabac@37.97.111.147) (Ping timeout: 245 seconds)
2023-08-23 16:16:01 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2023-08-23 16:17:23 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-08-23 16:19:19 +0200Pickchea(~private@user/pickchea)
2023-08-23 16:19:51 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 252 seconds)
2023-08-23 16:22:44 +0200thegeekinside(~thegeekin@189.180.79.225)
2023-08-23 16:31:20 +0200nyr(~nyr@user/nyr)
2023-08-23 16:35:21 +0200briandaed(~briandaed@185.234.210.211) (Remote host closed the connection)
2023-08-23 16:37:09 +0200lortabac(~lortabac@37.97.111.147)
2023-08-23 16:39:32 +0200ulysses4ever(~artem@2601:408:c405:16e8:f474:e3f8:9806:671) (Ping timeout: 246 seconds)
2023-08-23 16:39:33 +0200Simikando(~Simikando@adsl-dyn1.91-127-51.t-com.sk) (Quit: Leaving)
2023-08-23 16:43:20 +0200ulysses4ever(~artem@73.145.240.82)
2023-08-23 16:43:34 +0200shapr(~user@2600:1700:c640:3100:a991:ffa8:c9bc:d5d1)
2023-08-23 16:43:44 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2023-08-23 16:43:59 +0200SegmentationFaul(~Segmentat@185.151.84.54)
2023-08-23 16:45:07 +0200lortabac(~lortabac@37.97.111.147) (Quit: WeeChat 2.8)
2023-08-23 16:45:24 +0200ulysses4ever(~artem@73.145.240.82) (Read error: Connection reset by peer)
2023-08-23 16:47:18 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-08-23 16:48:30 +0200AlexZenon(~alzenon@178.34.150.48)
2023-08-23 16:48:58 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2023-08-23 16:49:57 +0200mc47(~mc47@xmonad/TheMC47) (Quit: Leaving)
2023-08-23 16:51:33 +0200ulysses4ever(~artem@2601:40d:509:64:f474:e3f8:9806:671)
2023-08-23 16:53:19 +0200abrantesasf(~abrantesa@177.137.232.92)
2023-08-23 16:53:28 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 258 seconds)
2023-08-23 16:53:31 +0200econo_(uid147250@id-147250.tinside.irccloud.com)
2023-08-23 16:56:02 +0200ulysses4ever(~artem@2601:40d:509:64:f474:e3f8:9806:671) (Ping timeout: 256 seconds)
2023-08-23 16:56:09 +0200g(g@libera/staff-emeritus/glguy) (Remote host closed the connection)
2023-08-23 16:56:17 +0200g(g@libera/staff-emeritus/glguy)
2023-08-23 16:56:43 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2023-08-23 16:58:16 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-08-23 16:58:16 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-08-23 16:58:16 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-08-23 16:59:28 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2023-08-23 17:00:37 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 4.0.3)
2023-08-23 17:03:33 +0200powderhorn(~powderhor@207-153-12-54.static.fttp.usinternet.com)
2023-08-23 17:05:18 +0200ripspin(~chatzilla@1.145.177.195)
2023-08-23 17:06:38 +0200ulysses4ever(~artem@hilton-nomadix.wintek.com)
2023-08-23 17:08:20 +0200L29Ah(~L29Ah@wikipedia/L29Ah) ()
2023-08-23 17:08:28 +0200nyr(~nyr@user/nyr) (Ping timeout: 248 seconds)
2023-08-23 17:08:37 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:4421:6684:8924:105c)
2023-08-23 17:10:43 +0200ulysses4ever(~artem@hilton-nomadix.wintek.com) (Ping timeout: 246 seconds)
2023-08-23 17:11:03 +0200ulysses4ever(~artem@2601:408:c405:4964:f474:e3f8:9806:671)
2023-08-23 17:13:29 +0200ulysses4ever(~artem@2601:408:c405:4964:f474:e3f8:9806:671) (Read error: Connection reset by peer)
2023-08-23 17:13:33 +0200artem(~artem@2601:408:c405:4964:f474:e3f8:9806:671)
2023-08-23 17:15:23 +0200 <exarkun> I tried to use module "thinning" (https://ghc.gitlab.haskell.org/ghc/doc/users_guide/packages.html#thinning-and-renaming-modules) by adding `{-# OPTIONS_GHC -package "base64-bytestring (Data.ByteString.Base64)" #-}` to one of my source files but `cabal build` gives me `unknown flag in {-# OPTIONS_GHC #-} pragma: -package`. How should I do this?
2023-08-23 17:19:48 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-23 17:24:45 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
2023-08-23 17:25:24 +0200artem(~artem@2601:408:c405:4964:f474:e3f8:9806:671) (Ping timeout: 244 seconds)
2023-08-23 17:28:23 +0200SegmentationFaul(~Segmentat@185.151.84.54) (Ping timeout: 246 seconds)
2023-08-23 17:28:45 +0200jabuxas(~jabuxas@user/jabuxas)
2023-08-23 17:29:16 +0200mechap(~mechap@user/mechap) (Ping timeout: 260 seconds)
2023-08-23 17:29:54 +0200mechap(~mechap@user/mechap)
2023-08-23 17:35:47 +0200 <danse-nr3__> i searched a bit but i did not find any documentation that would hint to that syntax being wrong. I guess most thinning users choose command line flags
2023-08-23 17:36:51 +0200 <fendor> I might be wrong, but maybe OPTIONS_GHC is only allowed for interactive flags? `-package` is not an interactive flag, e.g. you can't specify it in ghci
2023-08-23 17:37:08 +0200Minnozz(~minnozz@salix.minnozz.com) (WeeChat 3.8)
2023-08-23 17:37:14 +0200 <fendor> * in a ghci session to load another package
2023-08-23 17:39:37 +0200 <exarkun> hm. https://ghc.gitlab.haskell.org/ghc/doc/users_guide/using.html#source-file-options says that only "Dynamic" flags can be used with OPTIONS_GHC (although I am not sure if the intent here is that _all_ "Dynamic" flags can be used with it)
2023-08-23 17:39:53 +0200ulysses4ever(~artem@2607:fb91:174a:9d2c:92a6:7fd7:d49d:f507)
2023-08-23 17:39:56 +0200 <exarkun> https://ghc.gitlab.haskell.org/ghc/doc/users_guide/flags.html#flag-reference does say that "-package" is "Dynamic"
2023-08-23 17:40:26 +0200 <exarkun> I can use the `PackageImports` language extension instead... but docs told me it's fragile and I should prefer thinning.
2023-08-23 17:41:04 +0200Simikando(~Simikando@adsl-dyn1.91-127-51.t-com.sk)
2023-08-23 17:44:49 +0200abrantesasf(~abrantesa@177.137.232.92) (Remote host closed the connection)
2023-08-23 17:47:37 +0200dhil(~dhil@78.45.150.83.ewm.ftth.as8758.net)
2023-08-23 17:48:13 +0200Simikando(~Simikando@adsl-dyn1.91-127-51.t-com.sk) (Quit: Leaving)
2023-08-23 17:48:26 +0200 <c_wraith> exarkun: if you're using cabal, use mixins
2023-08-23 17:48:26 +0200ulysses4ever(~artem@2607:fb91:174a:9d2c:92a6:7fd7:d49d:f507) (Read error: Connection reset by peer)
2023-08-23 17:48:36 +0200ulysses4ever(~artem@192.31.0.5)
2023-08-23 17:48:48 +0200gehmehgeh(~user@user/gehmehgeh) (Ping timeout: 246 seconds)
2023-08-23 17:49:04 +0200 <c_wraith> exarkun: https://cabal.readthedocs.io/en/stable/cabal-package.html#pkg-field-mixins
2023-08-23 17:49:55 +0200acidjnk(~acidjnk@p200300d6e7072f05f88db541a99f62e2.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-08-23 17:50:06 +0200jabuxas(~jabuxas@user/jabuxas) (Quit: Leaving.)
2023-08-23 17:50:54 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2023-08-23 17:51:07 +0200thegeekinside(~thegeekin@189.180.79.225) (Remote host closed the connection)
2023-08-23 17:51:18 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2023-08-23 17:53:46 +0200 <exarkun> c_wraith: Okay, didn't know about those. It looks like they aren't per-module though?
2023-08-23 17:54:06 +0200 <c_wraith> they aren't. but on the plus side, they work. :)
2023-08-23 17:54:49 +0200 <exarkun> in my specific case, I need to specify per-module, so I guess PackageImports for now
2023-08-23 17:55:15 +0200 <exarkun> thanks for the pointer about mixins
2023-08-23 17:57:26 +0200justsomeguy(~justsomeg@user/justsomeguy)
2023-08-23 17:59:26 +0200 <justsomeguy> Is it possible to write a test that proves whether something is a data constructor or type constructor? I'm trying to unit test my homework. When I try to evaluate the type constructor "Doggies" I get the following exception "Illegal term-level use of the type constructor ‘Doggies’". So maybe I can use hspec's `shouldThrow`?
2023-08-23 18:00:34 +0200 <justsomeguy> Until now, I've been writing expect scripts that run GHCi interactively and do string matching for my tests, but I thought it would be nicer to write hspec unit tests, instead.
2023-08-23 18:01:05 +0200 <geekosaur> "throw" is runtime, you are getting a compile time error
2023-08-23 18:01:18 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-08-23 18:01:34 +0200 <c_wraith> I don't see much value in testing something that just won't compile if code is using it incorrectly
2023-08-23 18:02:21 +0200 <c_wraith> It's like writing a test that integers aren't functions.
2023-08-23 18:02:55 +0200 <EvanR> tests test your running program. Or are you testing GHC itself
2023-08-23 18:04:24 +0200 <justsomeguy> I have a list of questions like "what is the type of x", "what is the kind of x". They're really reading comprehension questions about Haskell syntax. But I've been forcing myself to write test for everything so far in the hopes I can use it as a checklist so when I forget where I left off in the project I can just run all of the tests to find out.
2023-08-23 18:04:52 +0200 <justsomeguy> Maybe I should keep a literal checklist instead.
2023-08-23 18:05:12 +0200 <EvanR> what is the _ of x, type or kind xD
2023-08-23 18:06:29 +0200 <EvanR> term, type, or kind
2023-08-23 18:06:32 +0200 <EvanR> or sort
2023-08-23 18:06:40 +0200 <justsomeguy> I'm just overcomplicating things. It sucks to re-start a big book an lose your place :D.
2023-08-23 18:08:53 +0200 <[Leary]> You can write `x :: <type>` then `type t :: <kind>`, etc rather than tests? If it compiles, the "tests" pass without needing to do anything at runtime.
2023-08-23 18:09:30 +0200 <c_wraith> You can only write positive tests like that... trivially, anyway.
2023-08-23 18:10:09 +0200 <c_wraith> There is a package that lets you write negative tests for that sort of thing if you use -fdefer-type-errors, but it only works for type errors
2023-08-23 18:11:02 +0200 <justsomeguy> I hadn't thought of that [Leary]. That makes sense for some of these questions.
2023-08-23 18:11:36 +0200 <danse-nr3__> are you studying out of a book?
2023-08-23 18:12:27 +0200 <justsomeguy> Yes, I'm studying from Haskell Programming from First Principles. You can see my notes here: hpfp.readthedocs.io. I've been working on it off-and-on for a few years now.
2023-08-23 18:12:43 +0200 <justsomeguy> (And keep on getting stuck.)
2023-08-23 18:14:35 +0200 <danse-nr3__> nice that you are publishing your notes
2023-08-23 18:15:01 +0200 <justsomeguy> It helps me out. Easier to ask questions this way.
2023-08-23 18:17:38 +0200 <justsomeguy> For something like this I have a text-based question and answer https://github.com/kingparra/hpfp/blob/cd44ae4ad68800375168b6b5966599d81be0ae6f/11_-_algebraic_dat… and an expect script that I've been using in lui of actual tests
2023-08-23 18:17:40 +0200 <justsomeguy> https://github.com/kingparra/hpfp/blob/cd44ae4ad68800375168b6b5966599d81be0ae6f/11_-_algebraic_dat… ...
2023-08-23 18:18:13 +0200 <danse-nr3__> oh i recall when that book came out. Christopher Allen attacked me on twitter because he did not like my comment
2023-08-23 18:19:21 +0200 <erisco> justsomeguy, I just have a file that I keep appending to as I encounter exercises, so I've left off at the bottom
2023-08-23 18:20:16 +0200 <justsomeguy> erisco: How do you know if you got one wrong?
2023-08-23 18:20:52 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 258 seconds)
2023-08-23 18:21:04 +0200 <erisco> the compiler will tell me, if it can be determined by static analysis
2023-08-23 18:21:09 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2023-08-23 18:22:25 +0200 <erisco> otherwise, I'm not that worried about it for small problems, I just run a few inputs by hand
2023-08-23 18:24:13 +0200 <erisco> if there are dark areas of my solution, I need to retry the problem, and I need to keep doing that until my internal, informal static analyser is convinced... then I run a few inputs by hand to doublecheck I am not kidding myself
2023-08-23 18:24:22 +0200 <exarkun> Your unit tests are a program you run to tell you about some behavior of your program (runtime behavior - since they're a thing you run)
2023-08-23 18:24:56 +0200 <exarkun> The compiler is a program you run to tell you things about some possible source code you have (it's runtime for the compiler! but that's a special time we call compile time).
2023-08-23 18:25:09 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2023-08-23 18:25:14 +0200 <exarkun> Among the things the compiler can tell you are ... is this Haskell (as the compiler understands it) source code or not
2023-08-23 18:25:23 +0200 <exarkun> (and if not, often some details about why it thinks so)
2023-08-23 18:25:35 +0200 <erisco> which is a practice that would make a TDD enjoyer's hair stand on end :P
2023-08-23 18:26:12 +0200 <exarkun> A sufficiently enlightened TDDer can accept that the compiler might have valuable input to supply :)
2023-08-23 18:26:43 +0200 <exarkun> I think it's really the very dynamic language mindset which has trouble with the idea that some properties of a program might not be its _runtime_ properties.
2023-08-23 18:27:02 +0200 <c_wraith> you could theoretically accept that "compiles" is an implicit test on its own.
2023-08-23 18:27:02 +0200 <exarkun> (so you have Python programs that include unit tests for what happens if you call a 2 argument function with 3 arguments, etc)
2023-08-23 18:27:06 +0200 <erisco> a TDDer is concerned about the behavioural ie extrinsic properties of a program, whereas a static analyser is concerned about the intentional ie intrinsic properties of a program
2023-08-23 18:27:48 +0200 <EvanR> all programs compile and run. HTML had it right
2023-08-23 18:27:58 +0200 <EvanR> get straight to the debugging
2023-08-23 18:28:24 +0200 <erisco> a TDDer is satisfied if a black box passes all tests... another approach, and I do not have a name for it, is to build understanding and correctness compositionally, so you know you have the right result at every step of construction
2023-08-23 18:28:26 +0200 <EvanR> all text files I mean, are programs
2023-08-23 18:28:39 +0200 <exarkun> erisco: Well, I speak as a reformed dynamic language TDDer, so I think there's at least some variability in the group :)
2023-08-23 18:29:02 +0200 <justsomeguy> erisco: Well, a single big file makes remembering where you left off simpler, for sure. I'm about ready to ditch my old efforts and try a straight run-through of the book in one go. Maybe I'll go with a few big files.
2023-08-23 18:29:40 +0200 <exarkun> If you programming language has no intentional properties (programs don't mean anything, they just do stuff) then it's pretty reasonable to largely ignore intentions.
2023-08-23 18:30:10 +0200 <exarkun> But we can still write useful tests for Haskell code, and we can even do so TDD if we want.
2023-08-23 18:31:13 +0200 <danse-nr3__> of course, test-driven dev has little to do with compiling distinctions
2023-08-23 18:31:56 +0200 <erisco> When all tests pass, and assuming the tests cover all practical cases, that's great. I think the difference reveals itself when tests are not passing and now someone has to do something about it. As programmers, we're pretty interested in intention :)
2023-08-23 18:32:44 +0200fendor(~fendor@2a02:8388:1640:be00:b586:6c06:a58:19a3) (Remote host closed the connection)
2023-08-23 18:33:33 +0200 <erisco> if you've ever had to modify a test so the program passed, because it is too hard to fix the reason it fails this year, then you know what I mean :P
2023-08-23 18:38:03 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-08-23 18:38:11 +0200ddellacosta(~ddellacos@146.70.166.100) (Ping timeout: 246 seconds)
2023-08-23 18:38:35 +0200ddellacosta(~ddellacos@146.70.166.100)
2023-08-23 18:40:16 +0200 <EvanR> program to compute pi is failing the test, just change the test
2023-08-23 18:42:45 +0200thegeekinside(~thegeekin@189.180.79.225)
2023-08-23 18:43:27 +0200p3n(~p3n@217.198.124.246) (Quit: ZNC 1.8.2 - https://znc.in)
2023-08-23 18:44:58 +0200ddellacosta(~ddellacos@146.70.166.100) (Ping timeout: 244 seconds)
2023-08-23 18:45:41 +0200ripspin(~chatzilla@1.145.177.195) (Remote host closed the connection)
2023-08-23 18:46:55 +0200ddellacosta(~ddellacos@146.70.185.100)
2023-08-23 18:47:08 +0200mechap(~mechap@user/mechap) (Quit: WeeChat 4.0.3)
2023-08-23 18:47:19 +0200 <erisco> we explained the future risk for interfacing with other systems, but the business decided that we'll just explain to external stakeholders that, in the way we like to do things, pi = 22/7
2023-08-23 18:47:38 +0200danse-nr3__(~francesco@151.47.130.197) (Ping timeout: 246 seconds)
2023-08-23 18:48:45 +0200 <geekosaur> https://en.wikipedia.org/wiki/Indiana_Pi_Bill
2023-08-23 18:51:13 +0200danza(~francesco@151.47.130.197)
2023-08-23 18:52:36 +0200 <erisco> now that's a rich piece of history
2023-08-23 18:53:03 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 246 seconds)
2023-08-23 18:57:15 +0200hugo(znc@verdigris.lysator.liu.se)
2023-08-23 18:58:06 +0200 <shapr> @quote haskell
2023-08-23 18:58:06 +0200 <lambdabot> haskell says: Haskell binaries are made of 100% win. That is why they are so big.
2023-08-23 19:00:37 +0200hgolden(~hgolden@2603:8000:9d00:3ed1:fc05:5499:f77c:fbe5)
2023-08-23 19:01:50 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 256 seconds)
2023-08-23 19:03:50 +0200 <carter> thats a good one`
2023-08-23 19:06:07 +0200hugo-(znc@130.236.254.23)
2023-08-23 19:07:02 +0200perrierjouet(~perrierjo@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.3)
2023-08-23 19:07:11 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-23 19:07:58 +0200jabuxas(~jabuxas@user/jabuxas)
2023-08-23 19:13:02 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2023-08-23 19:16:00 +0200Square2(~Square4@user/square) (Ping timeout: 256 seconds)
2023-08-23 19:17:30 +0200ddellacosta(~ddellacos@146.70.185.100) (Ping timeout: 252 seconds)
2023-08-23 19:18:02 +0200danza_(~francesco@151.46.217.116)
2023-08-23 19:20:32 +0200danza(~francesco@151.47.130.197) (Ping timeout: 256 seconds)
2023-08-23 19:21:22 +0200ddellacosta(~ddellacos@146.70.168.100)
2023-08-23 19:21:28 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-23 19:22:17 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2023-08-23 19:23:41 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Read error: Connection reset by peer)
2023-08-23 19:25:57 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
2023-08-23 19:26:51 +0200danza_(~francesco@151.46.217.116) (Ping timeout: 252 seconds)
2023-08-23 19:27:03 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2023-08-23 19:27:45 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-08-23 19:31:28 +0200 <EvanR> and from then on geometry was added to US schools
2023-08-23 19:31:33 +0200g(g@libera/staff-emeritus/glguy) (Remote host closed the connection)
2023-08-23 19:31:40 +0200g(g@libera/staff-emeritus/glguy)
2023-08-23 19:32:08 +0200 <EvanR> reading, writing, and arithmetic only gets you so far
2023-08-23 19:35:42 +0200Inst(~liamzy@2601:6c4:4085:6d50::725c)
2023-08-23 19:37:07 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-23 19:37:41 +0200logothesia(~logothesi@user/logothesia) (Ping timeout: 246 seconds)
2023-08-23 19:38:46 +0200jabuxas(~jabuxas@user/jabuxas) (Quit: Leaving.)
2023-08-23 19:39:41 +0200acidjnk(~acidjnk@p200300d6e7072f05a8abaa2c9ff73443.dip0.t-ipconnect.de)
2023-08-23 19:40:06 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 246 seconds)
2023-08-23 19:48:42 +0200artem(~artem@192.31.0.5)
2023-08-23 19:48:44 +0200ulysses4ever(~artem@192.31.0.5) (Read error: Connection reset by peer)
2023-08-23 19:49:34 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-08-23 19:49:53 +0200jmcantrell(~weechat@user/jmcantrell)
2023-08-23 19:50:21 +0200ulysses4ever(~artem@192.31.0.5)
2023-08-23 19:53:00 +0200artem(~artem@192.31.0.5) (Ping timeout: 245 seconds)
2023-08-23 19:53:49 +0200EvanR_(~EvanR@user/evanr)
2023-08-23 19:54:33 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-23 19:55:40 +0200shapr`(~user@2600:1700:c640:3100:a991:ffa8:c9bc:d5d1)
2023-08-23 19:55:53 +0200shapr(~user@2600:1700:c640:3100:a991:ffa8:c9bc:d5d1) (Ping timeout: 246 seconds)
2023-08-23 19:55:55 +0200EvanR(~EvanR@user/evanr) (Ping timeout: 245 seconds)
2023-08-23 19:59:56 +0200Inst(~liamzy@2601:6c4:4085:6d50::725c) (Ping timeout: 245 seconds)
2023-08-23 20:01:19 +0200myxos(~myxos@cpe-65-28-251-121.cinci.res.rr.com) (Quit: myxos)
2023-08-23 20:04:33 +0200 <erisco> EvanR_, I was rather disappointed by geometry. Forget the geometry, Euclid's work was groundbreaking for mathematical foundations. I think I spent all my time in school wondering where the hell this math stuff came from
2023-08-23 20:05:25 +0200EvanR_EvanR
2023-08-23 20:05:34 +0200 <EvanR> euclid is great
2023-08-23 20:06:19 +0200 <dolio> Geometry is the algebra of rationals + square roots, right? :þ
2023-08-23 20:07:32 +0200 <erisco> I thought geometry was about actually using the little lines on your straight edge, and then having a debate about whether that was real math or not
2023-08-23 20:08:13 +0200fweht(uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-08-23 20:09:15 +0200mima(~mmh@dhcp-138-246-3-237.dynamic.eduroam.mwn.de) (Ping timeout: 245 seconds)
2023-08-23 20:09:24 +0200Volt_(~Volt_@c-73-47-181-152.hsd1.ma.comcast.net)
2023-08-23 20:09:35 +0200 <erisco> incidentally, if someone could explain limits to me without showing me pictures of secants turning into tangents, or showing me a lim x -> 0 and then throwing a bunch of identities at me, would appreciate it
2023-08-23 20:09:44 +0200deviance(~deviance@bcdcac82.skybroadband.com)
2023-08-23 20:09:48 +0200artem(~artem@192.31.0.5)
2023-08-23 20:10:06 +0200 <shapr`> erisco: have you looked at infinitesimals?
2023-08-23 20:10:07 +0200 <dolio> Explain what about them?
2023-08-23 20:10:13 +0200shapr`shapr
2023-08-23 20:12:00 +0200 <erisco> shapr`, years ago, though I didn't look at them for too long. Worth it? I have just never got much into numbers because working with them feels like working with poorly documented code and searching SO for the answers
2023-08-23 20:12:35 +0200ulysses4ever(~artem@192.31.0.5) (Ping timeout: 245 seconds)
2023-08-23 20:12:36 +0200 <erisco> z, s z, s (s z), and I'm following, but we get into limits and I lose the plot
2023-08-23 20:12:57 +0200 <dolio> I think the nice thing about infinitessimals is that you can do calculus-like stuff without talking about limits at all.
2023-08-23 20:13:02 +0200 <shapr> Infinitesimals were what calculus used before it got limits
2023-08-23 20:13:22 +0200 <shapr> Yeah, what dolio said
2023-08-23 20:13:26 +0200 <dolio> And if you go the SDG route, it forces you to use intuitionistic logic, which is morally correct.
2023-08-23 20:13:33 +0200 <erisco> I was taught limits as here's the notation, here's a bunch of rules for what the limit of this over that is
2023-08-23 20:13:58 +0200 <shapr> erisco: also, the "losing the plot" phrase was good after talking about pictures of secants
2023-08-23 20:14:11 +0200 <ncf> were you taught a definition? that's the most important thing
2023-08-23 20:14:13 +0200 <exarkun> erisco: https://www.maa.org/sites/default/files/pdf/devlin/LockhartsLament.pdf (thanks shapr )
2023-08-23 20:14:29 +0200 <shapr> exarkun: I love that document :-)
2023-08-23 20:14:54 +0200 <shapr> I'm giving a surprise talk on Friday noon Pacific time on a different research paper
2023-08-23 20:15:29 +0200 <shapr> erisco: infinitesimals are specifically "calculus without limits" and I didn't realize how punny that might sound until I wrote it :-|
2023-08-23 20:16:11 +0200 <erisco> the tragedy is that, now that we have generations of human calculators, when schools try to teach mathematics from a "lets think and understand" foundation, parents are outraged
2023-08-23 20:16:31 +0200 <shapr> dolio: what's the SDG route?
2023-08-23 20:16:45 +0200 <shapr> what does SDG stand for?
2023-08-23 20:16:55 +0200 <dolio> Synthetic Differential Geometry, instead of non-standard analysis.
2023-08-23 20:17:02 +0200 <shapr> oh, thank you!
2023-08-23 20:17:20 +0200ski(~ski@83.248.72.178)
2023-08-23 20:17:29 +0200 <shapr> exarkun: did you make it to my talk on Lockhart's Lament?
2023-08-23 20:17:36 +0200 <exarkun> shapr: I don't think so
2023-08-23 20:18:18 +0200 <shapr> It was fun. I talked about reading that document in a waiting room, getting inspired and finding an exciting math problem in my pocket.
2023-08-23 20:18:38 +0200 <shapr> Specifically, I'd purchased ako dice where the faces look like https://cofree.coffee/~shapr/ako-dice.jpg
2023-08-23 20:18:40 +0200 <erisco> anyways, if anyone has resources to explain limits / reals to the constructivist-minded, would appreciate
2023-08-23 20:21:33 +0200 <ddellacosta> interesting, I thought that the reason limits are used vs. infinitesmals is because the latter isn't sufficiently formalized, but apparently that was done in the 20th century
2023-08-23 20:21:58 +0200 <shapr> I thought that too
2023-08-23 20:22:14 +0200 <EvanR> erisco, you defined integers. You can define the limit of a sequence, or whatever flavor of limit
2023-08-23 20:22:17 +0200 <ski> shapr : oh, you talked on his paper ? or the book ?
2023-08-23 20:22:19 +0200 <EvanR> just definitions
2023-08-23 20:22:28 +0200 <shapr> ski: I gave a talk about Lockhart's Lament, yes
2023-08-23 20:22:45 +0200 <shapr> ski: I'm doing random talks about once every two weeks, want me to invite you?
2023-08-23 20:23:14 +0200 <dolio> erisco: Limits essentially come from the usual 'real numbers' actually being objects that let you query for approximations to some precision. Two methods of approximation give the same real number if they are close enough at every approximation precision.
2023-08-23 20:24:05 +0200 <erisco> sounds very computational of you
2023-08-23 20:24:17 +0200 <EvanR> a limit of a sequence of rationals can be defined without mentioning reals, so starting with "I don't get reals" is jumping the gun. In the traditional ordering of things
2023-08-23 20:24:49 +0200 <erisco> EvanR, and you'd define this limit axiomatically? with quantifiers?
2023-08-23 20:24:53 +0200 <dolio> So, given an appropriate sequence or set of such approximation objects, you can fold them into a single approximation that is the object the whole set was approximating.
2023-08-23 20:25:17 +0200 <EvanR> a definition and an axiom are two different things
2023-08-23 20:25:27 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-08-23 20:25:42 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 252 seconds)
2023-08-23 20:25:46 +0200 <EvanR> x = 3 is a definition, there exists a square root of two is an axiom
2023-08-23 20:25:56 +0200 <mauke> from what I recall from uni, one of the axioms of the real numbers was that every strictly increasing sequence of real numbers that is bounded above has a least upper bound, which is also a real number
2023-08-23 20:27:07 +0200 <ski> erisco : hmm .. well, i'm reminded of "Constructive Analysis" by Errett Bishop & Douglas Bridges. also Martin Escardo has some interesting papers regarding convergent sequences (and the "generic convergent sequence" (the "one-point compactification of the natural numbers"), classically being the natural numbers with an additional infinity point. think `data Nat = Zero | Succ Nat' including `inf = Succ inf')
2023-08-23 20:27:07 +0200 <EvanR> erisco, in the classic course, you "construct the reals with limits" and then you can prove that it corresponds to the axiomatic reals
2023-08-23 20:27:12 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2023-08-23 20:27:13 +0200 <ski> .. but i think possibly his papers wouldn't be a good intro
2023-08-23 20:27:22 +0200 <EvanR> it requires classical logic
2023-08-23 20:27:39 +0200 <EvanR> but see the section of constructive reals in homotopy type theory
2023-08-23 20:28:16 +0200 <erisco> repeating theme here is sequences, so I'll think more about sequences, thanks
2023-08-23 20:28:31 +0200 <EvanR> sequences are great, you can use haskell to generate them!
2023-08-23 20:28:54 +0200 <EvanR> make a list of rationals whose limit is the square root of two
2023-08-23 20:30:59 +0200 <erisco> off hand, I am not quite sure how you translate from lim h -> 0 (f (x + h) - f x) / h = f' x to a sequence
2023-08-23 20:31:23 +0200 <EvanR> that's a different kind of limit
2023-08-23 20:31:26 +0200 <EvanR> different definition
2023-08-23 20:31:48 +0200 <erisco> there is more than one kind of limit?
2023-08-23 20:31:51 +0200 <EvanR> yes
2023-08-23 20:31:55 +0200 <ncf> they're all similar
2023-08-23 20:31:59 +0200 <erisco> where were you in grade 11
2023-08-23 20:32:26 +0200 <EvanR> that's what university is for, high school damage control
2023-08-23 20:32:39 +0200 <ncf> you could interpret that to mean "the limit of the sequence of approximations ((f(x + 1/n) - f x)/(1/n)) for n : ℕ"
2023-08-23 20:32:45 +0200 <erisco> where were you in calc I or II
2023-08-23 20:33:00 +0200 <erisco> all I was doing then is learning trig identities lol
2023-08-23 20:33:40 +0200 <ski> ddellacosta : hm, are you aware of Anders Kock's "Synthetic Differential Geometry" (book, 2nd ed.) in 2006 at <http://home.imf.au.dk/kock/sdg99.pdf> ? it formalizes some "naïve" reasoning with infinitesimals, crucially reasoning in an intuitionistic logic. .. also i'm reminded of Paul Taylor's "Abstract Stone Duality" <https://paultaylor.eu/ASD/>, which is a project to make a computable lambda-calculus for
2023-08-23 20:33:42 +0200bratwurst(~blaadsfa@S010610561191f5d6.lb.shawcable.net)
2023-08-23 20:33:46 +0200 <ski> dedekind cuts
2023-08-23 20:33:50 +0200 <erisco> ncf, there's an idea, thanks
2023-08-23 20:35:09 +0200 <EvanR> yeah, that gets you the same result as the definition. Which involves allowing you to approach 0 (from above in this case) however you want
2023-08-23 20:36:27 +0200 <EvanR> badly behaved expressions could converge to different things depending on the sequence taken, i.e. don't converge
2023-08-23 20:37:17 +0200 <EvanR> like when you get stock predictions that cherry pick their historical samples!
2023-08-23 20:37:25 +0200 <erisco> That's the trouble with axiomatic descriptions though isn't it. Doesn't tell you what, if anything, actually satisfies
2023-08-23 20:37:54 +0200 <EvanR> axiomatic? or do you mean the choice of sequence
2023-08-23 20:38:25 +0200 <erisco> I am imagining you are going to give an axiomatic meaning (what I was calling "definition") to limits on sequences
2023-08-23 20:38:54 +0200 <EvanR> go look at the definition of limit of a sequence (of rationals or whatever elements of a metric space)
2023-08-23 20:39:02 +0200 <EvanR> it's not an axiom
2023-08-23 20:39:08 +0200 <erisco> then you're left with trying to prove for a particular sequence what the limit is
2023-08-23 20:39:15 +0200 <EvanR> what it means it up to you, that's semantics
2023-08-23 20:39:30 +0200 <dolio> One of the definitions of reals (based on sets) would more naturally incorporate the ->0 example.
2023-08-23 20:39:53 +0200 <EvanR> you prove things by among other things abbreviating things with defintions
2023-08-23 20:40:05 +0200 <dolio> Because it would involve whole sets of reals getting close to 0, rather than a sequence.
2023-08-23 20:40:40 +0200 <EvanR> yeah there are multiple ways to define real numbers
2023-08-23 20:40:49 +0200 <erisco> EvanR, wikipedia is saying "x is the limit of the sequence s iff forall ..."
2023-08-23 20:40:56 +0200 <erisco> if this is not axiomatic I don't know what is
2023-08-23 20:41:30 +0200 <dolio> However, if you dig into the details, there is additional information required about the sets that is analogous to particular sequences.
2023-08-23 20:41:31 +0200 <mauke> a definition?
2023-08-23 20:41:33 +0200 <EvanR> take everything on the right side of iff, and any time you have that, you can call that information "a limit"
2023-08-23 20:41:44 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 244 seconds)
2023-08-23 20:41:58 +0200 <EvanR> it's like defining a function in haskell, so you can reuse the code without repeating it
2023-08-23 20:42:13 +0200 <EvanR> axioms are like new laws of logic that give you things out of the blue
2023-08-23 20:43:10 +0200 <EvanR> or like defining an ADT
2023-08-23 20:43:26 +0200 <erisco> okay, I just don't see the terminology the same way, but that's besides the point
2023-08-23 20:44:44 +0200 <ncf> definitions are not axioms; axioms are precisely statements without definitions (under the proofs-as-programs paradigm)
2023-08-23 20:46:28 +0200 <ski> ddellacosta : perhaps "" by Andrej Bauer in 2008-08-13 at <https://math.andrej.com/2008/08/13/intuitionistic-mathematics-for-physics/> and "The Arithmetic Hierarchy" by XOR's Hammer in 2016-05-14 at <https://xorshammer.com/2016/05/14/the-arithmetic-hierarchy-meets-the-real-world/> could be interesting
2023-08-23 20:46:39 +0200 <EvanR> as an example, I defined integers as either Z or, given any integer n, S n. Ok. And then I can add an axiom: there exists an infinite integer. But don't tell you how to get it
2023-08-23 20:46:51 +0200 <ski> ("Practical Foundations of Mathematics" by Paul Taylor in 1999 at <https://paultaylor.eu/~pt/prafm/> is also an interesting book ..)
2023-08-23 20:47:32 +0200 <ski> shapr : where did you give the talk ? is there any recording ?
2023-08-23 20:47:44 +0200 <erisco> when I say "definition" I just mean the expression of the meaning for a particular term, so the definition of "limit" is whatever expresses the meaning of the term "limit"
2023-08-23 20:48:16 +0200 <EvanR> well, that's annoying because limits are defined as something. Not what you're saying, the deep meaning or anything
2023-08-23 20:48:27 +0200 <erisco> if that expression is a quantified logical proposition, a statement about what must hold for an object to be considered a limit, I am going to say that is an axiomatic definition for limits
2023-08-23 20:48:47 +0200 <ncf> mathematicians like to give words meaning using "iff"
2023-08-23 20:48:48 +0200 <erisco> and if someone hates my use of terminology, I don't apologise :P
2023-08-23 20:48:58 +0200 <EvanR> it helps to be on the same page
2023-08-23 20:49:03 +0200 <ncf> you should interpret that iff as an equal sign, and then interpret that equal sign as a :=
2023-08-23 20:49:15 +0200 <EvanR> redefining terminology, of definition no doubt, isn't helping anyone
2023-08-23 20:49:19 +0200 <EvanR> noless
2023-08-23 20:49:21 +0200 <dolio> Well, sometimes it's not the definition, too. :)
2023-08-23 20:49:53 +0200 <EvanR> but as long as we get to the same destination, redefine things as you will
2023-08-23 20:52:16 +0200 <EvanR> the definition of limit of a sequence (of things with metric space powers) is a definition is the same sense as haskell when you use let. The RHS of the = can be substituted wherever the short name is used elsewhere
2023-08-23 20:52:29 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 248 seconds)
2023-08-23 20:52:36 +0200 <EvanR> or vice versa
2023-08-23 20:52:56 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2023-08-23 20:53:10 +0200 <ski> EvanR : another view of axioms are that they are interfaces. starting from group axioms, you can prove things. then, if anyone can instantiate the group axioms with a constructed model (aka a group), then the proved things holds for it
2023-08-23 20:53:22 +0200justsomeguy(~justsomeg@user/justsomeguy)
2023-08-23 20:54:09 +0200 <EvanR> oh yeah, that is how they present the axiomatic reals. Here is the interface. Watch as we construct an example implementation
2023-08-23 20:55:45 +0200 <EvanR> something they struggle to do with axiomatic quantum field theory, according to nlab
2023-08-23 20:55:47 +0200 <ski> ncf : "mathematicians like to give words meaning using \"iff\"" .. unfortunately, they also like writing "if" in definitions, when they mean "if and only if". (this can be seen as an inductive definition (or a definition of a predicate in Prolog) .. anything that can *not* be derived about the concept, using the "if" statement, is assumed to not hold (least model))
2023-08-23 20:56:20 +0200ski's not fond of using `:=', really ..
2023-08-23 20:57:16 +0200 <erisco> ski, yes, that is basically the translation between how I prefer to think about it... I'd be saying "assume l is a limit" and proceeding. Would then "assume l is a limit" be the axiom, otherwise speaking?
2023-08-23 20:58:21 +0200 <EvanR> you're trying to make it more mysterious than it is, you can always unpack the definition of l-is-the-limit-of-s
2023-08-23 20:58:47 +0200 <erisco> nah I think "axiom" is made more mysterious than it is :P
2023-08-23 20:58:53 +0200 <EvanR> where the interface version would be opaque at best
2023-08-23 20:59:03 +0200 <EvanR> you can only access what's in the interface
2023-08-23 21:01:22 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Read error: Connection reset by peer)
2023-08-23 21:02:18 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua)
2023-08-23 21:04:02 +0200segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Quit: segfaultfizzbuzz)
2023-08-23 21:05:31 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-08-23 21:06:33 +0200 <erisco> so anyways, you've got some condition, you have to prove it holds, and that raises the question of how you do that
2023-08-23 21:07:14 +0200 <erisco> so feels to me like you've punted the problem to one of proof methods... now how do you prove something is the limit of a sequence? then you get taught all these strategies based on how the sequence is defined
2023-08-23 21:07:17 +0200 <ski> there's more or less two different senses of "axiom". the original is "self-evident truth". related is "postulate" which is regarded as not as self-evident, but still needed as a basic building block to reason. the model here is "Elementa" by Euclid. then there's the more modern view of "axiom" in which you start to develop a theory (not historically, but in how you conceptually present it) by starting from
2023-08-23 21:07:23 +0200 <ski> a number of "undefined symbols" (like constants, functions, relations), and a number of "unproved propositions", the "axioms" (basic statements involving the undefined symbols, relating them to each other. ideally, there would be exactly one interpretation/model of the symbols which make the axioms true. but commonly there's more than one, iow we have some unintended interpretations. sometimes the
2023-08-23 21:07:29 +0200 <ski> multiplicity of interpretations is the point, e.g group theory, ring theory, lattices, ...)
2023-08-23 21:08:09 +0200 <ski> in this latter sense, "axiom" is more or less the same as "hypothesis" or "assumption", with the only practical different that the scope of it is rather broad, rather than only scoping over a small segment
2023-08-23 21:10:02 +0200 <EvanR> erisco, i take it you get the definition of limit of a sequence now. If not the definition of a definition
2023-08-23 21:10:12 +0200 <EvanR> it's a pretty neat definition
2023-08-23 21:10:16 +0200 <shapr> ski: I think solomon made a recording, I'm not sure if it was uploaded anywhere
2023-08-23 21:11:51 +0200 <ski> (btw, you can see an implementation of programming language as an "intended model", and you can view other analyzers, e.g. cross-referencers (e.g. building a dependency graph for modules or functions/procedures/predicates), linters, doc-extracters, &c. as "unintended interpretations" .. leaving the possibility for "unintended interpretations" can be very useful. this is also related to "shallow vs. deep
2023-08-23 21:11:57 +0200 <ski> embedding" of EDSLs .. if you implement a mini-language as a data-structure, you can interpret that tree and extract other information from it than just "running" it in the usual way (i always mix up which is which of deep and shallow, though .. they correspond to inductive vs. coinductive, more or less))
2023-08-23 21:12:19 +0200 <ski> shapr : ah. would be interested to see it
2023-08-23 21:13:10 +0200skihas to leave in a moment, would otherwise like to engage more in the conversation
2023-08-23 21:16:40 +0200 <erisco> for me it is just, in general conversation, there is a fungibility between axioms, hypotheses, conditions, yadda, yadda, though I recognise they can be ontologically distinct and relevantly so when being particular about a certain formal system
2023-08-23 21:20:30 +0200p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1)
2023-08-23 21:20:44 +0200ski(~ski@83.248.72.178) (Ping timeout: 248 seconds)
2023-08-23 21:21:01 +0200 <EvanR> it's just hard to get anywhere if you can't make definitions along the way, without them being construed as something more
2023-08-23 21:21:37 +0200 <EvanR> have you ever seen a student or someone disagree with an argument because they say the definition "is wrong" xD
2023-08-23 21:21:46 +0200 <EvanR> before you even get to the point
2023-08-23 21:22:04 +0200 <erisco> What I am trying to grok about limits, and derivatives, is something like grokking integers versus evenness. I can construct the integers. In the mind they feel like a tangible thing. Evenness, on the other hand, is a property an integer can have. Turns out I can construct exactly the even integers too, but nonetheless, evenness itself sits in the mind like a property of a thing
2023-08-23 21:22:56 +0200 <EvanR> are you even integers just respellings of the first thing
2023-08-23 21:22:58 +0200 <EvanR> your
2023-08-23 21:23:23 +0200 <EvanR> without any other definitions they're equivalent
2023-08-23 21:23:28 +0200 <erisco> are you hinting at a bijection? yes sure
2023-08-23 21:33:18 +0200 <erisco> So I think where I am at, for this sequence perspective, the question starts at what is meant by sequence. Only from there can you then make sense of limits
2023-08-23 21:33:38 +0200 <EvanR> sure, ok, check the definition of sequence
2023-08-23 21:33:54 +0200 <EvanR> or pick one to your liking
2023-08-23 21:34:03 +0200 <erisco> there are many, is my point
2023-08-23 21:34:18 +0200 <dolio> It's a function from the natural numbers.
2023-08-23 21:34:22 +0200 <mauke> isn't a sequence basically just a mapping from ... that
2023-08-23 21:34:24 +0200 <EvanR> do they deviate from one another in any meaningful way
2023-08-23 21:34:51 +0200 <erisco> I should think so, yes
2023-08-23 21:34:57 +0200 <dolio> It's actually nicer for real numbers if you say it's a function from the rationals to an approximation with a radius given by that rational.
2023-08-23 21:36:00 +0200 <dolio> But it still works if you say it's a function from the naturals to an approximation with radius 1/2^n or something.
2023-08-23 21:36:17 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2)
2023-08-23 21:36:21 +0200mima(~mmh@62.216.211.151)
2023-08-23 21:37:11 +0200 <EvanR> if alice's definition of sequence is function from the naturals, and bob's definition is a haskell data structure, and you can map losslessly between them, then cool we can move on xD
2023-08-23 21:44:31 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 245 seconds)
2023-08-23 21:48:41 +0200fweht(uid404746@id-404746.lymington.irccloud.com)
2023-08-23 21:51:01 +0200 <dolio> Yeah, you can also define them as streams of approximants, like `data Stream = Cons Q Stream`.
2023-08-23 21:54:37 +0200ft(~ft@p508db658.dip0.t-ipconnect.de)
2023-08-23 22:00:55 +0200Square2(~Square4@user/square)
2023-08-23 22:02:53 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-08-23 22:03:11 +0200 <dsal> I don't know how to use cabal. How do I get a repl with the test suite in scope?
2023-08-23 22:03:56 +0200gdown(~gavin@h69-11-148-248.kndrid.broadband.dynamic.tds.net)
2023-08-23 22:05:09 +0200bratwurst(~blaadsfa@S010610561191f5d6.lb.shawcable.net) (Ping timeout: 250 seconds)
2023-08-23 22:07:45 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-08-23 22:09:32 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2023-08-23 22:10:08 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2023-08-23 22:10:57 +0200 <geekosaur> cabal repl test:testname?
2023-08-23 22:11:43 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 246 seconds)
2023-08-23 22:16:21 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-08-23 22:16:22 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-08-23 22:16:22 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-08-23 22:24:19 +0200 <dsal> Oh, it was :spec not :test-suite
2023-08-23 22:27:24 +0200justsomeguy(~justsomeg@user/justsomeguy)
2023-08-23 22:31:41 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-23 22:36:50 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2023-08-23 22:37:54 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-23 22:37:58 +0200pavonia(~user@user/siracusa)
2023-08-23 22:42:50 +0200Pickchea(~private@user/pickchea)
2023-08-23 22:54:57 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 258 seconds)
2023-08-23 22:57:44 +0200 <justsomeguy> What do I have to do to use this package with stack? Do I need to build it, or can I just pull it from stackage? https://github.com/brendanhay/amazonka
2023-08-23 22:58:00 +0200sm(~sm@plaintextaccounting/sm)
2023-08-23 22:58:20 +0200 <geekosaur> you would be building it either way; stack doesn't have binary provisioning or cache
2023-08-23 22:58:31 +0200 <geekosaur> I expect you have to put it in extra-deps
2023-08-23 22:58:50 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-08-23 22:59:35 +0200 <geekosaur> either via hackage (it was recently released) or via git commit references; I'd go with hackage extra-deps before trying to use git
2023-08-23 23:00:53 +0200 <geekosaur> oh, its hackage page claims stackage has it, but I don't know if it's in the latest LTS
2023-08-23 23:02:19 +0200 <geekosaur> not in the LTS, but is in https://www.stackage.org/nightly-2023-08-23 which is on ghc 9.6
2023-08-23 23:04:20 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-08-23 23:10:15 +0200 <justsomeguy> Ok, so I have to build it from source, and then I can add the resulting tarball to extra-deps?
2023-08-23 23:10:47 +0200 <justsomeguy> Maybe this is a bad idea.
2023-08-23 23:11:26 +0200jonathan(~jonathan@193.203.13.91) (Ping timeout: 258 seconds)
2023-08-23 23:11:33 +0200 <geekosaur> no?
2023-08-23 23:11:46 +0200 <geekosaur> just add it to extra-deps, stack will handle fetching and building
2023-08-23 23:11:54 +0200finsternis(~X@23.226.237.192)
2023-08-23 23:12:02 +0200 <geekosaur> or use the nightly LTS and that way you don't need to add it to extra-deps
2023-08-23 23:12:24 +0200 <justsomeguy> Ahh, ok, that's much simpler.
2023-08-23 23:12:38 +0200justsomeguywas dreading setting up nix and cabal to build this library
2023-08-23 23:13:15 +0200ulysses4ever(~artem@192.31.0.5)
2023-08-23 23:13:53 +0200artem(~artem@192.31.0.5) (Read error: Connection reset by peer)
2023-08-23 23:14:22 +0200 <geekosaur> the whole point of stack and modern cabal is to manage this stuff for you
2023-08-23 23:14:31 +0200ulysses4ever(~artem@192.31.0.5) (Read error: Connection reset by peer)
2023-08-23 23:14:43 +0200ulysses4ever(~artem@192.31.0.5)
2023-08-23 23:14:43 +0200 <geekosaur> so you just say "I need this library" somewhere and they fetch and build it
2023-08-23 23:19:08 +0200segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
2023-08-23 23:19:26 +0200 <justsomeguy> When I saw nix in the readme it wasn't clear to me that I can use it from stack or cabal alone.
2023-08-23 23:20:26 +0200gdown(~gavin@h69-11-148-248.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection)
2023-08-23 23:21:49 +0200 <geekosaur> once it was released on hackage that version should work without nix
2023-08-23 23:22:00 +0200 <geekosaur> no promises about using it from git
2023-08-23 23:22:17 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-23 23:26:06 +0200dhil(~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 252 seconds)
2023-08-23 23:27:10 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 245 seconds)
2023-08-23 23:31:36 +0200ulysses4ever(~artem@192.31.0.5) (Ping timeout: 245 seconds)
2023-08-23 23:32:50 +0200ulysses4ever(~artem@73.145.242.113)
2023-08-23 23:33:01 +0200sm(~sm@plaintextaccounting/sm)
2023-08-23 23:33:13 +0200sm(~sm@plaintextaccounting/sm) (Client Quit)
2023-08-23 23:34:27 +0200 <justsomeguy> Does this look right to you? https://github.com/kingparra/aws-for-jobs/tree/master/03_-_ec2_basics/deploy-an-instance/deploy-hs
2023-08-23 23:36:26 +0200jinsun_(~jinsun@user/jinsun)
2023-08-23 23:36:27 +0200jinsunGuest9199
2023-08-23 23:36:27 +0200Guest9199(~jinsun@user/jinsun) (Killed (silver.libera.chat (Nickname regained by services)))
2023-08-23 23:36:27 +0200jinsun_jinsun
2023-08-23 23:36:33 +0200ulysses4ever(~artem@73.145.242.113) (Read error: Connection reset by peer)
2023-08-23 23:38:10 +0200 <justsomeguy> Aha, I think that now stack is able to retrieve the package, but I'm getting build errors since I'm missing things like gcc-c++ and friends.
2023-08-23 23:38:26 +0200 <justsomeguy> Progress, at least. I can track down the dependencies.
2023-08-23 23:38:50 +0200ulysses4ever(~artem@192.31.0.5)
2023-08-23 23:40:10 +0200 <justsomeguy> Thanks for answering my dumb questions. I'm still figuring out the basics of stack, cabal, and nix.
2023-08-23 23:40:25 +0200 <Rembane> shapr: That sounds a bit disappointing. VPS hosts should just be good. I know I have high expectations. I got stuff to work though. Not running on unstable is a good start.
2023-08-23 23:40:38 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 256 seconds)
2023-08-23 23:41:15 +0200artem(~artem@73.145.242.113)
2023-08-23 23:41:40 +0200artem(~artem@73.145.242.113) (Read error: Connection reset by peer)
2023-08-23 23:42:17 +0200sm(~sm@plaintextaccounting/sm)
2023-08-23 23:42:22 +0200caryhartline(~caryhartl@168.182.58.169)
2023-08-23 23:42:33 +0200artem(~artem@2601:408:c405:79c5:f474:e3f8:9806:671)
2023-08-23 23:43:28 +0200ulysses4ever(~artem@192.31.0.5) (Ping timeout: 256 seconds)
2023-08-23 23:43:40 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-23 23:45:50 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-08-23 23:45:50 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-08-23 23:45:50 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-08-23 23:45:50 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 246 seconds)
2023-08-23 23:47:42 +0200ulysses4ever(~artem@c-73-103-90-145.hsd1.in.comcast.net)
2023-08-23 23:47:58 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-08-23 23:49:43 +0200ulysses4ever(~artem@c-73-103-90-145.hsd1.in.comcast.net) (Read error: Connection reset by peer)
2023-08-23 23:50:00 +0200artem(~artem@2601:408:c405:79c5:f474:e3f8:9806:671) (Read error: Connection reset by peer)
2023-08-23 23:50:25 +0200ulysses4ever(~artem@73.145.242.113)
2023-08-23 23:52:23 +0200ulysses4ever(~artem@73.145.242.113) (Read error: Connection reset by peer)
2023-08-23 23:52:27 +0200artem(~artem@73.145.242.113)
2023-08-23 23:56:36 +0200artem(~artem@73.145.242.113) (Ping timeout: 245 seconds)
2023-08-23 23:56:40 +0200ulysses4ever(~artem@73.145.242.113)
2023-08-23 23:56:55 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
2023-08-23 23:57:07 +0200ulysses4ever(~artem@73.145.242.113) (Read error: Connection reset by peer)
2023-08-23 23:57:12 +0200artem(~artem@73.145.242.113)
2023-08-23 23:57:38 +0200acidjnk(~acidjnk@p200300d6e7072f05a8abaa2c9ff73443.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)