Home liberachat/#haskell: Logs Calendar

Logs on 2024-03-29 (liberachat/#haskell)

00:05:33 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
00:07:41 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 240 seconds)
00:14:52 × rvalue quits (~rvalue@user/rvalue) (Ping timeout: 268 seconds)
00:14:59 × mizlan quits (~mizlan@c-69-181-82-43.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
00:15:37 EvanR joins (~EvanR@user/evanr)
00:15:55 × xff0x quits (~xff0x@2405:6580:b080:900:5b9d:a4d:114b:3b13) (Ping timeout: 246 seconds)
00:17:40 × acidjnk_new quits (~acidjnk@p200300d6e714dc9271191991819977af.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
00:24:13 rvalue joins (~rvalue@user/rvalue)
00:24:22 × gmg quits (~user@user/gehmehgeh) (Ping timeout: 260 seconds)
00:24:28 gehmehgeh joins (~user@user/gehmehgeh)
00:27:10 xff0x joins (~xff0x@2405:6580:b080:900:5b9d:a4d:114b:3b13)
00:29:45 mizlan joins (~mizlan@c-69-181-82-43.hsd1.ca.comcast.net)
00:30:47 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
00:32:45 pavonia joins (~user@user/siracusa)
00:38:27 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
00:49:53 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
00:50:26 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
00:53:06 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds)
00:55:11 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 264 seconds)
00:59:20 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
01:02:58 × mizlan quits (~mizlan@c-69-181-82-43.hsd1.ca.comcast.net) (Ping timeout: 268 seconds)
01:13:42 <koala_man> geekosaur: welp, my gitlab account request was rejected so I can't file those cross-compilation bugs
01:14:07 <geekosaur> rejected?
01:14:34 <geekosaur> ben was just clearing out a bunch of spam accounts, maybe he overdid it slightly
01:14:55 mizlan joins (~mizlan@c-69-181-82-43.hsd1.ca.comcast.net)
01:15:58 <Hecate> hey koala_man 👋
01:16:31 <geekosaur> I'd apply again, especially if your account name included some non-ASCII
01:18:58 <haskellbridge> <s​m> not easy to be a ghc contributor!
01:24:35 <geekosaur> not easy to deal with spammers trying anything they can think of to roost in our project 😞
01:28:25 × mei quits (~mei@user/mei) (Remote host closed the connection)
01:30:51 mei joins (~mei@user/mei)
01:34:38 mud joins (~mud@user/kadoban)
01:39:29 × qqq quits (~qqq@92.43.167.61) (Ping timeout: 272 seconds)
01:42:46 qqq joins (~qqq@92.43.167.61)
01:48:00 <haskellbridge> <s​m> what's up with that.. is it because ghc is on gitlab ? I don't see this on github
01:48:36 <haskellbridge> <s​m> or because they are managing their own gitlab ?
01:49:26 <geekosaur> it seems li,ke they din't (or possibly can't) abuse github that way, but they used to be able to get a github account, use it to access our gitlab instance, and get auto-approved
01:49:37 <geekosaur> they now go into the approval queue
01:50:15 <geekosaur> anyway yes, gitlab works differently from github here
01:58:11 igemnace joins (~ian@user/igemnace)
01:58:28 × xff0x quits (~xff0x@2405:6580:b080:900:5b9d:a4d:114b:3b13) (Ping timeout: 268 seconds)
02:03:30 × Lycurgus quits (~georg@user/Lycurgus) (Quit: leaving)
02:07:37 × euleritian quits (~euleritia@dynamic-176-000-155-070.176.0.pool.telefonica.de) (Ping timeout: 256 seconds)
02:08:23 euleritian joins (~euleritia@dynamic-176-005-137-111.176.5.pool.telefonica.de)
02:14:46 × mud quits (~mud@user/kadoban) (Quit: quit)
02:20:01 × otto_s quits (~user@p5b044569.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
02:21:06 otto_s joins (~user@p5de2f9c4.dip0.t-ipconnect.de)
02:27:16 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
02:33:15 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
02:36:29 × mizlan quits (~mizlan@c-69-181-82-43.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
02:45:09 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
02:50:11 × quintasan quits (~quassel@quintasan.pl) ()
03:08:25 parahola joins (~a@112.78.178.130)
03:10:47 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds)
03:14:50 sp1ff joins (~user@c-24-21-45-157.hsd1.wa.comcast.net)
03:37:17 × td_ quits (~td@i53870908.versanet.de) (Ping timeout: 256 seconds)
03:38:59 td_ joins (~td@i53870932.versanet.de)
03:40:39 Inst_ joins (~Inst@120.244.192.126)
03:43:18 × Inst quits (~Inst@120.244.192.126) (Ping timeout: 268 seconds)
03:51:44 dbaoty joins (~dbaoty@tptn-04-0838.dsl.iowatelecom.net)
03:59:18 × Inst_ quits (~Inst@120.244.192.126) (Remote host closed the connection)
03:59:26 × aniketd quits (32aa4844cd@2a03:6000:1812:100::dcb) (Read error: Connection reset by peer)
03:59:34 aniketd joins (32aa4844cd@2a03:6000:1812:100::dcb)
03:59:35 × Franciman quits (~Franciman@mx1.fracta.dev) (Read error: Connection reset by peer)
03:59:38 × bsima1 quits (9d7e39c8ad@2a03:6000:1812:100::dd) (Write error: Connection reset by peer)
03:59:38 Inst_ joins (~Inst@120.244.192.126)
03:59:40 × ursa-major quits (114efe6c39@2a03:6000:1812:100::11f3) (Read error: Connection reset by peer)
03:59:44 × raghavgururajan quits (ea769b8000@user/raghavgururajan) (Read error: Connection reset by peer)
03:59:46 bsima1 joins (9d7e39c8ad@2a03:6000:1812:100::dd)
03:59:47 × jakzale quits (6291399afa@user/jakzale) (Read error: Connection reset by peer)
03:59:47 Franciman joins (~Franciman@mx1.fracta.dev)
03:59:50 ursa-major joins (114efe6c39@2a03:6000:1812:100::11f3)
03:59:50 raghavgururajan joins (ea769b8000@user/raghavgururajan)
03:59:51 × shreyasminocha quits (51fdc93eda@user/shreyasminocha) (Read error: Connection reset by peer)
03:59:55 jakzale joins (6291399afa@user/jakzale)
03:59:57 × Pent quits (sid313808@id-313808.lymington.irccloud.com) (Ping timeout: 256 seconds)
03:59:57 × hook54321 quits (sid149355@user/hook54321) (Ping timeout: 256 seconds)
03:59:57 × jakesyl_____ quits (sid56879@id-56879.hampstead.irccloud.com) (Ping timeout: 256 seconds)
03:59:59 shreyasminocha joins (51fdc93eda@user/shreyasminocha)
04:00:31 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Ping timeout: 256 seconds)
04:00:57 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
04:00:59 × turlando quits (~turlando@user/turlando) (Quit: No Ping reply in 180 seconds.)
04:01:18 jakesyl_____ joins (sid56879@id-56879.hampstead.irccloud.com)
04:01:23 Pent joins (sid313808@id-313808.lymington.irccloud.com)
04:02:13 × Pozyomka quits (~pyon@user/pyon) (Ping timeout: 256 seconds)
04:02:13 turlando joins (~turlando@user/turlando)
04:02:20 hook54321 joins (sid149355@user/hook54321)
04:03:10 Pozyomka joins (~pyon@user/pyon)
04:03:55 × cross quits (~cross@spitfire.i.gajendra.net) (Ping timeout: 256 seconds)
04:05:01 cross joins (~cross@spitfire.i.gajendra.net)
04:24:28 dbaoty parts (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) ()
04:57:58 aforemny_ joins (~aforemny@i59F516CE.versanet.de)
04:59:23 × aforemny quits (~aforemny@i59F516F8.versanet.de) (Ping timeout: 264 seconds)
05:01:45 × parahola quits (~a@112.78.178.130) (Remote host closed the connection)
05:16:47 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
05:21:23 × qqq quits (~qqq@92.43.167.61) (Quit: leaving)
05:23:41 × poscat quits (~poscat@user/poscat) (Quit: Bye)
05:27:37 poscat joins (~poscat@user/poscat)
05:46:03 × notzmv quits (~daniel@user/notzmv) (Ping timeout: 255 seconds)
05:49:56 michalz joins (~michalz@185.246.207.221)
05:58:29 notzmv joins (~daniel@user/notzmv)
06:14:44 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
06:18:02 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:29:42 × Maeda quits (~Maeda@91-161-10-149.subs.proxad.net) (Ping timeout: 255 seconds)
06:31:39 × phma quits (~phma@host-67-44-208-21.hnremote.net) (Ping timeout: 268 seconds)
06:32:09 phma joins (~phma@host-67-44-208-48.hnremote.net)
06:34:29 × son0p quits (~ff@167.0.169.98) (Ping timeout: 240 seconds)
06:50:43 Sachin joins (~Sachin@103.134.250.242)
06:54:29 <Sachin> hi
06:57:05 × Sachin quits (~Sachin@103.134.250.242) (Quit: Client closed)
07:40:05 <hololeap> I see a Binary instance for Data.Array.Array, but not sure where to find something similar for Vector
07:42:36 × euleritian quits (~euleritia@dynamic-176-005-137-111.176.5.pool.telefonica.de) (Ping timeout: 255 seconds)
07:43:48 vpan joins (~vpan@212.117.1.172)
07:48:57 × foul_owl quits (~kerry@174-21-71-155.tukw.qwest.net) (Ping timeout: 252 seconds)
07:53:47 <lyxia> hololeap: https://hackage.haskell.org/package/vector-binary-instances ?
07:54:55 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:55:21 <hololeap> thx
08:00:16 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
08:02:57 foul_owl joins (~kerry@185.216.231.179)
08:03:29 × tzh quits (~tzh@c-73-164-206-160.hsd1.or.comcast.net) (Quit: zzz)
08:14:27 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
08:16:13 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
08:17:36 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
08:18:49 akegalj joins (~akegalj@141-136-184-96.dsl.iskon.hr)
08:19:34 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 268 seconds)
08:38:33 × igemnace quits (~ian@user/igemnace) (Read error: Connection reset by peer)
08:40:09 × mei quits (~mei@user/mei) (Remote host closed the connection)
08:42:10 mei joins (~mei@user/mei)
08:53:01 son0p joins (~ff@152.203.72.114)
08:54:59 × tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection)
08:56:02 acidjnk_new joins (~acidjnk@p200300d6e714dc05100e436667b532df.dip0.t-ipconnect.de)
08:56:06 igemnace joins (~ian@user/igemnace)
08:58:31 × raym quits (~ray@user/raym) (Ping timeout: 260 seconds)
08:59:48 wootehfoot joins (~wootehfoo@user/wootehfoot)
09:01:46 puke joins (~puke@user/puke)
09:01:59 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
09:02:01 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
09:02:01 tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
09:04:31 raym joins (~ray@user/raym)
09:05:24 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
09:17:31 × econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
09:31:06 × Square2 quits (~Square@user/square) (Ping timeout: 268 seconds)
09:34:15 <Arsen> https://paste.sr.ht/~arsen/c61b0c595c9a100f2b4834d2064c8216eb4700bb emacs' haskell-mode indents this data declaration like this. is this the correct convention for wrapping record syntax? is it haskell-mode screwing up?
09:37:42 <ncf> what's a correct convention, but also this looks mighty screwed up to me
09:38:24 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 252 seconds)
09:38:41 <Arsen> well, that makes it incorrect ;P
09:38:48 <Arsen> correct = looks not-screwed-up
09:40:58 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
09:43:20 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
09:43:39 gmg joins (~user@user/gehmehgeh)
09:44:00 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
09:44:43 gmg joins (~user@user/gehmehgeh)
09:47:31 <Arsen> ah, the error is mine! naturally
09:47:35 <Arsen> I had extranious commas
09:52:47 × phma quits (~phma@host-67-44-208-48.hnremote.net) (Quit: Konversation terminated!)
09:53:23 phma joins (phma@2001:5b0:215d:ba58:a61a:48b0:3e33:afde)
09:54:35 <phma> Is there a stack command that gets rid of old versions of GHC in ~/.stack/programs/?
09:55:24 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
09:56:04 × akegalj quits (~akegalj@141-136-184-96.dsl.iskon.hr) (Quit: leaving)
09:59:34 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
09:59:37 <phma> I have 16 GB in that directory.
10:06:50 mmhat joins (~mmh@p200300f1c706a268ee086bfffe095315.dip0.t-ipconnect.de)
10:07:01 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
10:07:35 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 260 seconds)
10:09:01 <cheater> can i have a list that has multiple different proxies inside? like [Proxy @Type1, Proxy @Type2, ...]
10:09:03 × EvanR quits (~EvanR@user/evanr) (Remote host closed the connection)
10:09:18 EvanR joins (~EvanR@user/evanr)
10:11:17 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
10:13:13 <cheater> guess not
10:13:23 <cheater> would like to figure out how..
10:17:02 <[Leary]> % data HList c f xs where { Nil :: HList c f '[]; (:~) :: c x => f x -> HList c f xs -> HList c f (x:xs) }; infixr 6 :~
10:17:02 <yahb2> <no output>
10:17:07 <[Leary]> % :t Proxy @Int :~ Proxy @Char :~ Nil
10:17:07 <yahb2> Proxy @Int :~ Proxy @Char :~ Nil ; :: (c Int, c Char) => HList c Proxy '[Int, Char]
10:21:44 <cheater> i'll need a few stiff shots before i can understand that
10:23:02 <cheater> hmm
10:23:20 <cheater> ok, i guess this makes sense
10:23:23 <cheater> thanks
10:23:44 <cheater> is HList like a widely used thing?
10:23:47 <cheater> does it come in some package?
10:24:23 × hiredman quits (~hiredman@frontier1.downey.family) (Ping timeout: 260 seconds)
10:28:29 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
10:32:48 <lyxia> it's a widely known concept but there is no standard implementation because there are so many trade offs
10:33:38 <lyxia> There's Hlist, vinyl, and a lot of the effect libraries also roll their own variant of it.
10:34:49 <lyxia> a lot of the libraries that "solve" the record problem are some opinionated API on top of hlists.
10:35:32 <c_wraith> Honestly, I don't really understand the use case for HList. vinyl at least names the fields so that they can be order-independent
10:37:42 × mei quits (~mei@user/mei) (Ping timeout: 268 seconds)
10:38:15 × myxokephale quits (~myxos@065-028-251-121.inf.spectrum.com) (Remote host closed the connection)
10:41:28 <cheater> hmm right
10:42:30 myxos joins (~myxos@065-028-251-121.inf.spectrum.com)
10:44:53 hiredman joins (~hiredman@frontier1.downey.family)
10:49:17 <[exa]> Is there something that would allow me to (invisibly and very naively) compare addresses of 2 things to detect if they are different? The use case would be something updating a structure (rewriting) and me detecting whether it (by any accident) changed. In STG it would literally be a comparison of 2 pointers, false positives are OK. I'd say this would be near `unsafeCoerce` but can't find anything
10:50:15 <c_wraith> https://hackage.haskell.org/package/base-4.19.1.0/docs/GHC-Exts.html#v:reallyUnsafePtrEquality
10:51:56 <[exa]> ok good I like the `reallyUnsafe` prefix
10:52:02 <[exa]> thanks!
10:54:29 MajorBiscuit joins (~MajorBisc@2001:1c00:31c:8400:3d3d:8874:417f:fbf3)
10:55:16 <c_wraith> I think it can have false negatives, but not false positives.
10:55:48 [exa] wondering which case is positive and which is negative
10:55:49 <c_wraith> ie, it won't evaluate its arguments, so two things that might be the same when evaluated would return 0#
10:56:12 <[exa]> yeah that's ok for me
10:56:35 × tt12310 quits (~tt1231@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) (Ping timeout: 260 seconds)
10:56:40 <[exa]> I'm planning to shallowly `seq` the stuff anyway before testing
10:56:50 <[exa]> perfect
10:56:53 <[exa]> tahnks a lot!
10:59:05 alexherbo2 joins (~alexherbo@2a02-8440-3440-0ba5-dd7f-585d-7bb4-4d97.rev.sfr.net)
10:59:40 wootehfoot joins (~wootehfoo@user/wootehfoot)
11:04:50 × tv quits (~tv@user/tv) (Ping timeout: 268 seconds)
11:10:48 <ski> @type Control.Parallel.pseq
11:10:49 <lambdabot> a -> b -> b
11:13:10 ski would indent the opening braces more than the data constructors, fwiw, Arsen
11:14:33 ncf . o O ( is haskell indented or discodered? )
11:17:47 tv joins (~tv@user/tv)
11:20:25 __monty__ joins (~toonn@user/toonn)
11:28:06 × MajorBiscuit quits (~MajorBisc@2001:1c00:31c:8400:3d3d:8874:417f:fbf3) (Ping timeout: 256 seconds)
11:29:43 <Arsen> ski: that seems to be the common theme yeah
11:37:01 MajorBiscuit joins (~MajorBisc@2001:1c00:31c:8400:3d3d:8874:417f:fbf3)
11:44:53 mechap joins (~mechap@user/mechap)
11:45:21 × mechap quits (~mechap@user/mechap) (Max SendQ exceeded)
11:45:46 mechap joins (~mechap@user/mechap)
12:08:42 × mechap quits (~mechap@user/mechap) (Quit: WeeChat 4.2.1)
12:11:05 gmg joins (~user@user/gehmehgeh)
12:11:31 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
12:13:22 sawilagar joins (~sawilagar@user/sawilagar)
12:16:32 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
12:20:41 xff0x joins (~xff0x@2405:6580:b080:900:2b2b:eb19:37de:d4bd)
12:20:43 magus3 joins (~Thunderbi@2804:14c:65e4:8219:4056:ec55:c70d:fa8b)
12:22:12 × megaTherion quits (~therion@unix.io) (Remote host closed the connection)
12:23:48 megaTherion joins (~therion@unix.io)
12:25:38 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
12:26:33 gmg joins (~user@user/gehmehgeh)
12:35:33 × MajorBiscuit quits (~MajorBisc@2001:1c00:31c:8400:3d3d:8874:417f:fbf3) (Ping timeout: 255 seconds)
12:41:12 × magus3 quits (~Thunderbi@2804:14c:65e4:8219:4056:ec55:c70d:fa8b) (Ping timeout: 256 seconds)
12:45:43 califax_ joins (~califax@user/califx)
12:45:54 × califax quits (~califax@user/califx) (Ping timeout: 260 seconds)
12:46:33 hallucinagen joins (~prodmezha@123.63.203.210)
12:46:58 califax_ is now known as califax
13:18:21 magus3 joins (~Thunderbi@189.6.35.139)
13:18:33 MajorBiscuit joins (~MajorBisc@2001:1c00:31c:8400:3d3d:8874:417f:fbf3)
13:20:19 × mmhat quits (~mmh@p200300f1c706a268ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
13:20:41 mmhat joins (~mmh@p200300f1c706a223ee086bfffe095315.dip0.t-ipconnect.de)
13:37:23 df joins (~ben@justworks.xyz)
13:39:03 × jrm quits (~jrm@user/jrm) (Quit: ciao)
13:40:34 jrm joins (~jrm@user/jrm)
13:58:49 × MajorBiscuit quits (~MajorBisc@2001:1c00:31c:8400:3d3d:8874:417f:fbf3) (Ping timeout: 255 seconds)
14:02:45 × __monty__ quits (~toonn@user/toonn) (Ping timeout: 256 seconds)
14:12:07 × magus3 quits (~Thunderbi@189.6.35.139) (Ping timeout: 260 seconds)
14:15:07 mei joins (~mei@user/mei)
14:20:10 MajorBiscuit joins (~MajorBisc@2001:1c00:31c:8400:3d3d:8874:417f:fbf3)
14:25:14 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Quit: _)
14:25:21 adanwan_ joins (~adanwan@gateway/tor-sasl/adanwan)
14:26:49 puke is now known as Guest6882
14:26:49 pyooque joins (~puke@user/puke)
14:26:49 × Guest6882 quits (~puke@user/puke) (Killed (copper.libera.chat (Nickname regained by services)))
14:26:49 pyooque is now known as puke
14:27:11 × puke quits (~puke@user/puke) (Max SendQ exceeded)
14:28:28 puke joins (~puke@user/puke)
14:29:52 × adanwan_ quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
14:30:10 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
14:35:13 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
14:35:31 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
14:39:39 × MajorBiscuit quits (~MajorBisc@2001:1c00:31c:8400:3d3d:8874:417f:fbf3) (Ping timeout: 260 seconds)
14:42:40 × alexherbo2 quits (~alexherbo@2a02-8440-3440-0ba5-dd7f-585d-7bb4-4d97.rev.sfr.net) (Remote host closed the connection)
14:43:02 alexherbo2 joins (~alexherbo@2a02-8440-3440-0ba5-bc04-e657-4516-5627.rev.sfr.net)
14:46:33 × alexherbo2 quits (~alexherbo@2a02-8440-3440-0ba5-bc04-e657-4516-5627.rev.sfr.net) (Remote host closed the connection)
14:49:45 × chiselfuse quits (~chiselfus@user/chiselfuse) (Remote host closed the connection)
14:50:45 chiselfuse joins (~chiselfus@user/chiselfuse)
14:54:55 ajr0d joins (~textual@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net)
14:55:17 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
14:58:37 × acidjnk_new quits (~acidjnk@p200300d6e714dc05100e436667b532df.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
15:12:23 L29Ah joins (~L29Ah@wikipedia/L29Ah)
15:13:58 Sgeo joins (~Sgeo@user/sgeo)
15:14:57 × ajr0d quits (~textual@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Quit: big sleep)
15:17:16 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
15:17:45 Guest58 joins (~Guest92@103.119.241.94)
15:18:11 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
15:18:47 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
15:19:49 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
15:20:06 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
15:20:55 × hallucinagen quits (~prodmezha@123.63.203.210) (Remote host closed the connection)
15:21:26 hallucinagen joins (~prodmezha@123.63.203.210)
15:25:42 × [Leary] quits (~Leary]@user/Leary/x-0910699) (Remote host closed the connection)
15:26:54 MajorBiscuit joins (~MajorBisc@2001:1c00:31c:8400:3d3d:8874:417f:fbf3)
15:31:37 × Guest58 quits (~Guest92@103.119.241.94) (Quit: Client closed)
15:33:20 billchenchina- joins (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe)
15:33:37 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 246 seconds)
15:33:41 × billchenchina- quits (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Read error: Connection reset by peer)
15:34:04 billchenchina- joins (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe)
15:41:19 ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net)
15:42:34 __monty__ joins (~toonn@user/toonn)
15:43:12 × ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Client Quit)
15:43:55 ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net)
15:50:33 × Rodney_ quits (~Rodney@176.254.244.83) (Ping timeout: 256 seconds)
15:51:59 sharan joins (~shara@c-24-60-154-223.hsd1.ma.comcast.net)
15:59:48 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
16:07:12 × igemnace quits (~ian@user/igemnace) (Quit: WeeChat 4.2.1)
16:09:46 Lycurgus joins (~georg@user/Lycurgus)
16:11:58 × ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Quit: big sleep)
16:13:04 ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net)
16:13:41 × MajorBiscuit quits (~MajorBisc@2001:1c00:31c:8400:3d3d:8874:417f:fbf3) (Quit: WeeChat 4.2.1)
16:14:10 × vpan quits (~vpan@212.117.1.172) (Quit: Leaving.)
16:14:36 fererrorocher joins (fererroroc@gateway/vpn/protonvpn/fererrorocher)
16:19:14 × ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Quit: big sleep)
16:19:47 ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net)
16:23:43 Rodney_ joins (~Rodney@176.254.244.83)
16:32:12 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:33:30 × ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Quit: big sleep)
16:33:56 ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net)
16:34:50 econo_ joins (uid147250@id-147250.tinside.irccloud.com)
16:35:52 tzh joins (~tzh@c-73-164-206-160.hsd1.or.comcast.net)
16:36:38 × ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Client Quit)
16:37:35 acidjnk_new joins (~acidjnk@p200300d6e714dc05100e436667b532df.dip0.t-ipconnect.de)
16:38:38 ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net)
16:40:25 euleritian joins (~euleritia@dynamic-176-004-216-230.176.4.pool.telefonica.de)
16:42:35 × ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Client Quit)
16:43:02 ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net)
16:47:20 × ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Client Quit)
16:50:01 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
16:55:43 × euleritian quits (~euleritia@dynamic-176-004-216-230.176.4.pool.telefonica.de) (Ping timeout: 268 seconds)
16:57:17 euleritian joins (~euleritia@dynamic-176-005-133-056.176.5.pool.telefonica.de)
16:58:18 zetef joins (~quassel@5.2.182.99)
16:59:31 wootehfoot joins (~wootehfoo@user/wootehfoot)
17:01:09 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 252 seconds)
17:01:53 ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net)
17:04:33 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
17:08:00 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
17:12:32 × ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Quit: big sleep)
17:12:43 × hallucinagen quits (~prodmezha@123.63.203.210) (Ping timeout: 260 seconds)
17:17:26 × Lycurgus quits (~georg@user/Lycurgus) (Quit: leaving)
17:18:07 <c_wraith> [exa]: I just realized what ski was talking about - that's a case where you need pseq instead of seq to guarantee the behavior you want.
17:23:56 × res0nat0r0844909 quits (~Fletch@falcon.whatbox.ca) (Ping timeout: 256 seconds)
17:25:28 × fedorafansuper quits (~fedorafan@user/fedorafan) (Remote host closed the connection)
17:25:40 × zetef quits (~quassel@5.2.182.99) (Ping timeout: 256 seconds)
17:26:09 fedorafan joins (~fedorafan@user/fedorafan)
17:27:02 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
17:27:36 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
17:28:37 ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net)
17:32:23 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 264 seconds)
17:32:46 <shapr> :t psq
17:32:47 <lambdabot> error: Variable not in scope: psq
17:32:49 <shapr> :t pseq
17:32:50 <lambdabot> error:
17:32:50 <lambdabot> • Variable not in scope: pseq
17:32:50 <lambdabot> • Perhaps you meant ‘seq’ (imported from Prelude)
17:33:12 × ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Client Quit)
17:36:27 × tomboy64 quits (~tomboy64@user/tomboy64) (Ping timeout: 272 seconds)
17:38:00 × rvalue quits (~rvalue@user/rvalue) (Ping timeout: 252 seconds)
17:40:37 tomboy64 joins (~tomboy64@user/tomboy64)
17:45:36 rvalue joins (~rvalue@user/rvalue)
17:45:48 <geekosaur> :t Control.Parallel.pseq -- I think?
17:45:49 <lambdabot> a -> b -> b
17:48:00 <c_wraith> shapr: the difference is that seq says "when you evaluate the result of this, both arguments will be evaluated". pseq says "when you evaluate the result of this, first the first argument will be evaluated, then the second argument"
17:48:25 <shapr> ah!
17:48:27 <shapr> thanks
17:48:44 <c_wraith> GHC has a lot of heuristics that make seq usually work correctly, but why rely on those when there is a different function that lets you specify exactly what you mean?
17:49:27 <c_wraith> (I really wish pseq didn't need a weird import)
17:51:27 × hueso quits (~root@user/hueso) (Ping timeout: 260 seconds)
18:00:15 res0nat0r0844909 joins (~Fletch@falcon.whatbox.ca)
18:08:29 hueso joins (~root@user/hueso)
18:09:46 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:10:01 × df quits (~ben@justworks.xyz) (Ping timeout: 272 seconds)
18:10:22 × destituion quits (~destituio@2a02:2121:655:c95b:ba41:7897:d01f:5f0f) (Ping timeout: 255 seconds)
18:10:55 destituion joins (~destituio@2001:4644:c37:0:6086:64f4:a213:b80d)
18:13:40 ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net)
18:15:09 sm_ joins (~Thunderbi@plaintextaccounting/sm)
18:19:19 df joins (~ben@justworks.xyz)
18:19:38 califax_ joins (~califax@user/califx)
18:20:30 × califax quits (~califax@user/califx) (Ping timeout: 260 seconds)
18:20:50 califax_ is now known as califax
18:21:58 × califax quits (~califax@user/califx) (Remote host closed the connection)
18:23:34 califax joins (~califax@user/califx)
18:24:42 × _d0t quits (~{-d0t-}@user/-d0t-/x-7915216) (Remote host closed the connection)
18:25:32 _d0t joins (~{-d0t-}@user/-d0t-/x-7915216)
18:31:19 × dsrt^ quits (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Remote host closed the connection)
18:33:35 ddellacosta joins (~ddellacos@ool-44c73d16.dyn.optonline.net)
18:34:55 tt12310 joins (~tt1231@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com)
18:36:49 arjun joins (~arjun@user/arjun)
18:37:49 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
18:40:45 × califax quits (~califax@user/califx) (Remote host closed the connection)
18:41:43 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
18:42:37 califax joins (~califax@user/califx)
18:43:23 × mmhat quits (~mmh@p200300f1c706a223ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.2.1)
18:45:05 × mei quits (~mei@user/mei) (Quit: mei)
18:46:28 ElectroSpecter joins (~textual@2601:646:401:6c30:696a:9dd4:81cb:4f83)
18:47:16 × califax quits (~califax@user/califx) (Remote host closed the connection)
18:47:37 califax joins (~califax@user/califx)
18:48:14 mei joins (~mei@user/mei)
18:50:25 × ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Quit: big sleep)
18:52:34 magus3 joins (~Thunderbi@189.6.35.139)
18:54:34 ph88 joins (~ph88@ip5b403f30.dynamic.kabel-deutschland.de)
18:55:09 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
18:55:20 <ph88> https://play.haskell.org/saved/SNDBgTcs does the function f already exist somewhere? or is there a similar function? how could one describe what f is doing?
18:57:57 <ncf> f = foldMap pure
18:58:29 × sawilagar quits (~sawilagar@user/sawilagar) (Remote host closed the connection)
18:59:03 <mauke> are there non-semigroup monoids?
18:59:03 × gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer)
18:59:09 <ncf> no
18:59:11 sawilagar joins (~sawilagar@user/sawilagar)
18:59:22 <ncf> hmm... does this say that a Foldable is universal among functors valued in monoids or something
18:59:48 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Remote host closed the connection)
19:00:11 <ncf> well, it's not valued in monoids itself
19:00:12 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
19:01:36 <ncf> an equivalent function would be (Foldable w, Alternative v) => w a -> v a
19:02:51 <ncf> (getAlt . foldMap (Alt . pure))
19:03:19 <ncf> this seems to come up often
19:03:51 <ncf> (as asum . fmap pure , which does the same thing)
19:05:04 <ph88> does this "pattern" have a name? perhaps something out of category theory or so? from one functor to another functor ?
19:05:05 gentauro joins (~gentauro@user/gentauro)
19:05:25 <ncf> well this says that there's a natural transformation from any foldable to any alternative
19:05:55 <ph88> cool thanks !
19:06:05 <ncf> so one level higher there's a natural transformation between the forgetful functor from Foldable to [Hask, Hask] to the forgetful functor from Alternative to [Hask, Hask]
19:06:30 <ncf> er no
19:06:46 <ncf> that makes no sense
19:07:10 <ph88> :D
19:11:02 × sawilagar quits (~sawilagar@user/sawilagar) (Remote host closed the connection)
19:11:39 sawilagar joins (~sawilagar@user/sawilagar)
19:13:08 × sm_ quits (~Thunderbi@plaintextaccounting/sm) (Quit: sm_)
19:15:11 ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net)
19:20:08 target_i joins (~target_i@user/target-i/x-6023099)
19:21:42 × _________ quits (~nobody@user/noodly) (Quit: leaving)
19:22:02 × ElectroSpecter quits (~textual@2601:646:401:6c30:696a:9dd4:81cb:4f83) (Quit: Textual IRC Client: www.textualapp.com)
19:22:58 × magus3 quits (~Thunderbi@189.6.35.139) (Ping timeout: 256 seconds)
19:25:37 × forell quits (~forell@user/forell) (Quit: ZNC - https://znc.in)
19:26:54 forell joins (~forell@user/forell)
19:28:27 × xal quits (~xal@mx1.xal.systems) ()
19:28:39 _________ joins (~nobody@user/noodly)
19:29:16 × hueso quits (~root@user/hueso) (Ping timeout: 268 seconds)
19:38:07 Square2 joins (~Square@user/square)
19:39:15 × euleritian quits (~euleritia@dynamic-176-005-133-056.176.5.pool.telefonica.de) (Ping timeout: 260 seconds)
19:39:40 euleritian joins (~euleritia@dynamic-176-007-133-071.176.7.pool.telefonica.de)
19:40:35 zetef joins (~quassel@5.2.182.99)
19:41:23 hueso joins (~root@user/hueso)
19:43:24 × manwithluck quits (manwithluc@gateway/vpn/protonvpn/manwithluck) (Ping timeout: 252 seconds)
19:44:37 × Ttech quits (~adran@botters/adran) (Quit: Este é o fim.)
19:44:43 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:45:10 × sp1ff quits (~user@c-24-21-45-157.hsd1.wa.comcast.net) (Remote host closed the connection)
19:49:56 xal joins (~xal@mx1.xal.systems)
19:49:59 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 260 seconds)
19:51:47 × ph88 quits (~ph88@ip5b403f30.dynamic.kabel-deutschland.de) (Remote host closed the connection)
19:53:30 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:56:24 × sm quits (~user@plaintextaccounting/sm) (Remote host closed the connection)
20:00:37 × sawilagar quits (~sawilagar@user/sawilagar) (Read error: Connection reset by peer)
20:00:51 sawilagar joins (~sawilagar@user/sawilagar)
20:05:25 × califax quits (~califax@user/califx) (Remote host closed the connection)
20:05:56 califax joins (~califax@user/califx)
20:09:46 × ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Quit: big sleep)
20:13:43 ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net)
20:15:52 × ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Client Quit)
20:15:54 <[exa]> c_wraith: ski: pseq noted, thank you!
20:20:04 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:21:12 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
20:22:18 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
20:26:58 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds)
20:29:47 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
20:57:19 magus3 joins (~Thunderbi@189.6.35.139)
20:57:22 ski nods
20:57:59 × arjun quits (~arjun@user/arjun) (Quit: Quit!)
21:00:39 sm_ joins (~anonymous@plaintextaccounting/sm)
21:01:37 × sm_ quits (~anonymous@plaintextaccounting/sm) (Client Quit)
21:01:53 × AlexZenon quits (~alzenon@94.233.240.255) (Read error: Connection reset by peer)
21:02:12 sm_ joins (~sm@plaintextaccounting/sm)
21:02:13 AlexZenon joins (~alzenon@94.233.240.255)
21:07:46 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
21:08:12 ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net)
21:08:37 × ystael quits (~ystael@user/ystael) (Ping timeout: 272 seconds)
21:13:03 × ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Ping timeout: 260 seconds)
21:18:46 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
21:21:24 × sm_ quits (~sm@plaintextaccounting/sm) (Quit: sm_)
21:23:21 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 268 seconds)
21:23:26 × haskellbridge quits (~haskellbr@069-135-003-034.biz.spectrum.com) (Remote host closed the connection)
21:24:56 sm joins (~znc@plaintextaccounting/sm)
21:25:09 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
21:28:22 × billchenchina- quits (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Ping timeout: 255 seconds)
21:29:12 haskellbridge joins (~haskellbr@069-135-003-034.biz.spectrum.com)
21:29:12 ChanServ sets mode +v haskellbridge
21:35:12 × sm quits (~znc@plaintextaccounting/sm) (Quit: ZNC 1.6.6+deb1ubuntu0.2 - http://znc.in)
21:37:01 sm joins (~znc@plaintextaccounting/sm)
21:37:32 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 268 seconds)
21:40:23 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
21:41:51 × sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 268 seconds)
21:42:12 × magus3 quits (~Thunderbi@189.6.35.139) (Ping timeout: 252 seconds)
21:46:34 sm gets fancy and sets up an IRC bouncer
21:46:58 <geekosaur> so I see
21:47:31 <sm> IRC is still scary to me, I feel always a noob :)
21:48:27 <sm> if it would have nicely disappeared I could have forgotten about it but I suppose that won't be happening
21:48:44 × dolio quits (~dolio@130.44.134.54) (Quit: ZNC 1.8.2 - https://znc.in)
21:49:17 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 240 seconds)
21:49:36 <geekosaur> (oh look, there's another one)
21:50:05 <sm> well continuing is also nice. And even improving, I see libera is planning to add persistence one of these days.
21:50:27 <geekosaur> slowly IRC continues to evolve
21:50:29 dolio joins (~dolio@130.44.134.54)
21:50:30 <sm> (another one ?)
21:50:36 <geekosaur> the problem there is getting clients to keep up
21:50:46 <geekosaur> [29 21:48:44] * dolio has quit (Quit: ZNC 1.8.2 - https://znc.in)
21:51:08 <geekosaur> znc, bnc/psybnc, etc.
21:51:37 <geekosaur> quassel
21:52:20 × Inst_ quits (~Inst@120.244.192.126) (Ping timeout: 268 seconds)
21:52:39 × dolio quits (~dolio@130.44.134.54) (Client Quit)
21:52:47 srk_ joins (~sorki@user/srk)
21:53:05 <geekosaur> (I'm lazy and pay irccloud, then connect to their bouncer)
21:54:00 <sm> +1
21:54:07 <sm> I spent a bunch of hours on this
21:54:25 × srk quits (~sorki@user/srk) (Ping timeout: 246 seconds)
21:55:24 <geekosaur> sadly hexchat doesn't support the IRC extension to group messages I sent via /msg on other devices, so those end up looking odd on my desktop
21:55:53 mizlan joins (~mizlan@c-69-181-82-43.hsd1.ca.comcast.net)
21:56:14 srk_ is now known as srk
21:56:30 <geekosaur> and yeh, I remember going through that back when I ran a znc on someone's droplet
21:56:50 <geekosaur> that's the main reason I paid someone else to deal this time 🙂
21:57:28 <geekosaur> well, that and having a semi-sane android client to go with it
21:58:20 dolio joins (~dolio@130.44.134.54)
21:58:48 × destituion quits (~destituio@2001:4644:c37:0:6086:64f4:a213:b80d) (Read error: Connection reset by peer)
21:59:32 destituion joins (~destituio@2001:4644:c37:0:6086:64f4:a213:b80d)
22:00:24 × mizlan quits (~mizlan@c-69-181-82-43.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
22:01:59 <sm> System Information: Model: MacBook Air (M1, 2020) • OS: macOS (Version 14.3.1, Build 23D60)
22:02:00 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 252 seconds)
22:03:09 <sm> ok then. (I'm pressing all the knobs and switches in Textual 7, a very fancy mac irc client.)
22:03:25 <geekosaur> yeh, I used to use Textual when I had a Mac
22:03:43 <geekosaur> Linu IRC clients ought to up their game
22:03:48 <geekosaur> *Linux
22:04:21 × destituion quits (~destituio@2001:4644:c37:0:6086:64f4:a213:b80d) (Ping timeout: 272 seconds)
22:11:14 <sm> last step: the reboot test
22:11:18 × sm quits (~znc@plaintextaccounting/sm) (Quit: ZNC 1.6.6+deb1ubuntu0.2 - http://znc.in)
22:12:28 sm joins (~znc@plaintextaccounting/sm)
22:13:04 <sm> \o/
22:32:25 × euleritian quits (~euleritia@dynamic-176-007-133-071.176.7.pool.telefonica.de) (Ping timeout: 268 seconds)
22:32:39 euleritian joins (~euleritia@dynamic-176-005-145-045.176.5.pool.telefonica.de)
22:41:55 × michalz quits (~michalz@185.246.207.221) (Quit: ZNC 1.8.2 - https://znc.in)
22:44:26 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:45:02 × Yumemi quits (~Yumemi@2001:bc8:47a0:1b14::1) (Quit: .)
22:45:43 mizlan joins (~mizlan@c-69-181-82-43.hsd1.ca.comcast.net)
22:45:54 Yumemi joins (~Yumemi@chamoin.net)
22:48:28 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
22:50:18 × mizlan quits (~mizlan@c-69-181-82-43.hsd1.ca.comcast.net) (Ping timeout: 268 seconds)
22:55:27 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
22:56:18 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds)
22:56:53 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
22:57:29 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
22:58:29 img joins (~img@user/img)
22:58:52 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
22:59:57 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
23:00:56 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
23:04:53 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
23:06:33 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
23:09:23 destituion joins (~destituio@2001:4644:c37:0:6086:64f4:a213:b80d)
23:19:11 magus3 joins (~Thunderbi@189.6.35.139)
23:21:36 Achylles joins (~Achylles_@45.182.57.13)
23:23:24 nij- joins (~NIL@2601:180:8300:6610:742b:f451:84ff:e5af)
23:24:10 <shapr> sm: we'll miss you
23:24:23 <shapr> oh wait, was that \o/ *after* the reboot?
23:25:28 <geekosaur> yes
23:25:42 <geekosaur> I assume that means you have joins/parts muted
23:26:55 <sm> yup! reboot and auto-reconnect was fast
23:27:05 <nij-> Hello! May I ask a question? Usual OOP has classes and subclasses. While it maybe more flexible, function/method calls sometimes must wait until runtime to be specified. This makes optimizing compiled code harder, and could slow down the whole system.
23:27:27 <nij-> I'm not familiar with haskell. But it seems that all function/method calls know exactly which implementation to use at compile time.
23:27:42 <nij-> Q1 Is this true? -- Q2, If true, how was it achieved?
23:27:45 <geekosaur> usually yes
23:28:01 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
23:28:13 <geekosaur> (the exception is when a typeclass dictionary can't be optimized away, which usually means it's being used polymorphically)
23:28:58 <nij-> I think I know what a type class is (e.g. Eq, Show, Monad).. but I don't know what a typeclass dictionary is..
23:29:22 <geekosaur> part of the implementation
23:29:50 <geekosaur> you could (very, very loosely) say it's a vtable associated with a type
23:30:43 <geekosaur> so if a type has an Ord instance, it has a typeclass dictionary containing the definitions of Ord's methods for that type
23:31:17 siw5ohs0 joins (~aiw5ohs0@user/aiw5ohs0)
23:31:18 <geekosaur> (and because Ord requires Eq, it also includes a typeclass dictionary for Eq)
23:31:45 <nij-> Eq is a superclass of Ord, right?
23:31:45 siw5ohs0 parts (~aiw5ohs0@user/aiw5ohs0) (Leaving)
23:32:03 <geekosaur> I kinda don't like that terminology because it doesn't really behave like a superclass
23:32:28 <nij-> Hmm.. what's the correct terminology?
23:32:38 <nij-> Fill in -00Eq is a _ of Ord.
23:32:42 <geekosaur> for example, Monad has Applicative as a "superclass", but you can define the Applicative instance in terms of Monad
23:32:44 <nij-> Fill in --- Eq ..
23:32:56 <geekosaur> which would be a loop if it were an actual superclass
23:33:28 <geekosaur> (specifically: instance Applicative MyMonad where { pure = return; (<*>) = ap })
23:34:07 <geekosaur> so they're reelated, but can be rather more tangled than an OO superclass
23:34:17 <nij-> Say X is a super class of Y, can I redefine methods for X in Y?
23:34:24 <geekosaur> no
23:34:36 <geekosaur> it just means methods for X can be used in the definition of Y
23:34:44 <geekosaur> it's not true OOP
23:34:48 <nij-> Nice! That means
23:35:06 jb3 parts (~jb3@core.jb3.dev) (Konversation terminated!)
23:35:13 <geekosaur> so for example Ord can and does use (==) when defining comparison operators
23:35:15 <nij-> method call can be determined at compile time!
23:35:31 <geekosaur> but it can't define (==) itself; it must get it from the Eq instance
23:35:56 <nij-> It's certainly less flexible though.. but compiler is happier.
23:36:02 <geekosaur> right, Haskell's type system is all about insuring all types can be statically determined
23:36:20 <nij-> How about when one really wants that behavior.. lemme come up with an example..
23:36:35 <geekosaur> typeclasses flex this by letting you pass what amount to records of functions ("typeclass dictionaries") around implicitly
23:37:03 × magus3 quits (~Thunderbi@189.6.35.139) (Ping timeout: 255 seconds)
23:37:24 <geekosaur> and there is also full polymorphism, but the only thing you can do with a polymorphic value is pass (a pointer to) it around unmodified, or ignore it
23:37:33 <geekosaur> % :t length @[]
23:37:33 <yahb2> length @[] :: [a] -> Int
23:37:52 <geekosaur> length neither knows nor cares what `a` is
23:38:08 <nij-> In this case..
23:38:19 <nij-> is it still possible for method selection to be determined at compile time?
23:38:24 <geekosaur> in this case you can only count how many items are in the list
23:38:26 <c_wraith> there's also polymorphic recursion, which is one of the few cases where *something* must survive to runtime to play the part of the typeclass dictionary
23:39:14 <nij-> What is I really want to extend a method......
23:39:15 <geekosaur> `a` has no constraints, therefore no usable "methods"
23:39:30 <nij-> Say I have People and Presidents.
23:39:38 <nij-> And I have the method "sign".
23:39:57 <nij-> Presidents, while signing, must append their signature with "President".
23:39:58 <geekosaur> you can produce it unmodified (`id :: a -> a`), or you can operate on something containing it (as with `length` above), you can't otherwise touch it'
23:40:11 <nij-> This is easy to do in OOP. How about Haskell?
23:40:19 × xal quits (~xal@mx1.xal.systems) ()
23:41:00 <geekosaur> in Haskell the focus is on the function, so you would usually have a different function for that
23:41:01 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Quit: WeeChat 4.1.2)
23:41:15 <geekosaur> typeclasses can sometimes do it but are usually a poor choice
23:42:36 <nij-> c_wraith polymorphic recursion sounds like a deeper topic..
23:42:39 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
23:42:50 <nij-> any article I should read to learn more about it?
23:42:57 <nij-> geekosaur Thanks :)
23:43:17 <nij-> geekosaur Oh btw, why would having dependent types in Haskell be good or useful?
23:44:55 <c_wraith> nij-: It's probably best illustrated with a simple (if silly) example, like...
23:44:56 <c_wraith> > let showMany :: Show a => Int -> a -> String ; showMany 0 x = show x ; showMany n x = showMany (n - 1) (x, x) in showMany 3 'a'
23:44:58 <lambdabot> "((('a','a'),('a','a')),(('a','a'),('a','a')))"
23:45:41 <c_wraith> nij-: notably, the type of the second argument changes on each recursive call - polymorphic recursion
23:46:42 <geekosaur> right, that's what I meant about not being able to optimize away a typeclass dictionary earlier: in that case, it has to be passed for `showMany` to know what it's doing
23:46:44 <c_wraith> nij-: In principle, you have no way of knowing what type `show` is called at, because it could in principle depend on program input
23:48:03 <geekosaur> re dependent types: it can be useful to have types which depend on runtime values. (look at the Servant webserver for an example, where routes are specified at type level and selectable based on network input)
23:48:31 <geekosaur> this helps ensure you handle all cases
23:48:51 × destituion quits (~destituio@2001:4644:c37:0:6086:64f4:a213:b80d) (Ping timeout: 272 seconds)
23:49:03 <geekosaur> you can't accidentally forget to define a route, it will be a compile error
23:50:01 <geekosaur> but working with such types is really painful in Haskell as it currently exists. dependent types support this kind of usage
23:50:32 <c_wraith> I like polymorphic recursion as an example of what it does because it's Haskell98. You don't need to explain (or deal with) emulating dependent types.
23:50:40 <nij-> c_wraith I see. That's a good example.
23:51:22 <c_wraith> And yes, there are legitimate use cases for polymorphic recursion :)
23:53:22 <nij-> Hmm.. here's an example AI gave me why dependent type is good. https://www.perplexity.ai/search/iwhy-do-haskellers-TUEyhVdwSa.azD11_PEGcQ#2
23:54:02 <nij-> It seems more flexible and clear, yes.
23:54:15 <nij-> (when using dependent type)
23:54:43 <nij-> However, I wonder if this would introduce some bad effects (e.g. it may become harder to do things at compile time? Just a guess.)
23:56:17 <c_wraith> yes, dependent types make it more difficult to write code. The ideal is that they add more difficulty to incorrect code than they do to correct code.
23:56:25 <c_wraith> +write
23:57:00 <c_wraith> But you can easily end up in situations where you need to write non-trivial proofs in the type system in order to keep the type checker satisfied
23:57:45 <nij-> Hmm.. is it fair to say that dep types make it easier to write "flexibly", but introduce other bad effects for the compiler to reason?
23:58:00 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds)
23:58:52 <ncf> that AI answer is (unsurprisingly) nonsensical garbage
23:59:05 <ncf> please do not post garbage AI links in here
23:59:51 <nij-> ncf Sorry

All times are in UTC on 2024-03-29.