2022/10/25

2022-10-25 00:00:37 +0200freeside(~mengwong@103.252.202.193) (Ping timeout: 240 seconds)
2022-10-25 00:02:27 +0200zmt00(~zmt00@user/zmt00) (Read error: Connection reset by peer)
2022-10-25 00:02:55 +0200 <gqplox> hello again
2022-10-25 00:03:21 +0200 <gqplox> I'm struggling to write my previous function with foldr
2022-10-25 00:03:35 +0200 <gqplox> recursiveConcat :: [[a]] -> [a]
2022-10-25 00:03:36 +0200 <gqplox> recursiveConcat [] = []
2022-10-25 00:03:36 +0200 <gqplox> recursiveConcat xxs = head xxs ++ recursiveConcat (tail xxs)
2022-10-25 00:03:43 +0200zmt00(~zmt00@user/zmt00)
2022-10-25 00:04:06 +0200merijn(~merijn@c-001-001-011.client.esciencecenter.eduvpn.nl)
2022-10-25 00:05:58 +0200 <Rembane> gqplox: How far do you get before you get stuck?
2022-10-25 00:06:57 +0200 <gqplox> recursiveConcat' xs = foldr (\x xs' -> head xs' ++ tail xs') [] xs
2022-10-25 00:06:58 +0200 <gqplox> i did something like this so far ik its stupid
2022-10-25 00:07:08 +0200acidjnk(~acidjnk@p54ad5adb.dip0.t-ipconnect.de) (Ping timeout: 276 seconds)
2022-10-25 00:07:20 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-25 00:07:26 +0200 <Hecate> Hey Haskellers, I need people opinion on this: https://twitter.com/flora_haskell/status/1584665095627362305
2022-10-25 00:09:27 +0200 <Rembane> gqplox: What happens to x?
2022-10-25 00:09:32 +0200axeman(~quassel@2a02:8109:a380:78:967e:8a87:718a:1361) (Ping timeout: 272 seconds)
2022-10-25 00:10:51 +0200 <monochrom> gqplox: My course notes http://www.cs.utoronto.ca/~trebla/CSCC24-2022-Summer/05-haskell-fold.html#foldr shows the general pattern.
2022-10-25 00:11:42 +0200 <gqplox> thank you
2022-10-25 00:11:54 +0200 <gqplox> oh oops
2022-10-25 00:12:10 +0200 <gqplox> man Im so tired i think i should try again tomorrow :(
2022-10-25 00:12:16 +0200 <gqplox> not going well
2022-10-25 00:13:40 +0200freeside(~mengwong@103.252.202.193)
2022-10-25 00:13:51 +0200 <monochrom> Or in words, foldr (\x r -> x is already the head of the list, r is already the result of the recursive call)
2022-10-25 00:14:17 +0200chomwitt(~chomwitt@2a02:587:dc10:8200:1ac0:4dff:fedb:a3f1) (Ping timeout: 276 seconds)
2022-10-25 00:14:19 +0200 <monochrom> So it's illogical to try to use head or tail yourself on x or r.
2022-10-25 00:15:01 +0200 <gqplox> So for recursiveConcat [[1,2,3], [4,5]] first x would be [1,2,3] and r is []?
2022-10-25 00:15:38 +0200 <monochrom> first x is [1,2,3], "first" r is [4,5].
2022-10-25 00:15:45 +0200ckiorrrrrrrrrrrs(~ckiorrrrr@c-76-17-6-165.hsd1.ga.comcast.net)
2022-10-25 00:16:27 +0200 <monochrom> r is [4,5] because the recursive call results in recursiveConcat [[4,5]] = [4,5].
2022-10-25 00:16:40 +0200 <gqplox> so it would be something like
2022-10-25 00:16:40 +0200 <gqplox> recursiveConcat' xs = foldr (\x r -> x ++ r) [] xs
2022-10-25 00:16:49 +0200 <monochrom> Yes, that simple.
2022-10-25 00:18:56 +0200mmhat(~mmh@2003:f1:c730:762d:ee08:6bff:fe09:5315) (Quit: WeeChat 3.7.1)
2022-10-25 00:19:05 +0200comerijn(~merijn@c-001-002-002.client.esciencecenter.eduvpn.nl)
2022-10-25 00:20:06 +0200 <Rembane> darkside.se
2022-10-25 00:20:14 +0200 <gqplox> great thank you :)
2022-10-25 00:20:32 +0200 <Rembane> Sorry mischat
2022-10-25 00:21:07 +0200 <monochrom> Yes I was wondering why you were advertising for darkside :)
2022-10-25 00:21:33 +0200 <monochrom> I mean, let darkside advertise for themselves next time they come into the channel!
2022-10-25 00:22:35 +0200merijn(~merijn@c-001-001-011.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-10-25 00:23:34 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-10-25 00:23:44 +0200 <gqplox> hmm for this function
2022-10-25 00:24:05 +0200 <gqplox> recursiveReplicate :: Int -> a -> [a]
2022-10-25 00:24:05 +0200 <gqplox> recursiveReplicate 0 _ = []
2022-10-25 00:24:05 +0200 <gqplox> recursiveReplicate n x = x : recursiveReplicate (n - 1) x
2022-10-25 00:24:42 +0200 <gqplox> it's taking an integer right so you can't make express with foldr?
2022-10-25 00:25:09 +0200 <monochrom> It doesn't take an input list either, so foldr is completely irrelevant.
2022-10-25 00:25:19 +0200 <gqplox> yes thats whay i mean
2022-10-25 00:25:21 +0200 <gqplox> ok thank you
2022-10-25 00:25:42 +0200 <monochrom> Instead, you could look into unfoldr. That's when you output a list.
2022-10-25 00:25:54 +0200 <gqplox> wow wtf
2022-10-25 00:25:56 +0200 <gqplox> mind blown
2022-10-25 00:26:13 +0200Tuplanolla(~Tuplanoll@91-159-69-240.elisa-laajakaista.fi) (Quit: Leaving.)
2022-10-25 00:26:30 +0200 <gqplox> wait is it actually in the prelude?
2022-10-25 00:26:33 +0200 <gqplox> i cant see it
2022-10-25 00:26:41 +0200 <monochrom> It is.
2022-10-25 00:27:31 +0200 <gqplox> oh right i just ran ghci i needed to import Data.List
2022-10-25 00:28:01 +0200 <geekosaur> @index unfoldr
2022-10-25 00:28:01 +0200 <lambdabot> GHC.OldList, Data.List, Data.ByteString.Lazy.Char8, Data.ByteString.Lazy, Data.ByteString.Char8, Data.ByteString, Data.Sequence
2022-10-25 00:28:06 +0200 <monochrom> Oh, it is not in Prelude. Sorry!
2022-10-25 00:30:42 +0200 <gqplox> no worries
2022-10-25 00:31:15 +0200 <gqplox> (!!!) :: [a] -> Int -> a
2022-10-25 00:31:15 +0200 <gqplox> (!!!) (x : xs) 0 = x
2022-10-25 00:31:15 +0200 <gqplox> (!!!) (x : xs) n = (!!!) xs (n - 1)
2022-10-25 00:31:15 +0200 <gqplox> so can this be done with foldr?
2022-10-25 00:31:27 +0200gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2022-10-25 00:32:48 +0200 <monochrom> The base case is not "recfun [] = ???", and the recursive case is not simply "recfun (x:xs) = foo x (recfun xs)". So no.
2022-10-25 00:33:13 +0200 <gqplox> Alright cool
2022-10-25 00:33:32 +0200 <gqplox> well thank you for the help im tired now so ill head off but really thx for the help and the notes ill look into it tomorrow
2022-10-25 00:36:33 +0200Axman6(~Axman6@user/axman6)
2022-10-25 00:37:14 +0200poloGuest5366
2022-10-25 00:37:57 +0200comerijn(~merijn@c-001-002-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-10-25 00:37:57 +0200finsternis(~X@23.226.237.192) (Read error: Connection reset by peer)
2022-10-25 00:38:33 +0200gqplox(~textual@147.188.245.207) (Quit: Textual IRC Client: www.textualapp.com)
2022-10-25 00:41:26 +0200darkstardevx(~darkstard@50.126.124.156) (Read error: Connection reset by peer)
2022-10-25 00:46:56 +0200nate2(~nate@98.45.169.16)
2022-10-25 00:50:14 +0200zeenk(~zeenk@2a02:2f04:a105:5d00:c862:f190:2ea:d494)
2022-10-25 00:50:41 +0200merijn(~merijn@c-001-002-002.client.esciencecenter.eduvpn.nl)
2022-10-25 00:51:37 +0200nate2(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2022-10-25 00:52:06 +0200talismanick(~talismani@76.133.152.122)
2022-10-25 00:52:22 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-10-25 00:53:50 +0200 <talismanick> Are there options for <project>.cabal so I can declare an executable which automatically executes as if it had been called with +RTS -N?
2022-10-25 00:54:31 +0200 <Axman6> you can add that to ghc-options
2022-10-25 00:54:33 +0200 <Axman6> IIRC
2022-10-25 00:54:34 +0200 <talismanick> `ghc-options: -threaded -rtsopts -w` didn't seem to enable multithreading - I still had to `cabal run foo -- +RTS -N`
2022-10-25 00:54:41 +0200 <Axman6> check the cabal docs
2022-10-25 00:54:46 +0200 <geekosaur> -with-rtsopts -N
2022-10-25 00:54:46 +0200 <Axman6> and the4 ghc docs
2022-10-25 00:54:51 +0200 <talismanick> I didn't see anything else in the Cabal docs, that I could see...
2022-10-25 00:55:05 +0200 <talismanick> geekosaur: ah, that looks closer to what I'd expect
2022-10-25 00:55:15 +0200 <talismanick> I looked up rtsopts in the cabal docs and didn't see much
2022-10-25 00:55:17 +0200merijn(~merijn@c-001-002-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-10-25 00:55:42 +0200 <talismanick> Or, not, what I searched was +RTS
2022-10-25 00:55:44 +0200 <geekosaur> yeh, not's not a caba; option, it's a ghc link option so yo would use it with ghc-options in cabal
2022-10-25 00:55:47 +0200darkstardevx(~darkstard@50.126.124.156)
2022-10-25 00:56:17 +0200 <talismanick> Nice, it works
2022-10-25 00:56:47 +0200darkstardevx(~darkstard@50.126.124.156) (Remote host closed the connection)
2022-10-25 00:57:12 +0200darkstardevx(~darkstard@50.126.124.156)
2022-10-25 00:58:06 +0200zebrag(~chris@user/zebrag)
2022-10-25 01:03:45 +0200mncheck(~mncheck@193.224.205.254) (Ping timeout: 272 seconds)
2022-10-25 01:06:17 +0200ubert(~Thunderbi@91.141.49.34.wireless.dyn.drei.com) (Ping timeout: 272 seconds)
2022-10-25 01:06:46 +0200ubert(~Thunderbi@178.165.171.4.wireless.dyn.drei.com)
2022-10-25 01:09:58 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2022-10-25 01:10:40 +0200Kaipei(~Kaiepi@108.175.84.104) (Ping timeout: 250 seconds)
2022-10-25 01:11:07 +0200son0p(~ff@181.136.122.143) (Killed (NickServ (GHOST command used by son0p-)))
2022-10-25 01:13:20 +0200son0p(~ff@181.136.122.143)
2022-10-25 01:13:31 +0200michalz(~michalz@185.246.207.193) (Remote host closed the connection)
2022-10-25 01:18:38 +0200Kaipei(~Kaiepi@108.175.84.104)
2022-10-25 01:27:47 +0200zeenk(~zeenk@2a02:2f04:a105:5d00:c862:f190:2ea:d494) (Quit: Konversation terminated!)
2022-10-25 01:38:35 +0200j4cc3b(~j4cc3b@pool-74-105-2-138.nwrknj.fios.verizon.net)
2022-10-25 01:42:59 +0200danza(~francesco@151.82.219.40) (Read error: Connection reset by peer)
2022-10-25 01:59:58 +0200danza(~francesco@ge-19-125-62.service.infuturo.it)
2022-10-25 02:00:10 +0200kimjetwav(~user@2607:fea8:235e:b600:b115:f56:940e:2252) (Remote host closed the connection)
2022-10-25 02:01:19 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 258 seconds)
2022-10-25 02:04:50 +0200wonko(~wjc@user/wonko) (Ping timeout: 250 seconds)
2022-10-25 02:05:06 +0200ec(~ec@gateway/tor-sasl/ec)
2022-10-25 02:26:03 +0200jmorris(uid537181@id-537181.uxbridge.irccloud.com)
2022-10-25 02:39:12 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2022-10-25 02:39:12 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2022-10-25 02:39:12 +0200wroathe(~wroathe@user/wroathe)
2022-10-25 02:41:55 +0200Kaipei(~Kaiepi@108.175.84.104) (Ping timeout: 272 seconds)
2022-10-25 02:42:02 +0200beteigeuze1(~Thunderbi@a79-169-109-107.cpe.netcabo.pt)
2022-10-25 02:42:32 +0200beteigeuze(~Thunderbi@89.187.168.47) (Ping timeout: 250 seconds)
2022-10-25 02:42:32 +0200beteigeuze1beteigeuze
2022-10-25 02:51:03 +0200beteigeuze(~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Remote host closed the connection)
2022-10-25 02:51:21 +0200beteigeuze(~Thunderbi@a79-169-109-107.cpe.netcabo.pt)
2022-10-25 02:52:34 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:9df4:2304:ddb0:d61a)
2022-10-25 02:53:34 +0200causal(~user@50.35.83.177)
2022-10-25 02:56:50 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:9df4:2304:ddb0:d61a) (Ping timeout: 250 seconds)
2022-10-25 02:59:10 +0200Peerin(~Peerin@154.3.36.102)
2022-10-25 03:00:27 +0200 <j4cc3b> Anyone ever get this error message using Cabal on M1 MBP? Cannot specify -O# and --passes=/--foo-pass, use -passes='default<O#>,other-pass'. opt' failed in phase `LLVM Optimiser'
2022-10-25 03:00:51 +0200 <j4cc3b> it happened for an older package, and its happening now for a newly updated package (AES)
2022-10-25 03:06:31 +0200Lycurgus(~juan@user/Lycurgus)
2022-10-25 03:07:13 +0200caryhartline(~caryhartl@2600:1700:2d0:8d30:7075:e274:b18d:7a76)
2022-10-25 03:08:42 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-10-25 03:08:47 +0200 <geekosaur> that's a too-new llvm opt, iirc
2022-10-25 03:10:28 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-10-25 03:10:43 +0200madnight(~madnight@static.59.103.201.195.clients.your-server.de) (K-Lined)
2022-10-25 03:10:43 +0200edi(~edi@user/edi) (K-Lined)
2022-10-25 03:10:43 +0200Profpatsch(~Profpatsc@static.88-198-193-255.clients.your-server.de) (K-Lined)
2022-10-25 03:10:43 +0200tomsmeding(~tomsmedin@static.21.109.88.23.clients.your-server.de) (K-Lined)
2022-10-25 03:10:43 +0200red-snail(~snail@static.151.210.203.116.clients.your-server.de) (K-Lined)
2022-10-25 03:10:43 +0200Philonous(~Philonous@user/philonous) (K-Lined)
2022-10-25 03:10:43 +0200dminuoso(~dminuoso@user/dminuoso) (K-Lined)
2022-10-25 03:10:43 +0200kawen(~quassel@static.208.191.216.95.clients.your-server.de) (K-Lined)
2022-10-25 03:10:44 +0200auri(~auri@fsf/member/auri) (K-Lined)
2022-10-25 03:10:44 +0200hexology(~hexology@user/hexology) (K-Lined)
2022-10-25 03:10:44 +0200lambdap237(~lambdap@static.167.190.119.168.clients.your-server.de) (K-Lined)
2022-10-25 03:10:44 +0200mcfrdy(~mcfrdy@user/mcfrdy) (K-Lined)
2022-10-25 03:10:44 +0200wz1000(~zubin@static.11.113.47.78.clients.your-server.de) (K-Lined)
2022-10-25 03:10:44 +0200aforemny(~aforemny@static.248.158.34.188.clients.your-server.de) (K-Lined)
2022-10-25 03:11:02 +0200hexology(~hexology@user/hexology)
2022-10-25 03:11:04 +0200 <j4cc3b> Ah, alright. I'll see if I can find an older llvm version. Thanks
2022-10-25 03:11:28 +0200 <geekosaur> https://gitlab.haskell.org/ghc/ghc/-/issues/21936
2022-10-25 03:11:35 +0200mcfrdy(~mcfrdy@user/mcfrdy)
2022-10-25 03:11:55 +0200kawen(~quassel@static.208.191.216.95.clients.your-server.de)
2022-10-25 03:11:57 +0200auri(~auri@fsf/member/auri)
2022-10-25 03:12:00 +0200madnight(~madnight@static.59.103.201.195.clients.your-server.de)
2022-10-25 03:12:01 +0200tomsmeding(~tomsmedin@2a01:4f8:c0c:5e5e::2)
2022-10-25 03:12:01 +0200wz1000(~zubin@static.11.113.47.78.clients.your-server.de)
2022-10-25 03:12:06 +0200Philonous(~Philonous@user/philonous)
2022-10-25 03:12:06 +0200dminuoso(~dminuoso@user/dminuoso)
2022-10-25 03:12:09 +0200aforemny(~aforemny@static.248.158.34.188.clients.your-server.de)
2022-10-25 03:12:22 +0200Profpatsch(~Profpatsc@static.88-198-193-255.clients.your-server.de)
2022-10-25 03:14:37 +0200red-snail(~snail@static.151.210.203.116.clients.your-server.de)
2022-10-25 03:16:07 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds)
2022-10-25 03:16:20 +0200Maeda(~Maeda@91-161-10-149.subs.proxad.net) (Ping timeout: 250 seconds)
2022-10-25 03:16:34 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-10-25 03:16:56 +0200FragByte(~christian@user/fragbyte) (Ping timeout: 276 seconds)
2022-10-25 03:18:25 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2022-10-25 03:18:39 +0200slack1256(~slack1256@191.125.99.71) (Ping timeout: 272 seconds)
2022-10-25 03:26:52 +0200andreas303(andreas303@ip227.orange.bnc4free.com) (Quit: fBNC - https://bnc4free.com)
2022-10-25 03:26:52 +0200xacktm(~xacktm@user/xacktm) (Quit: fBNC - https://bnc4free.com)
2022-10-25 03:28:13 +0200 <j4cc3b> geekosaur Thanks, I downgraded to llvm 14 and got cabal to work
2022-10-25 03:39:10 +0200xff0x(~xff0x@2405:6580:b080:900:274f:8858:84b:2f95) (Ping timeout: 272 seconds)
2022-10-25 03:41:41 +0200beteigeuze(~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Remote host closed the connection)
2022-10-25 03:42:04 +0200beteigeuze(~Thunderbi@a79-169-109-107.cpe.netcabo.pt)
2022-10-25 03:43:24 +0200Guest395(~textual@pool-100-11-18-203.phlapa.fios.verizon.net)
2022-10-25 03:43:45 +0200Guest395(~textual@pool-100-11-18-203.phlapa.fios.verizon.net) (Changing host)
2022-10-25 03:43:45 +0200Guest395(~textual@user/polo)
2022-10-25 03:43:49 +0200andreas303(andreas303@ip227.orange.bnc4free.com)
2022-10-25 03:45:48 +0200Guest395(~textual@user/polo) (Client Quit)
2022-10-25 03:49:41 +0200polo_(~polo@user/polo)
2022-10-25 03:52:22 +0200j4cc3b(~j4cc3b@pool-74-105-2-138.nwrknj.fios.verizon.net) (Quit: Client closed)
2022-10-25 03:53:23 +0200biberu\(~biberu@user/biberu)
2022-10-25 03:55:41 +0200xacktm(~xacktm@user/xacktm)
2022-10-25 03:57:17 +0200biberu(~biberu@user/biberu) (Ping timeout: 272 seconds)
2022-10-25 03:57:17 +0200biberu\biberu
2022-10-25 03:59:11 +0200beteigeuze(~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 272 seconds)
2022-10-25 04:00:12 +0200micahcantor(~micahcant@132.161.188.118)
2022-10-25 04:02:00 +0200Guest17(~Guest17@132.161.188.57)
2022-10-25 04:02:16 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds)
2022-10-25 04:03:39 +0200frost75(~frost@user/frost)
2022-10-25 04:03:56 +0200Guest17(~Guest17@132.161.188.57) (Client Quit)
2022-10-25 04:06:09 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:9df4:2304:ddb0:d61a)
2022-10-25 04:08:17 +0200polo_(~polo@user/polo) (Ping timeout: 276 seconds)
2022-10-25 04:12:47 +0200td_(~td@83.135.9.20) (Ping timeout: 260 seconds)
2022-10-25 04:14:16 +0200td_(~td@83.135.9.24)
2022-10-25 04:19:05 +0200nate2(~nate@98.45.169.16)
2022-10-25 04:19:16 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-10-25 04:22:15 +0200Feuermagier_(~Feuermagi@213.149.82.60)
2022-10-25 04:23:08 +0200zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-10-25 04:24:54 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-10-25 04:24:54 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-10-25 04:24:54 +0200finn_elijaFinnElija
2022-10-25 04:25:02 +0200Feuermagier(~Feuermagi@user/feuermagier) (Ping timeout: 260 seconds)
2022-10-25 04:26:00 +0200Feuermagier_(~Feuermagi@213.149.82.60) (Read error: Connection reset by peer)
2022-10-25 04:26:53 +0200FragByte(~christian@user/fragbyte)
2022-10-25 04:29:12 +0200mvk(~mvk@2607:fea8:5ce3:8500::a80f) (Ping timeout: 272 seconds)
2022-10-25 04:29:19 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2022-10-25 04:30:17 +0200freeside(~mengwong@103.252.202.193) (Ping timeout: 260 seconds)
2022-10-25 04:31:13 +0200meooow(~meooow@165.232.184.169)
2022-10-25 04:33:17 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-10-25 04:35:24 +0200freeside(~mengwong@103.252.202.193)
2022-10-25 04:35:55 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 272 seconds)
2022-10-25 04:38:54 +0200frost75(~frost@user/frost) (Quit: Client closed)
2022-10-25 04:40:09 +0200micahcantor(~micahcant@132.161.188.118) (Ping timeout: 244 seconds)
2022-10-25 04:40:12 +0200freeside(~mengwong@103.252.202.193) (Ping timeout: 260 seconds)
2022-10-25 04:42:49 +0200terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat)
2022-10-25 04:43:52 +0200terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1)
2022-10-25 04:55:15 +0200j4cc3b(~j4cc3b@pool-74-105-2-138.nwrknj.fios.verizon.net)
2022-10-25 04:55:18 +0200polo(~polo@user/polo)
2022-10-25 04:58:52 +0200Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt juan@acm.org)
2022-10-25 05:00:36 +0200freeside(~mengwong@103.252.202.193)
2022-10-25 05:08:19 +0200micahcantor(~micahcant@132.161.188.118)
2022-10-25 05:09:07 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 272 seconds)
2022-10-25 05:11:59 +0200polo(~polo@user/polo) (Ping timeout: 276 seconds)
2022-10-25 05:20:45 +0200king_gs(~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0)
2022-10-25 05:20:55 +0200king_gs(~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0) (Client Quit)
2022-10-25 05:22:35 +0200mixfix41(~sdeny9ee@user/mixfix41)
2022-10-25 05:29:45 +0200nate2(~nate@98.45.169.16) (Ping timeout: 272 seconds)
2022-10-25 05:41:44 +0200birdgoose(~birdgoose@2406:e003:1d87:6601:ad3a:1d2e:9fb1:dfac) (Quit: Konversation terminated!)
2022-10-25 05:43:47 +0200birdgoose(~jesse@151.210.175.160)
2022-10-25 05:45:42 +0200polo(~polo@user/polo)
2022-10-25 05:46:42 +0200chronon(~chronon@user/chronon)
2022-10-25 05:50:25 +0200micahcantor(~micahcant@132.161.188.118) (Ping timeout: 244 seconds)
2022-10-25 05:52:56 +0200polo(~polo@user/polo) (Ping timeout: 276 seconds)
2022-10-25 05:56:17 +0200danza(~francesco@ge-19-125-62.service.infuturo.it) (Ping timeout: 240 seconds)
2022-10-25 05:57:55 +0200nate2(~nate@98.45.169.16)
2022-10-25 05:58:13 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds)
2022-10-25 06:03:02 +0200nate2(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2022-10-25 06:04:37 +0200freeside(~mengwong@103.252.202.193) (Ping timeout: 240 seconds)
2022-10-25 06:06:21 +0200birdgoose(~jesse@151.210.175.160) (Quit: Konversation terminated!)
2022-10-25 06:06:34 +0200birdgoose(~jesse@2406:e003:1d87:6601:e725:b6b4:ace8:4ebe)
2022-10-25 06:07:13 +0200freeside(~mengwong@103.252.202.193)
2022-10-25 06:09:22 +0200danza(~francesco@151.68.249.142)
2022-10-25 06:11:36 +0200j4cc3b(~j4cc3b@pool-74-105-2-138.nwrknj.fios.verizon.net) (Ping timeout: 244 seconds)
2022-10-25 06:14:05 +0200freeside(~mengwong@103.252.202.193) (Ping timeout: 272 seconds)
2022-10-25 06:14:19 +0200freeside(~mengwong@103.252.202.193)
2022-10-25 06:17:27 +0200zaquest(~notzaques@5.130.79.72)
2022-10-25 06:18:32 +0200ski(~ski@remote11.chalmers.se)
2022-10-25 06:19:56 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2022-10-25 06:33:56 +0200wroathe(~wroathe@user/wroathe)
2022-10-25 06:35:23 +0200nate2(~nate@98.45.169.16)
2022-10-25 06:36:37 +0200freeside(~mengwong@103.252.202.193) (Ping timeout: 240 seconds)
2022-10-25 06:38:37 +0200AkechiShiro(~licht@user/akechishiro)
2022-10-25 06:39:44 +0200qrpnxz(~qrpnxz@fsf/member/qrpnxz) (Ping timeout: 276 seconds)
2022-10-25 06:40:22 +0200nate2(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2022-10-25 06:40:56 +0200qrpnxz(~qrpnxz@fsf/member/qrpnxz)
2022-10-25 06:45:00 +0200mbuf(~Shakthi@49.204.140.84)
2022-10-25 06:49:13 +0200freeside(~mengwong@103.252.202.193)
2022-10-25 06:55:00 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-10-25 06:56:32 +0200kenran(~user@user/kenran)
2022-10-25 06:58:44 +0200ckiorrrrrrrrrrrs(~ckiorrrrr@c-76-17-6-165.hsd1.ga.comcast.net) (Remote host closed the connection)
2022-10-25 06:59:30 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2022-10-25 07:01:29 +0200birdgoose(~jesse@2406:e003:1d87:6601:e725:b6b4:ace8:4ebe) (Quit: Konversation terminated!)
2022-10-25 07:01:44 +0200birdgoose(~jesse@2406:e003:1d87:6601:e725:b6b4:ace8:4ebe)
2022-10-25 07:08:25 +0200Maeda(~Maeda@91-161-10-149.subs.proxad.net)
2022-10-25 07:10:22 +0200Guest5366money
2022-10-25 07:12:02 +0200boxscape_(~boxscape_@81.191.27.107) (Remote host closed the connection)
2022-10-25 07:12:10 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2022-10-25 07:13:57 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2022-10-25 07:14:15 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 272 seconds)
2022-10-25 07:15:45 +0200boxscape_(~boxscape_@81.191.27.107)
2022-10-25 07:17:48 +0200boxscape_(~boxscape_@81.191.27.107) (Remote host closed the connection)
2022-10-25 07:21:26 +0200fjMSX(~hypni2p@2.92.213.55) (Remote host closed the connection)
2022-10-25 07:29:27 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 258 seconds)
2022-10-25 07:30:03 +0200Peerin(~Peerin@154.3.36.102) (Remote host closed the connection)
2022-10-25 07:30:55 +0200ec(~ec@gateway/tor-sasl/ec)
2022-10-25 07:34:43 +0200nate2(~nate@98.45.169.16)
2022-10-25 07:36:20 +0200birdgoose(~jesse@2406:e003:1d87:6601:e725:b6b4:ace8:4ebe) (Ping timeout: 250 seconds)
2022-10-25 07:38:50 +0200birdgoose(~jesse@151.210.175.160)
2022-10-25 07:39:01 +0200P1RATEZ(piratez@user/p1ratez) (Remote host closed the connection)
2022-10-25 07:39:22 +0200nate2(~nate@98.45.169.16) (Ping timeout: 250 seconds)
2022-10-25 07:40:51 +0200jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 272 seconds)
2022-10-25 07:49:02 +0200birdgoose(~jesse@151.210.175.160) (Quit: Konversation terminated!)
2022-10-25 07:49:12 +0200raym(~ray@user/raym) (Ping timeout: 260 seconds)
2022-10-25 07:49:25 +0200birdgoose(~jesse@2406:e003:1d87:6601:e725:b6b4:ace8:4ebe)
2022-10-25 07:51:56 +0200sameer(~sameer@2409:4070:6e10:74c0::81c8:d301) (Ping timeout: 250 seconds)
2022-10-25 07:52:25 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2022-10-25 07:52:32 +0200sameer(~sameer@2409:4070:2db0:cb01::c089:7411)
2022-10-25 07:56:05 +0200raym(~ray@user/raym)
2022-10-25 07:56:07 +0200 <Clinton[m]> As silly as this may seem, are these instances law abiding?... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/f8298a10f2170a4f89c99acce653599b4976…>)
2022-10-25 07:56:58 +0200 <Clinton[m]> (this is a cut down example which doesn't really demonstrate what I'm trying to achieve)
2022-10-25 07:58:23 +0200 <jackdk> Clinton[m]: looks like `Blah ~ Const [Int]`
2022-10-25 07:59:00 +0200 <jackdk> @info Const
2022-10-25 07:59:00 +0200 <lambdabot> Const
2022-10-25 07:59:03 +0200gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de)
2022-10-25 07:59:08 +0200 <jackdk> :i Const
2022-10-25 07:59:13 +0200 <jackdk> % :i Const
2022-10-25 07:59:13 +0200 <yahb2> <interactive>:1:1: error: Not in scope: ‘Const’
2022-10-25 07:59:19 +0200 <Clinton[m]> Oh wow.
2022-10-25 07:59:39 +0200 <Clinton[m]> I love Haskell
2022-10-25 07:59:39 +0200 <jackdk> Anyway, `instance Monoid r => Applicative (Const r)`
2022-10-25 08:09:44 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-10-25 08:18:37 +0200jargon(~jargon@184.101.208.112) (Remote host closed the connection)
2022-10-25 08:20:39 +0200mmhat(~mmh@p200300f1c730762dee086bfffe095315.dip0.t-ipconnect.de)
2022-10-25 08:26:57 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 258 seconds)
2022-10-25 08:27:35 +0200gmg(~user@user/gehmehgeh)
2022-10-25 08:29:38 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2022-10-25 08:36:34 +0200jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 250 seconds)
2022-10-25 08:38:01 +0200mncheck(~mncheck@193.224.205.254)
2022-10-25 08:48:48 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-10-25 08:49:46 +0200jonathanx(~jonathan@h-98-128-168-222.NA.cust.bahnhof.se)
2022-10-25 08:52:31 +0200EvanR_(~EvanR@user/evanr)
2022-10-25 08:53:19 +0200EvanR(~EvanR@user/evanr) (Ping timeout: 272 seconds)
2022-10-25 08:58:13 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-10-25 08:59:48 +0200jonathanx(~jonathan@h-98-128-168-222.NA.cust.bahnhof.se) (Remote host closed the connection)
2022-10-25 09:00:05 +0200jonathanx(~jonathan@h-98-128-168-222.NA.cust.bahnhof.se)
2022-10-25 09:01:27 +0200michalz(~michalz@185.246.207.200)
2022-10-25 09:02:05 +0200yangby(~secret@115.197.21.96)
2022-10-25 09:09:30 +0200chele(~chele@user/chele)
2022-10-25 09:10:06 +0200yangby(~secret@115.197.21.96) (Quit: Go out for a walk and buy a drink.)
2022-10-25 09:11:50 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 276 seconds)
2022-10-25 09:13:22 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-10-25 09:20:47 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
2022-10-25 09:22:39 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-10-25 09:24:32 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-25 09:24:37 +0200talismanick(~talismani@76.133.152.122) (Ping timeout: 240 seconds)
2022-10-25 09:26:53 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl)
2022-10-25 09:27:16 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 250 seconds)
2022-10-25 09:28:56 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-10-25 09:29:09 +0200cytokine_storm(~cytokine_@user/cytokine-storm/x-1083107) (Ping timeout: 272 seconds)
2022-10-25 09:30:06 +0200cytokine_storm(~cytokine_@user/cytokine-storm/x-1083107)
2022-10-25 09:34:12 +0200sameer(~sameer@2409:4070:2db0:cb01::c089:7411) (Ping timeout: 250 seconds)
2022-10-25 09:34:26 +0200sameer(~sameer@2409:4070:2db0:cb01::c089:7411)
2022-10-25 09:35:41 +0200jmorris(uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2022-10-25 09:37:15 +0200jco(~jco@90-228-194-139-no542.tbcn.telia.com)
2022-10-25 09:39:17 +0200danza(~francesco@151.68.249.142) (Read error: Connection reset by peer)
2022-10-25 09:40:26 +0200 <jco> Hi, I'm being temporarily (hopefully) stupid. Is there a general way in which you can rewrite a fold, where you don't use the element (only the accumulator), to something "simpler"? Small (but somewhat ugly) snippet at: https://paste.tomsmeding.com/V9lcJMde. Here you see that I don't really use `_i`.
2022-10-25 09:41:03 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:e245:517d:6b8a:16f8)
2022-10-25 09:42:16 +0200 <dminuoso> You could write that as a replicateM I suppose
2022-10-25 09:42:33 +0200 <lyxia> or iterate
2022-10-25 09:44:49 +0200henrytill(e0180937c3@2604:bf00:561:2000::e8c)
2022-10-25 09:44:51 +0200 <dminuoso> Personally I would probably write it as just a handrolled loop.
2022-10-25 09:45:21 +0200 <dminuoso> Lets you write it in curred form as well
2022-10-25 09:47:11 +0200acidjnk(~acidjnk@p200300d6e7137a282ddda09dd97b606e.dip0.t-ipconnect.de)
2022-10-25 09:47:38 +0200 <dminuoso> jco: Along these lines https://gist.github.com/dminuoso/1e76c685d5168d8fe8881de0230a5208
2022-10-25 09:48:23 +0200 <dminuoso> Oh, actually the `zeroGroupCount - 1` is silly, can just use `n`
2022-10-25 09:48:31 +0200 <dminuoso> Updated gist
2022-10-25 09:48:33 +0200 <jco> dminuoso: Thanks, I'll take a look!
2022-10-25 09:48:50 +0200Kaipei(~Kaiepi@108.175.84.104)
2022-10-25 09:49:17 +0200fserucas|eod(~fserucas|@2001:818:e376:a400:fb92:70c1:dd88:c7d7)
2022-10-25 09:49:43 +0200chomwitt(~chomwitt@2a02:587:dc10:8200:1ac0:4dff:fedb:a3f1)
2022-10-25 09:49:59 +0200fserucas|eod(~fserucas|@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Client Quit)
2022-10-25 09:50:15 +0200fserucas|eod(~fserucas|@2001:818:e376:a400:fb92:70c1:dd88:c7d7)
2022-10-25 09:52:17 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds)
2022-10-25 09:54:48 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2022-10-25 09:59:29 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-10-25 10:01:19 +0200nschoe(~q@2a01:e0a:8e:a190:6b6f:b6f8:7b03:5cf7)
2022-10-25 10:03:15 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-10-25 10:05:39 +0200jonathanx(~jonathan@h-98-128-168-222.NA.cust.bahnhof.se) (Remote host closed the connection)
2022-10-25 10:05:56 +0200jonathanx(~jonathan@h-98-128-168-222.NA.cust.bahnhof.se)
2022-10-25 10:07:08 +0200birdgoose(~jesse@2406:e003:1d87:6601:e725:b6b4:ace8:4ebe) (Ping timeout: 250 seconds)
2022-10-25 10:07:27 +0200nate2(~nate@98.45.169.16)
2022-10-25 10:08:19 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-10-25 10:11:06 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-10-25 10:12:42 +0200nate2(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2022-10-25 10:16:04 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-25 10:19:49 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-10-25 10:30:19 +0200shriekingnoise(~shrieking@186.137.167.202) (Quit: Quit)
2022-10-25 10:32:44 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:9df4:2304:ddb0:d61a) (Remote host closed the connection)
2022-10-25 10:41:34 +0200birdgoose(~jesse@2406:e003:1d87:6601:e725:b6b4:ace8:4ebe)
2022-10-25 10:42:29 +0200jakalx(~jakalx@base.jakalx.net)
2022-10-25 10:47:13 +0200cfricke(~cfricke@user/cfricke)
2022-10-25 11:01:41 +0200__monty__(~toonn@user/toonn)
2022-10-25 11:02:36 +0200KaitoDaumoto(~asdf@user/kaitodaumoto) (Remote host closed the connection)
2022-10-25 11:03:37 +0200shapr(~user@net-5-88-239-29.cust.vodafonedsl.it)
2022-10-25 11:21:37 +0200gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-10-25 11:32:56 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-25 11:33:13 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:9df4:2304:ddb0:d61a)
2022-10-25 11:34:23 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2022-10-25 11:34:24 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 258 seconds)
2022-10-25 11:37:42 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:9df4:2304:ddb0:d61a) (Ping timeout: 250 seconds)
2022-10-25 11:39:12 +0200random-jellyfish(~random-je@user/random-jellyfish)
2022-10-25 11:42:22 +0200random-jellyfish(~random-je@user/random-jellyfish) (Client Quit)
2022-10-25 11:43:42 +0200darkstardevx(~darkstard@50.126.124.156) (Ping timeout: 260 seconds)
2022-10-25 11:45:32 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-10-25 11:51:04 +0200nilradical(~nilradica@user/naso)
2022-10-25 11:52:05 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-10-25 11:53:00 +0200nilradical(~nilradica@user/naso) (Client Quit)
2022-10-25 11:54:46 +0200nilradical(~nilradica@user/naso)
2022-10-25 11:58:11 +0200ft(~ft@p3e9bc845.dip0.t-ipconnect.de) (Quit: leaving)
2022-10-25 12:03:42 +0200birdgoose(~jesse@2406:e003:1d87:6601:e725:b6b4:ace8:4ebe) (Ping timeout: 250 seconds)
2022-10-25 12:05:26 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:e245:517d:6b8a:16f8) (Ping timeout: 250 seconds)
2022-10-25 12:06:37 +0200darkstardevx(~darkstard@50.126.124.156)
2022-10-25 12:07:37 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 260 seconds)
2022-10-25 12:07:37 +0200tomboy64(~tomboy64@user/tomboy64) (Ping timeout: 260 seconds)
2022-10-25 12:07:52 +0200darkstardevx(~darkstard@50.126.124.156) (Remote host closed the connection)
2022-10-25 12:08:16 +0200darkstardevx(~darkstard@50.126.124.156)
2022-10-25 12:18:29 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.7)
2022-10-25 12:22:21 +0200tomboy64(~tomboy64@user/tomboy64)
2022-10-25 12:23:54 +0200beteigeuze(~Thunderbi@a79-169-109-107.cpe.netcabo.pt)
2022-10-25 12:27:07 +0200cytokine_storm(~cytokine_@user/cytokine-storm/x-1083107) (Ping timeout: 272 seconds)
2022-10-25 12:27:48 +0200cytokine_storm(~cytokine_@user/cytokine-storm/x-1083107)
2022-10-25 12:29:31 +0200nilradical(~nilradica@user/naso) ()
2022-10-25 12:34:57 +0200Kaipei(~Kaiepi@108.175.84.104) (Ping timeout: 240 seconds)
2022-10-25 12:43:50 +0200axeman(~quassel@2a02:8109:a380:78:6c88:f7de:5432:98cd)
2022-10-25 12:45:42 +0200gmg(~user@user/gehmehgeh) (Ping timeout: 258 seconds)
2022-10-25 12:46:05 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 258 seconds)
2022-10-25 12:46:05 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 258 seconds)
2022-10-25 12:46:28 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 258 seconds)
2022-10-25 12:48:23 +0200vglfr(~vglfr@145.224.100.190) (Remote host closed the connection)
2022-10-25 12:49:16 +0200vglfr(~vglfr@145.224.100.190)
2022-10-25 12:50:04 +0200axeman(~quassel@2a02:8109:a380:78:6c88:f7de:5432:98cd) (Ping timeout: 250 seconds)
2022-10-25 12:53:57 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2022-10-25 12:55:54 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-10-25 12:56:20 +0200Kaipei(~Kaiepi@108.175.84.104)
2022-10-25 12:56:52 +0200ec(~ec@gateway/tor-sasl/ec)
2022-10-25 12:57:19 +0200gmg(~user@user/gehmehgeh)
2022-10-25 12:58:40 +0200wonko(~wjc@user/wonko)
2022-10-25 12:59:32 +0200causal(~user@50.35.83.177) (Quit: WeeChat 3.6)
2022-10-25 13:02:05 +0200causal(~user@50.35.83.177)
2022-10-25 13:05:29 +0200jmorris(uid537181@id-537181.uxbridge.irccloud.com)
2022-10-25 13:08:00 +0200xff0x(~xff0x@2405:6580:b080:900:ca36:cc78:fa79:2e35)
2022-10-25 13:12:56 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-10-25 13:12:56 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-10-25 13:12:56 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-10-25 13:14:07 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2022-10-25 13:14:08 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2022-10-25 13:14:55 +0200califax(~califax@user/califx)
2022-10-25 13:17:22 +0200zmt00(~zmt00@user/zmt00) (Ping timeout: 250 seconds)
2022-10-25 13:18:10 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-10-25 13:19:11 +0200argento(~argent0@168-227-97-23.ptr.westnet.com.ar)
2022-10-25 13:20:30 +0200ajb(~ajb@mimas.whatbox.ca) (Quit: bye)
2022-10-25 13:20:40 +0200ajb(~ajb@mimas.whatbox.ca)
2022-10-25 13:21:50 +0200jakalx(~jakalx@base.jakalx.net)
2022-10-25 13:23:17 +0200schweers(~user@p200300e5773c9a00c23ebafffe9bd9c9.dip0.t-ipconnect.de)
2022-10-25 13:25:46 +0200lyle(~lyle@104.246.145.85)
2022-10-25 13:27:55 +0200koz(~koz@121.99.240.58) (Ping timeout: 252 seconds)
2022-10-25 13:32:00 +0200axeman(~quassel@2a02:8109:a380:78:eda1:cd6d:3994:f202)
2022-10-25 13:35:04 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:9df4:2304:ddb0:d61a)
2022-10-25 13:35:49 +0200koz(~koz@121.99.240.58)
2022-10-25 13:36:08 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:ac5b:f1ab:700:d86f)
2022-10-25 13:39:28 +0200cytokine_storm(~cytokine_@user/cytokine-storm/x-1083107) (Ping timeout: 250 seconds)
2022-10-25 13:39:59 +0200cytokine_storm(~cytokine_@user/cytokine-storm/x-1083107)
2022-10-25 13:40:13 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:9df4:2304:ddb0:d61a) (Ping timeout: 272 seconds)
2022-10-25 13:41:08 +0200 <lyle> Here's a code snippit: https://paste.tomsmeding.com/KpZq9ht3
2022-10-25 13:41:52 +0200 <lyle> If I have a constructor that takes a Text, and call it with {}, what is happening. Is there a name for this language feature?
2022-10-25 13:44:18 +0200ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2022-10-25 13:45:07 +0200ec(~ec@gateway/tor-sasl/ec)
2022-10-25 13:46:57 +0200 <int-e> It's part of the record syntax, but without specifying any fields, which somehow makes this work for non-record constructors.
2022-10-25 13:48:05 +0200 <int-e> It was already that way with Haskell 98, "The pattern F {} matches any value built with constructor F, whether or not F was declared with record syntax."
2022-10-25 13:49:17 +0200vglfr(~vglfr@145.224.100.190) (Remote host closed the connection)
2022-10-25 13:49:31 +0200 <int-e> (The space is not mandatory. I personally like omitting it (as done in the snippet) because it ties the {} block to the constructor rather than making it look like a braced expression.)
2022-10-25 13:49:43 +0200cytokine_storm(~cytokine_@user/cytokine-storm/x-1083107) (Ping timeout: 272 seconds)
2022-10-25 13:49:50 +0200cytokine_storm(~cytokine_@user/cytokine-storm/x-1083107)
2022-10-25 13:49:52 +0200vglfr(~vglfr@145.224.100.190)
2022-10-25 13:51:32 +0200kuribas(~user@silversquare.silversquare.eu)
2022-10-25 13:53:39 +0200cytokine_storm(~cytokine_@user/cytokine-storm/x-1083107) (Client Quit)
2022-10-25 13:53:48 +0200 <dminuoso> Ohh! With the space it suddenly makes sense why it looks the way it looks.
2022-10-25 13:53:57 +0200cytokine_storm(~cytokine_@user/cytokine-storm/x-1083107)
2022-10-25 13:53:57 +0200 <dminuoso> I've actually wondered about this myself before.
2022-10-25 13:54:09 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 272 seconds)
2022-10-25 13:54:53 +0200 <lyle> Ok, I understand now--thanks!
2022-10-25 13:55:19 +0200 <lyle> It's about the matching, I was looking at the {} as a argument.
2022-10-25 13:55:45 +0200 <dminuoso> lyle: well you can sort of think of it along the sides of an argument.
2022-10-25 13:56:04 +0200 <dminuoso> Foo { field1 = 1, field2 = 'b' }
2022-10-25 13:56:07 +0200 <dminuoso> Foo { field1 = 1 }
2022-10-25 13:56:10 +0200 <dminuoso> Foo {}
2022-10-25 13:57:00 +0200 <dminuoso> % data Foo = Foo { f1 :: Int, f2 :: Char }
2022-10-25 13:57:00 +0200 <yahb2> <no output>
2022-10-25 13:57:06 +0200 <dminuoso> % x = Foo {}
2022-10-25 13:57:06 +0200 <yahb2> <interactive>:14:5: warning: [-Wmissing-fields] ; • Fields of ‘Foo’ not initialised: ; f1 :: Int ; f2 :: Char ; • In the expression: Foo {} ; In an equation for ‘x’: x...
2022-10-25 13:57:15 +0200 <dminuoso> So this *is* valid.
2022-10-25 13:59:50 +0200wonko(~wjc@user/wonko) (Ping timeout: 250 seconds)
2022-10-25 14:00:05 +0200 <merijn> It's a nice way to match specific constructors without needing to care about the number of arguments it has
2022-10-25 14:00:16 +0200axeman(~quassel@2a02:8109:a380:78:eda1:cd6d:3994:f202) (Ping timeout: 250 seconds)
2022-10-25 14:00:29 +0200 <merijn> So if you refactor and change the fields later, you don't have to fix the pattern except where it matters
2022-10-25 14:00:42 +0200vglfr(~vglfr@145.224.100.190) (Remote host closed the connection)
2022-10-25 14:01:19 +0200cfricke(~cfricke@user/cfricke)
2022-10-25 14:01:19 +0200 <lyle> Ok, thanks everyone. This has been very helpful.
2022-10-25 14:01:43 +0200 <int-e> :t Nothing{}
2022-10-25 14:01:44 +0200 <lambdabot> Maybe a
2022-10-25 14:01:59 +0200vglfr(~vglfr@145.224.100.190)
2022-10-25 14:02:37 +0200 <dminuoso> :t Nothing{}{}
2022-10-25 14:02:38 +0200 <lambdabot> error: Empty record update
2022-10-25 14:02:50 +0200vglfr(~vglfr@145.224.100.190) (Remote host closed the connection)
2022-10-25 14:03:04 +0200 <dminuoso> I feel like an empty record update should be valid!
2022-10-25 14:03:34 +0200vglfr(~vglfr@145.224.100.190)
2022-10-25 14:03:34 +0200 <dminuoso> It's just like allowing a typeclass without type variables
2022-10-25 14:03:37 +0200 <int-e> I kind of agree... though your example might convince me otherwise
2022-10-25 14:04:32 +0200 <int-e> But I've had the `default{ ... }` case, where ... are options that I was playing around with, and it's annoying that the code breaks when the `...` is all commented out.
2022-10-25 14:05:14 +0200 <int-e> But not allowing Nothing{}{}{}{}{}{}{} might be a boon.
2022-10-25 14:05:37 +0200 <dminuoso> It just feels an arbitrary restriction
2022-10-25 14:06:05 +0200 <dminuoso> `flip . flip . flip . flip` is not illegal either
2022-10-25 14:06:23 +0200 <dminuoso> It might be silly and redudant, but I dont need GHC to hold my hands here
2022-10-25 14:06:37 +0200 <dminuoso> % data Foo = Foo { f1 :: Int, f2 :: Char }
2022-10-25 14:06:37 +0200 <yahb2> <no output>
2022-10-25 14:06:41 +0200 <dminuoso> % Foo { f1 }
2022-10-25 14:06:41 +0200 <yahb2> <interactive>:32:7: error: ; • Couldn't match expected type ‘Int’ with actual type ‘Foo -> Int’ ; • Probable cause: ‘f1’ is applied to too few arguments ; In the ‘f1’ field of a recor...
2022-10-25 14:06:44 +0200 <dminuoso> How is this syntactically valid?
2022-10-25 14:07:00 +0200 <merijn> dminuoso: NamedFieldPuns?
2022-10-25 14:07:04 +0200 <dminuoso> Ohh
2022-10-25 14:07:21 +0200 <int-e> % let f1 = 2 in Foo { f1 } -- let's check
2022-10-25 14:07:21 +0200 <yahb2> <interactive>:34:1: error: ; • No instance for (Show Foo) ; arising from a use of ‘Yahb2Defs.limitedPrint’ ; • In a stmt of an interactive GHCi command: ; Yahb2Defs.limitedP...
2022-10-25 14:07:30 +0200 <int-e> oh.
2022-10-25 14:08:05 +0200 <int-e> % deriving instance Show Foo
2022-10-25 14:08:05 +0200 <yahb2> <no output>
2022-10-25 14:08:14 +0200 <int-e> % let f1 = 2 in Foo { f1 }
2022-10-25 14:08:14 +0200 <yahb2> <interactive>:38:15: warning: [-Wmissing-fields] ; • Fields of ‘Foo’ not initialised: ; f2 :: Char ; • In the expression: Foo {f1} ; In the expression: let f1 = 2 in Foo {f1} ...
2022-10-25 14:08:29 +0200 <int-e> % let f1 = 2 in Foo { f1, f2 = 3 }
2022-10-25 14:08:29 +0200 <yahb2> <interactive>:40:30: error: ; • No instance for (Num Char) arising from the literal ‘3’ ; • In the ‘f2’ field of a record ; In the expression: Foo {f1, f2 = 3} ; In the expressi...
2022-10-25 14:08:41 +0200 <int-e> % let f1 = 2 in Foo { f1, f2 = '3' }
2022-10-25 14:08:41 +0200 <yahb2> Foo {f1 = 2, f2 = '3'}
2022-10-25 14:08:49 +0200 <int-e> urgh, should've tested privately
2022-10-25 14:08:56 +0200nate2(~nate@98.45.169.16)
2022-10-25 14:08:59 +0200 <dminuoso> merijn: I prefer RecordWildCards for this job.
2022-10-25 14:09:38 +0200 <dminuoso> It's an extension I flip on liberally, even though I wish the unhygenic macro (on pattern matching) part was a separate extension
2022-10-25 14:09:45 +0200 <int-e> % let f1 = 2 in Foo { f1 } { f2 = '3' } -- should this warn? :P
2022-10-25 14:09:45 +0200 <yahb2> <interactive>:46:15: warning: [-Wmissing-fields] ; • Fields of ‘Foo’ not initialised: ; f2 :: Char ; • In the expression: Foo {f1} ; In the expression: Foo {f1} {f2 = '3'} ; ...
2022-10-25 14:10:18 +0200ajb(~ajb@mimas.whatbox.ca) (Quit: bye)
2022-10-25 14:10:44 +0200 <dminuoso> int-e: Presumably the pattern match coverage checker could be twisted around for this. But the second functions are in the mix, like `let f1 = 2 in Foo { f1 } $ { f2 = '3' }` this would no longer work.
2022-10-25 14:12:38 +0200ajb(~ajb@mimas.whatbox.ca)
2022-10-25 14:14:12 +0200nate2(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2022-10-25 14:15:27 +0200 <int-e> % data Bar a = Bar { x :: a, y :: a } deriving Show
2022-10-25 14:15:27 +0200 <yahb2> <no output>
2022-10-25 14:15:38 +0200ajb(~ajb@mimas.whatbox.ca) (Client Quit)
2022-10-25 14:15:59 +0200 <int-e> % Bar () () { x = 1 } { y = 1 } -- I guess the idea of updating fields one by one is doomed anyway
2022-10-25 14:15:59 +0200 <yahb2> <interactive>:50:8: error: ; • Constructor ‘()’ does not have field ‘x’ ; • In the expression: () {x = 1} ; In the second argument of ‘Bar’, namely ‘() {x = 1} {y = 1}’ ; In the...
2022-10-25 14:15:59 +0200 <kuribas> Why do OOP or lisp researchers need to pick on static types? I saw the talk by Sussman, who's work I greatly admire, then he states "we should focus on flexibility and expressiveness, not on type systems". Why do they think their work invalidates type theory?
2022-10-25 14:17:52 +0200 <int-e> ...maybe if all your code is perfect on the first try...
2022-10-25 14:17:52 +0200 <dminuoso> kuribas: For one, type systems dont just rule out bad programs, they also have a false positive rate.
2022-10-25 14:18:17 +0200 <dminuoso> Good and expressive type systems that dont filter out too many good programs (without inconveniencing the user) are rare.
2022-10-25 14:19:02 +0200 <kuribas> even then, you are not obliged to use the type system for everything.
2022-10-25 14:19:20 +0200 <dminuoso> The value of a type system rapidly decreases if you offer escape hatches
2022-10-25 14:19:33 +0200 <dminuoso> You can observe this in typescript
2022-10-25 14:19:41 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2022-10-25 14:20:21 +0200 <kuribas> the python static type checker has a "strict" mode, which forces you to put a type on all inputs.
2022-10-25 14:20:24 +0200 <dminuoso> And bolting on a type system after the fact tends to be extremely hard for a language that has had semantics and additions for potentially decades without the worry of a type system.
2022-10-25 14:20:31 +0200 <kuribas> You can still use "Any" of course.
2022-10-25 14:21:05 +0200argento(~argent0@168-227-97-23.ptr.westnet.com.ar) (Quit: Lost terminal)
2022-10-25 14:25:17 +0200 <kuribas> int-e: also, his book is mostly on numerical techniques, or interesting algorithms.
2022-10-25 14:25:49 +0200 <kuribas> int-e: a type system has diminishing returns there, however for structure heavy data (REST apis), I find it indespensible.
2022-10-25 14:26:04 +0200 <int-e> ah, the world where everything is a number
2022-10-25 14:26:21 +0200 <int-e> (except for NaN)
2022-10-25 14:26:33 +0200 <kuribas> These techniques seem orthogonal to typesystems to me, they don't invalidate the work of type theorists.
2022-10-25 14:27:04 +0200 <dminuoso> One thing that is definitely incompatible with convenience, is type systems around numbers.
2022-10-25 14:27:15 +0200 <int-e> . o O ( "god is real, unless declared to be an integer" )
2022-10-25 14:27:26 +0200ajb(~ajb@mimas.whatbox.ca)
2022-10-25 14:27:35 +0200 <dminuoso> Consider the number of numeric types we have, and how often you realToFrac or fromInteger you way from a to b
2022-10-25 14:27:41 +0200 <dminuoso> Probably losing information along the way. silently.
2022-10-25 14:27:54 +0200 <dminuoso> The type system causes inconvenience and *still* doesnt prevent information loss
2022-10-25 14:28:23 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-10-25 14:29:16 +0200 <dminuoso> Similar story with floating point numbers, though IEEE754 does allow for exception mechanisms, we just dont have this.
2022-10-25 14:30:26 +0200ajb(~ajb@mimas.whatbox.ca) (Client Quit)
2022-10-25 14:30:56 +0200ajb_(~ajb@mimas.whatbox.ca)
2022-10-25 14:31:06 +0200 <dminuoso> We could of course wrap every computation that could overflow/underflow/narrow a type in some `Either NumericError`, making it doubly inconvenient and relying on magic deforestation to not dunk performance entirely
2022-10-25 14:32:01 +0200 <dminuoso> Though for what its worth, I think `int-cast` solves the `fromIntegral` problem mostly nicely
2022-10-25 14:32:06 +0200 <raehik> oh reminds me dminuoso , if I want an efficient `Word16 -> Int16`, is `fromIntegral` good enough? will it be turned into some efficient primop
2022-10-25 14:32:18 +0200 <dminuoso> raehik: Yes, it will internally be a noop
2022-10-25 14:32:41 +0200Kaipei(~Kaiepi@108.175.84.104) (Read error: Connection reset by peer)
2022-10-25 14:32:44 +0200 <dminuoso> raehik: But for flatparse, I would just use the underlying primop manually
2022-10-25 14:33:01 +0200 <raehik> lovely. there's a nice explicit `word16ToInt16 :: Word16# -> Int16#` exported on 9.4 and maybe 9.2, but not prior
2022-10-25 14:33:08 +0200 <raehik> make that `word16ToInt16#`
2022-10-25 14:33:15 +0200 <dminuoso> raehik: let us talk about that subject
2022-10-25 14:33:37 +0200 <dminuoso> Ive come to the conclusion, that supporting sized primtypes before 9.2 is a fools errand, even internally
2022-10-25 14:33:48 +0200 <dminuoso> before 9.2 you can just unsafeCoerce# between them
2022-10-25 14:33:56 +0200ajb_(~ajb@mimas.whatbox.ca) (Client Quit)
2022-10-25 14:34:09 +0200 <dminuoso> but the reality is, you really cant do anything with sized primops except unsafeCoerce# them to Word# -> and then use them
2022-10-25 14:34:50 +0200 <raehik> OK. Learning that due to our heavy inlining and GHC's reliable unboxing (apparently?), I'm happy to agree
2022-10-25 14:35:39 +0200 <dminuoso> but keeping Word# internally is unfeasible for two reasons: a) it busts 32 bit compatibility (which requires Word64# prims - for which there are primops on 32 bit systems on GHC <= 9.0)
2022-10-25 14:36:01 +0200 <dminuoso> And b) it pins us to a legacy framework that will eventually lead to worse code generation
2022-10-25 14:36:40 +0200 <dminuoso> For instance: post 9.2/9.4 a `data Foo = Foo Word8# Word8# Word8# Word8#` can be packed into a single Word32#
2022-10-25 14:37:06 +0200 <dminuoso> But if we fling around a Word# that eventually gets narrowed, I can see it impacting cmm generation slightly
2022-10-25 14:37:45 +0200 <dminuoso> raehik: so what we have, is what we should stick to. except the Word64# part, that needs fixing pre 9.0
2022-10-25 14:37:51 +0200xff0x(~xff0x@2405:6580:b080:900:ca36:cc78:fa79:2e35) (Ping timeout: 272 seconds)
2022-10-25 14:38:23 +0200 <dminuoso> Presumably its the way it is, because haddock doesnt reflect well enough the CPP switched shenanigans in ghc-prim that happens when word size is less than 64.
2022-10-25 14:38:54 +0200 <dminuoso> you cant even see the Word64# primops on hackage for older GHCs, because that haddock gets executed on a 64 bit machine
2022-10-25 14:40:27 +0200xff0x(~xff0x@2405:6580:b080:900:ca36:cc78:fa79:2e35)
2022-10-25 14:41:02 +0200koz(~koz@121.99.240.58) (Ping timeout: 260 seconds)
2022-10-25 14:41:09 +0200Kaiepi(~Kaiepi@108.175.84.104)
2022-10-25 14:41:47 +0200juri__(~juri@79.140.114.58)
2022-10-25 14:42:12 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
2022-10-25 14:43:41 +0200kenran(~user@user/kenran) (Remote host closed the connection)
2022-10-25 14:44:37 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-10-25 14:44:56 +0200ajb(~ajb@mimas.whatbox.ca)
2022-10-25 14:44:58 +0200 <raehik> dminuoso: oops I dropped connection. last msg 7min ago
2022-10-25 14:45:13 +0200 <raehik> I wrote: If we use Word64 and the "Word64" prims (e.g. `indexWord64OffAddr#`), are we OK for 32-bit support and performance?
2022-10-25 14:46:13 +0200 <raehik> W64# and the various related primops use Word64# on 9.4, Word# on 64-bit pre-9.4, Word32# on 32-bit pre-9.4. is that correct?
2022-10-25 14:46:27 +0200juri_(~juri@84-19-175-179.pool.ovpn.com) (Ping timeout: 272 seconds)
2022-10-25 14:47:40 +0200 <raehik> so we can always wrap one of the output of such a primop into `W64# :: x -> Word64` then rely on GHC unboxing later
2022-10-25 14:47:51 +0200ajb(~ajb@mimas.whatbox.ca) (Client Quit)
2022-10-25 14:47:58 +0200 <raehik> s/one of the output/the output
2022-10-25 14:48:22 +0200koz(~koz@121.99.240.58)
2022-10-25 14:48:58 +0200 <raehik> Wait I got that wrong. On 32-bit, the Word64 primops should return Word64#.
2022-10-25 14:49:01 +0200 <raehik> https://downloads.haskell.org/ghc/latest/docs/users_guide/9.4.1-notes.html
2022-10-25 14:49:23 +0200causal(~user@50.35.83.177) (Quit: WeeChat 3.6)
2022-10-25 14:56:17 +0200ubert(~Thunderbi@178.165.171.4.wireless.dyn.drei.com) (Ping timeout: 240 seconds)
2022-10-25 14:56:18 +0200 <dminuoso> raehik: Correct, and more to the point on pre 9.0 there's a bunch of Word64# primops too.
2022-10-25 14:57:15 +0200ubert(~Thunderbi@178.165.171.4.wireless.dyn.drei.com)
2022-10-25 14:57:27 +0200 <dminuoso> In simple terms: at <= 9.0 there's only two effective prim types: Word# and Word64#, but the latter is turned off - along with all 64-bit sized primops - on 64 bit systems
2022-10-25 14:57:36 +0200 <raehik> dminuoso: do you want to use the primops that explicitly work on Word64# s, rather than the ones with Word64 in the name but actually working on Word# s (on 64-bit)?
2022-10-25 14:57:40 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-25 14:58:08 +0200 <dminuoso> Yes!
2022-10-25 14:58:37 +0200 <kuribas> int-e: btw, this book:https://mitpress.mit.edu/9780262045490/software-design-for-flexibility/
2022-10-25 14:58:53 +0200 <dminuoso> raehik: Or rather, on 32 bit they tend to do work on Word64#
2022-10-25 14:59:01 +0200 <dminuoso> raehik: the primops themselves are CPP switched.
2022-10-25 14:59:17 +0200freeside(~mengwong@103.252.202.193) (Ping timeout: 240 seconds)
2022-10-25 14:59:18 +0200 <dminuoso> a fact you cannot easily observe via hackage, because there is no actual haskell source code to see this
2022-10-25 14:59:32 +0200 <dminuoso> (that is, even haddock doesnt help with view source, because there is no source)
2022-10-25 14:59:32 +0200 <raehik> Right, but they must be in the primops pp file or whatever
2022-10-25 14:59:41 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.7)
2022-10-25 14:59:45 +0200 <dminuoso> They are, but here comes the next big catch
2022-10-25 14:59:49 +0200 <dminuoso> not all of them are exposed
2022-10-25 15:00:07 +0200 <dminuoso> some are exposed only via ghc-prim (which we can just depend upon, its just part of ghc), but not all
2022-10-25 15:00:23 +0200 <dminuoso> I have not yet been able to figure out which primops are exported and which ones are not
2022-10-25 15:00:35 +0200 <dminuoso> Furthermore GHC.Exts from base has only a subset of what GHC.Prim has
2022-10-25 15:00:47 +0200 <dminuoso> And GHC.Prim is a subset from what is defined in the primops pp file
2022-10-25 15:01:43 +0200 <raehik> hmmm! I see
2022-10-25 15:02:14 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-25 15:02:28 +0200 <raehik> why do you want the explicit Word64# primops? easier compatibility going forward, less CPP confusing things (behind the scenes or in flatparse)?
2022-10-25 15:02:50 +0200 <dminuoso> 32 bit compatibility.
2022-10-25 15:03:21 +0200ajb(~ajb@mimas.whatbox.ca)
2022-10-25 15:04:10 +0200 <raehik> provided we're using Word64s which should use Word64# on 32-bit (pre-9.4), what's the difference in compatibility?
2022-10-25 15:04:21 +0200 <dminuoso> raehik: Ah and for the Word64# some arent even primops, so for example you would only find eqWord64# in GHC.Word on 32 bits
2022-10-25 15:04:52 +0200 <dminuoso> raehik: Well, the W64 combinators become safe to use on 32 bit systems. Without it, they are not.
2022-10-25 15:04:53 +0200 <raehik> yeah, I found that -- had to box instead
2022-10-25 15:04:56 +0200 <dminuoso> And not just that
2022-10-25 15:05:04 +0200 <dminuoso> Anything that transitively uses them, which is essentially everything
2022-10-25 15:05:16 +0200 <dminuoso> say `string` relies on scan64# for example
2022-10-25 15:05:40 +0200 <dminuoso> which means the usability of the entire library hinges on this
2022-10-25 15:05:51 +0200 <dminuoso> (or we introduce flags to just work in 32 bit sized chunks)
2022-10-25 15:06:03 +0200 <dminuoso> and mark Word64 bit combinators as incompatible on 32 bit systems
2022-10-25 15:06:14 +0200 <int-e> kuribas: Hmm I see. Sounds interesting. Shouldn't types be largely independent from that though?
2022-10-25 15:06:18 +0200 <dminuoso> The benefit of that approach is that its much much faster
2022-10-25 15:06:33 +0200 <dminuoso> because much of the Word64# machine is implemented via FFI
2022-10-25 15:06:38 +0200 <dminuoso> (in older GHC on 32 bit)
2022-10-25 15:07:00 +0200troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 250 seconds)
2022-10-25 15:07:08 +0200 <kuribas> int-e: yes, that's my thought.
2022-10-25 15:07:45 +0200 <dminuoso> raehik: I dont know, maybe ultimately the answer is to just disable all the 64 bit machinery entirely if WORD_SIZE_IN_BITS < 64
2022-10-25 15:08:17 +0200 <dminuoso> but it requires a bit of additional CPP switcheroo, byteString of string both need to work with either scan64# or scan32# for the large chunks
2022-10-25 15:08:28 +0200 <dminuoso> *byteString or string
2022-10-25 15:08:44 +0200freeside(~mengwong@103.252.202.193)
2022-10-25 15:09:21 +0200 <raehik> dminuoso: I'm confused. As I understand Word64,Word64# are still there and still 8-bytes on 32-bit, just probably lots slower due to the machine word size mismatch. Why would the W64 combinators be unsafe?
2022-10-25 15:09:33 +0200cfricke(~cfricke@user/cfricke)
2022-10-25 15:10:16 +0200 <dminuoso> raehik: So consider `byteString` for instance. It starts in Word64# chunks until there's just Word8#'s left.
2022-10-25 15:11:02 +0200 <dminuoso> If we correctly map scan64# to 32 bit, then we will for a bunch of (what is now) primops instead go through ffi.
2022-10-25 15:11:02 +0200teddyc(theodorc@cassarossa.samfundet.no) (Quit: WeeChat 3.0)
2022-10-25 15:11:37 +0200 <dminuoso> So two scan32# will likely be faster than scan64# on 32 bit systems
2022-10-25 15:12:28 +0200 <dminuoso> One way to address this, is to rebuild `byteString` to start with Word32# (that is Word#) chunks, until there's just Word8#'s left. The presence of 64 bit primitives would just enable someone to use them, but they are inherently slow.
2022-10-25 15:13:02 +0200 <dminuoso> So in that scenario they are not unsafe, just slow to the point that its better to not provide them.
2022-10-25 15:13:41 +0200freeside(~mengwong@103.252.202.193) (Ping timeout: 272 seconds)
2022-10-25 15:14:40 +0200 <raehik> ah! so you want to retain good 32-bit performance
2022-10-25 15:15:26 +0200 <dminuoso> Its additional work and ultimately baggage we will carry on. We already have most combinators duplicated across Basic and Stateful, providing 32 bit versions for each is not helping.
2022-10-25 15:15:40 +0200kuribas(~user@silversquare.silversquare.eu) (Read error: Connection reset by peer)
2022-10-25 15:15:43 +0200 <dminuoso> I dont have good answers honestly, every time I look at it I dont like my previous perspective
2022-10-25 15:15:52 +0200 <MangoIV[m]> Does anybody here use the `hls-eval-plugin` with a different editor than vscode? Thanks in advance.
2022-10-25 15:16:09 +0200 <raehik> I wasn't really bothered if we forwent decent 32-bit performance. And I agree with your point above checking WORD_SIZE_IN_BITS
2022-10-25 15:16:17 +0200zmt00(~zmt00@user/zmt00)
2022-10-25 15:16:36 +0200 <dminuoso> Lets at the very least include an `#if WORD_SIZE_IN_BITS < 32; error "32 bit not supported"; #endif` then
2022-10-25 15:16:49 +0200 <dminuoso> Oh, `WORD_SIZE_IN_BITS < 64` of course
2022-10-25 15:16:52 +0200kuribas(~user@silversquare.silversquare.eu)
2022-10-25 15:17:09 +0200 <dminuoso> If we do that, then the Word64# story becomes easier for GHC 9.4
2022-10-25 15:17:20 +0200 <raehik> dminuoso: why would 32-bit not be supported? I thought the problem was just it would perform poorly
2022-10-25 15:17:43 +0200 <dminuoso> Mmm fair
2022-10-25 15:17:45 +0200 <raehik> Maybe I was missing sth on the 9.4 side, if primops don't align the same way
2022-10-25 15:18:34 +0200 <dminuoso> Well, if we do want 32 bit support, we have to map out all the 64bit primops and see if there's any roundtripping through Word#
2022-10-25 15:19:08 +0200 <dminuoso> Either way, the compatibility shims we have so far is exactly what we need, and we need to keep on doing this.
2022-10-25 15:19:09 +0200 <raehik> Ah, that's true. I was working on cleaning up Word(#) vs. Word64(#) usage in my branch
2022-10-25 15:19:12 +0200 <dminuoso> (I dont see a way to refactor this)
2022-10-25 15:21:46 +0200nilradical(~nilradica@user/naso)
2022-10-25 15:22:17 +0200cytokine_storm(~cytokine_@user/cytokine-storm/x-1083107) (Ping timeout: 240 seconds)
2022-10-25 15:23:19 +0200cytokine_storm(~cytokine_@user/cytokine-storm/x-1083107)
2022-10-25 15:24:13 +0200 <nilradical> after upgrading to macos 13, my tests do not compile: "Bad interface file: .... x.hi mismatched interface file profile tag (wanted "", got "dyn")"
2022-10-25 15:24:31 +0200kuribas(~user@silversquare.silversquare.eu) (ERC (IRC client for Emacs 27.1))
2022-10-25 15:26:43 +0200freeside(~mengwong@103.252.202.193)
2022-10-25 15:27:50 +0200 <nilradical> false alarm, i did a cabal clean and rebuild and now it works. i do get some warnings though:
2022-10-25 15:27:55 +0200 <nilradical> ld: warning: directory not found for option '-L/opt/local/lib/'
2022-10-25 15:27:55 +0200 <nilradical> ld: warning: directory not found for option '-L/usr/local/lib/'
2022-10-25 15:27:55 +0200 <nilradical> ld: warning: -undefined dynamic_lookup may not work with chained fixups
2022-10-25 15:30:02 +0200teddyc(theodorc@cassarossa.samfundet.no)
2022-10-25 15:30:06 +0200 <dminuoso> raehik: By the way, here's my newest addition to the flatparse zoo: refocus :: BS.ByteString -> Parser e a -> Parser e a
2022-10-25 15:30:14 +0200 <dminuoso> Temporarily switches out the internal buffer. :)
2022-10-25 15:30:34 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-10-25 15:30:48 +0200 <int-e> ...useful for implementing #include...
2022-10-25 15:30:52 +0200 <dminuoso> Indeed. :)
2022-10-25 15:31:12 +0200 <raehik> oh, nice! neat indeed
2022-10-25 15:34:51 +0200Sgeo(~Sgeo@user/sgeo)
2022-10-25 15:35:14 +0200enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
2022-10-25 15:42:27 +0200kuribas(~user@silversquare.silversquare.eu)
2022-10-25 15:45:33 +0200kayvank(~user@52-119-115-185.PUBLIC.monkeybrains.net)
2022-10-25 15:46:20 +0200haritz(~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk)
2022-10-25 15:46:20 +0200haritz(~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) (Changing host)
2022-10-25 15:46:20 +0200haritz(~hrtz@user/haritz)
2022-10-25 15:47:17 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-25 15:50:31 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2022-10-25 15:52:52 +0200jmorris(uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2022-10-25 15:53:16 +0200L29Ah(~L29Ah@wikipedia/L29Ah) ()
2022-10-25 15:53:37 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2022-10-25 15:53:37 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2022-10-25 15:53:37 +0200wroathe(~wroathe@user/wroathe)
2022-10-25 15:54:08 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-25 15:57:01 +0200shriekingnoise(~shrieking@186.137.167.202)
2022-10-25 15:59:17 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 272 seconds)
2022-10-25 16:03:26 +0200Tuplanolla(~Tuplanoll@91-159-69-240.elisa-laajakaista.fi)
2022-10-25 16:04:57 +0200schweers(~user@p200300e5773c9a00c23ebafffe9bd9c9.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-10-25 16:07:14 +0200cytokine_storm(~cytokine_@user/cytokine-storm/x-1083107) (Ping timeout: 250 seconds)
2022-10-25 16:07:20 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds)
2022-10-25 16:07:29 +0200cytokine_storm(~cytokine_@user/cytokine-storm/x-1083107)
2022-10-25 16:08:43 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2022-10-25 16:10:37 +0200juri__(~juri@79.140.114.58) (Read error: Connection reset by peer)
2022-10-25 16:15:02 +0200wonko(~wjc@user/wonko)
2022-10-25 16:15:37 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2022-10-25 16:16:46 +0200juri_(~juri@79.140.120.117)
2022-10-25 16:18:10 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-10-25 16:18:22 +0200juri_(~juri@79.140.120.117) (Read error: Connection reset by peer)
2022-10-25 16:21:48 +0200juri_(~juri@79.140.120.117)
2022-10-25 16:22:37 +0200juri_(~juri@79.140.120.117) (Read error: Connection reset by peer)
2022-10-25 16:24:17 +0200qrpnxz(~qrpnxz@fsf/member/qrpnxz) (Ping timeout: 260 seconds)
2022-10-25 16:24:42 +0200qrpnxz(~qrpnxz@fsf/member/qrpnxz)
2022-10-25 16:26:48 +0200juri_(~juri@84-19-175-179.pool.ovpn.com)
2022-10-25 16:30:42 +0200ajb(~ajb@mimas.whatbox.ca) (Quit: bye)
2022-10-25 16:36:26 +0200ahrat(~ahrat@user/ahrat)
2022-10-25 16:37:10 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-10-25 16:37:36 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:9df4:2304:ddb0:d61a)
2022-10-25 16:41:08 +0200micahcantor(~micahcant@132.161.188.118)
2022-10-25 16:41:39 +0200micahcantor(~micahcant@132.161.188.118) (Client Quit)
2022-10-25 16:41:54 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:9df4:2304:ddb0:d61a) (Ping timeout: 250 seconds)
2022-10-25 16:43:09 +0200phma(phma@2001:5b0:211b:8ac8:bff1:e65f:43d1:3dd5) (Read error: Connection reset by peer)
2022-10-25 16:44:00 +0200phma(~phma@2001:5b0:211f:f528:7435:f7cd:de72:7162)
2022-10-25 16:44:39 +0200zebrag(~chris@user/zebrag)
2022-10-25 16:52:57 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds)
2022-10-25 16:53:53 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2022-10-25 17:08:21 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2022-10-25 17:13:30 +0200dextaa(~DV@user/dextaa) (Quit: Leaving)
2022-10-25 17:14:26 +0200dextaa(~DV@user/dextaa)
2022-10-25 17:16:32 +0200 <Profpatsch> kinda annoying that the default instance of <|> for IO is `catchException`
2022-10-25 17:16:43 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds)
2022-10-25 17:16:43 +0200 <Profpatsch> Instead of passing through the Alternative instance of the inner type
2022-10-25 17:17:02 +0200dextaa4(~DV@user/dextaa)
2022-10-25 17:17:09 +0200 <Profpatsch> But I can use Monoid I guess
2022-10-25 17:19:10 +0200dextaa(~DV@user/dextaa) (Ping timeout: 250 seconds)
2022-10-25 17:19:10 +0200dextaa4dextaa
2022-10-25 17:20:48 +0200nilradical(~nilradica@user/naso) ()
2022-10-25 17:22:47 +0200ajb(~ajb@mimas.whatbox.ca)
2022-10-25 17:25:25 +0200dextaa(~DV@user/dextaa) (Ping timeout: 272 seconds)
2022-10-25 17:26:34 +0200ajb(~ajb@mimas.whatbox.ca) (Client Quit)
2022-10-25 17:28:27 +0200jonathanx(~jonathan@h-98-128-168-222.NA.cust.bahnhof.se) (Ping timeout: 260 seconds)
2022-10-25 17:29:14 +0200jco(~jco@90-228-194-139-no542.tbcn.telia.com) (Remote host closed the connection)
2022-10-25 17:30:21 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-25 17:30:28 +0200dextaa(~DV@user/dextaa)
2022-10-25 17:31:43 +0200ajb(~ajb@mimas.whatbox.ca)
2022-10-25 17:31:49 +0200dextaa(~DV@user/dextaa) (Client Quit)
2022-10-25 17:32:55 +0200dextaa(~DV@user/dextaa)
2022-10-25 17:32:57 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-10-25 17:33:29 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2022-10-25 17:34:43 +0200ajb(~ajb@mimas.whatbox.ca) (Client Quit)
2022-10-25 17:35:47 +0200kuribas`(~user@silversquare.silversquare.eu)
2022-10-25 17:36:34 +0200kuribas(~user@silversquare.silversquare.eu) (Read error: Connection reset by peer)
2022-10-25 17:39:26 +0200ajb(~ajb@mimas.whatbox.ca)
2022-10-25 17:41:13 +0200 <davean> Profpatsch: You can of course use applicative to Alternative the interiors of the IO actions, but the IO actions themselves have to be Alternative because they also encode failing.
2022-10-25 17:43:10 +0200ajb(~ajb@mimas.whatbox.ca) (Client Quit)
2022-10-25 17:43:30 +0200quintasan_(~quassel@quintasan.pl) ()
2022-10-25 17:43:41 +0200quintasan(~quassel@quintasan.pl)
2022-10-25 17:45:46 +0200boxscape_(~boxscape_@81.191.27.107)
2022-10-25 17:47:22 +0200kuribas`(~user@silversquare.silversquare.eu) (Remote host closed the connection)
2022-10-25 17:49:29 +0200ahrat(~ahrat@user/ahrat) (Ping timeout: 272 seconds)
2022-10-25 17:49:50 +0200dextaa(~DV@user/dextaa) (Quit: Leaving)
2022-10-25 17:49:51 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:9df4:2304:ddb0:d61a)
2022-10-25 17:50:27 +0200ahrat(~ahrat@user/ahrat)
2022-10-25 17:50:50 +0200dextaa(~DV@user/dextaa)
2022-10-25 17:54:03 +0200ajb(~ajb@mimas.whatbox.ca)
2022-10-25 17:56:30 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-10-25 17:56:57 +0200ajb(~ajb@mimas.whatbox.ca) (Client Quit)
2022-10-25 17:57:57 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-25 17:58:36 +0200Tuplanolla(~Tuplanoll@91-159-69-240.elisa-laajakaista.fi) (Ping timeout: 250 seconds)
2022-10-25 17:59:20 +0200ajb(~ajb@mimas.whatbox.ca)
2022-10-25 18:00:05 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:9df4:2304:ddb0:d61a) (Remote host closed the connection)
2022-10-25 18:00:06 +0200aaronv(~aaronv@user/aaronv) (Quit: You have been kicked for being idle)
2022-10-25 18:00:35 +0200 <jonathanx> when I store data in a TVar (though newTVar/writeTVar), is the data evaluated fully?
2022-10-25 18:00:48 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:9df4:2304:ddb0:d61a)
2022-10-25 18:01:08 +0200 <jonathanx> or can data in a TVar be in the form of unevaluated thunks?
2022-10-25 18:02:15 +0200ajb(~ajb@mimas.whatbox.ca) (Client Quit)
2022-10-25 18:03:11 +0200Kaiepi(~Kaiepi@108.175.84.104) (Quit: Leaving)
2022-10-25 18:04:24 +0200 <geekosaur> pretty sure it's like any other *ref/*var and can hold thunks. consider using $!
2022-10-25 18:04:24 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.7.1)
2022-10-25 18:04:34 +0200o-90(~o-90@gateway/tor-sasl/o-90)
2022-10-25 18:08:08 +0200Kaiepi(~Kaiepi@108.175.84.104)
2022-10-25 18:09:56 +0200ajb(~ajb@mimas.whatbox.ca)
2022-10-25 18:10:27 +0200nate2(~nate@98.45.169.16)
2022-10-25 18:10:32 +0200o-90(~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection)
2022-10-25 18:11:17 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:9df4:2304:ddb0:d61a) (Remote host closed the connection)
2022-10-25 18:12:20 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-10-25 18:12:48 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-10-25 18:12:56 +0200ajb(~ajb@mimas.whatbox.ca) (Quit: bye)
2022-10-25 18:14:12 +0200Tuplanolla(~Tuplanoll@91-159-68-111.elisa-laajakaista.fi)
2022-10-25 18:15:42 +0200nate2(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2022-10-25 18:16:08 +0200enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
2022-10-25 18:17:57 +0200nschoe(~q@2a01:e0a:8e:a190:6b6f:b6f8:7b03:5cf7) (Ping timeout: 240 seconds)
2022-10-25 18:22:19 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:9df4:2304:ddb0:d61a)
2022-10-25 18:23:56 +0200econo(uid147250@user/econo)
2022-10-25 18:28:12 +0200Guest47(~Guest47@106.203.214.117)
2022-10-25 18:32:22 +0200Guest47(~Guest47@106.203.214.117) (Client Quit)
2022-10-25 18:33:38 +0200detuneattune(~detuneatt@user/detuneattune) (Quit: The Lounge - https://thelounge.chat)
2022-10-25 18:38:12 +0200redmp(~redmp@mobile-166-137-178-135.mycingular.net)
2022-10-25 18:38:17 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-10-25 18:38:58 +0200WzC(~Frank@77-162-168-71.fixed.kpn.net)
2022-10-25 18:39:12 +0200coldtom4(~coldtom@coldrick.cc)
2022-10-25 18:39:13 +0200caubert_(~caubert@user/caubert)
2022-10-25 18:39:13 +0200Square(~a@user/square) (Ping timeout: 252 seconds)
2022-10-25 18:39:13 +0200x88x88x(~x88x88x@149.28.53.172) (Ping timeout: 252 seconds)
2022-10-25 18:39:16 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2022-10-25 18:39:20 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2022-10-25 18:39:34 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:ac5b:f1ab:700:d86f) (Quit: WeeChat 2.8)
2022-10-25 18:39:57 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 252 seconds)
2022-10-25 18:39:57 +0200tstat(~tstat@user/tstat) (Ping timeout: 252 seconds)
2022-10-25 18:39:57 +0200Trattue(~Trattue@152.70.182.158) (Ping timeout: 252 seconds)
2022-10-25 18:40:16 +0200justache(~justache@user/justache)
2022-10-25 18:40:19 +0200orcus-(~orcus@user/brprice)
2022-10-25 18:40:19 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2022-10-25 18:40:19 +0200Logio(em@kapsi.fi) (Ping timeout: 252 seconds)
2022-10-25 18:40:19 +0200orcus(~orcus@user/brprice) (Ping timeout: 252 seconds)
2022-10-25 18:40:19 +0200dfordivam1(~dfordivam@tk2-219-19469.vs.sakura.ne.jp) (Ping timeout: 252 seconds)
2022-10-25 18:40:19 +0200Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 252 seconds)
2022-10-25 18:40:20 +0200Hecate(~mariposa@user/hecate) (Ping timeout: 252 seconds)
2022-10-25 18:40:26 +0200drewolson0(~drewolson@user/drewolson)
2022-10-25 18:40:29 +0200polux3(~polux@51-15-169-172.rev.poneytelecom.eu)
2022-10-25 18:40:41 +0200Natch(~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) (Ping timeout: 252 seconds)
2022-10-25 18:40:41 +0200WarzoneCommand(~Frank@77-162-168-71.fixed.kpn.net) (Ping timeout: 252 seconds)
2022-10-25 18:40:41 +0200gabiruh_(~gabiruh@vps19177.publiccloud.com.br) (Ping timeout: 252 seconds)
2022-10-25 18:40:41 +0200heath(~heath@user/heath) (Ping timeout: 252 seconds)
2022-10-25 18:40:41 +0200maerwald(~maerwald@user/maerwald) (Ping timeout: 252 seconds)
2022-10-25 18:40:41 +0200c_wraith(~c_wraith@adjoint.us) (Ping timeout: 252 seconds)
2022-10-25 18:40:41 +0200tolt(~weechat-h@li219-154.members.linode.com) (Ping timeout: 252 seconds)
2022-10-25 18:40:41 +0200int-e(~noone@int-e.eu) (Ping timeout: 252 seconds)
2022-10-25 18:40:42 +0200alp(~alp@user/alp) (Ping timeout: 252 seconds)
2022-10-25 18:40:42 +0200hippoid(~idris@user/hippoid) (Ping timeout: 252 seconds)
2022-10-25 18:40:42 +0200polux(~polux@51-15-169-172.rev.poneytelecom.eu) (Ping timeout: 252 seconds)
2022-10-25 18:40:42 +0200koala_man(~vidar@157.146.251.23.bc.googleusercontent.com) (Ping timeout: 252 seconds)
2022-10-25 18:40:42 +0200maerwald_(~maerwald@mail.hasufell.de)
2022-10-25 18:40:42 +0200polux3polux
2022-10-25 18:40:51 +0200gabiruh(~gabiruh@vps19177.publiccloud.com.br)
2022-10-25 18:40:56 +0200YoungFrawg(~youngfrog@2a02:a03f:ca07:f900:79d4:df1f:2403:242a)
2022-10-25 18:41:03 +0200Unode(~Unode@194.94.44.220) (Ping timeout: 252 seconds)
2022-10-25 18:41:03 +0200rodental(~rodental@38.146.5.222) (Ping timeout: 252 seconds)
2022-10-25 18:41:03 +0200shane(~shane@ana.rch.ist) (Ping timeout: 252 seconds)
2022-10-25 18:41:03 +0200foul_owl(~kerry@23.82.194.107) (Ping timeout: 252 seconds)
2022-10-25 18:41:03 +0200mmaruseacph2(~mihai@198.199.98.239) (Ping timeout: 252 seconds)
2022-10-25 18:41:03 +0200kjak(~kjak@pool-108-31-114-135.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
2022-10-25 18:41:03 +0200chymera(~chymera@ns1000526.ip-51-81-46.us) (Ping timeout: 252 seconds)
2022-10-25 18:41:03 +0200YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Ping timeout: 252 seconds)
2022-10-25 18:41:04 +0200SIben(~SIben@ns3106586.ip-5-135-191.eu) (Ping timeout: 252 seconds)
2022-10-25 18:41:04 +0200kosmikus(~kosmikus@nullzig.kosmikus.org) (Ping timeout: 252 seconds)
2022-10-25 18:41:04 +0200fryguybob(~fryguybob@cpe-74-67-169-145.rochester.res.rr.com) (Ping timeout: 252 seconds)
2022-10-25 18:41:04 +0200Techcable(~Techcable@user/Techcable) (Ping timeout: 252 seconds)
2022-10-25 18:41:04 +0200caubert(~caubert@user/caubert) (Ping timeout: 252 seconds)
2022-10-25 18:41:04 +0200barrucadu(~barrucadu@carcosa.barrucadu.co.uk) (Ping timeout: 252 seconds)
2022-10-25 18:41:04 +0200akhesacaro(~caro@212-83-144-58.rev.poneytelecom.eu) (Ping timeout: 252 seconds)
2022-10-25 18:41:04 +0200telser_(~quassel@user/telser) (Ping timeout: 252 seconds)
2022-10-25 18:41:04 +0200drewolson(~drewolson@user/drewolson) (Ping timeout: 252 seconds)
2022-10-25 18:41:04 +0200coldtom(~coldtom@coldrick.cc) (Ping timeout: 252 seconds)
2022-10-25 18:41:04 +0200_________(~nobody@user/noodly) (Ping timeout: 252 seconds)
2022-10-25 18:41:05 +0200drewolson0drewolson
2022-10-25 18:41:05 +0200coldtom4coldtom
2022-10-25 18:41:16 +0200Unode(~Unode@194.94.44.220)
2022-10-25 18:41:20 +0200Trattue(~Trattue@152.70.182.158)
2022-10-25 18:41:25 +0200koolazer(~koo@user/koolazer) (Ping timeout: 252 seconds)
2022-10-25 18:41:25 +0200bcoppens(~bartcopp@vpn2.bartcoppens.be) (Ping timeout: 252 seconds)
2022-10-25 18:41:25 +0200isamiamsam(~d@zukertort.childrenofmay.org) (Ping timeout: 252 seconds)
2022-10-25 18:41:25 +0200hexeme(~hexeme@user/hexeme) (Ping timeout: 252 seconds)
2022-10-25 18:41:25 +0200tdammers(~tdammers@77.109.72.118.res.static.edpnet.net) (Ping timeout: 252 seconds)
2022-10-25 18:41:25 +0200davean(~davean@davean.sciesnet.net) (Ping timeout: 252 seconds)
2022-10-25 18:41:25 +0200piele(~piele@tbonesteak.creativeserver.net) (Ping timeout: 252 seconds)
2022-10-25 18:41:25 +0200justHaunted(~justache@user/justache) (Ping timeout: 252 seconds)
2022-10-25 18:41:25 +0200pie_(~pie_bnc@user/pie/x-2818909) (Ping timeout: 252 seconds)
2022-10-25 18:41:26 +0200sm[i](~user@plaintextaccounting/sm) (Ping timeout: 252 seconds)
2022-10-25 18:41:26 +0200Rembane(~Rembane@li346-36.members.linode.com) (Ping timeout: 252 seconds)
2022-10-25 18:41:27 +0200hexeme_(~hexeme@user/hexeme)
2022-10-25 18:41:47 +0200fjmorazan(~quassel@user/fjmorazan) (Ping timeout: 252 seconds)
2022-10-25 18:41:47 +0200Zemyla(~ec2-user@ec2-54-80-174-150.compute-1.amazonaws.com) (Ping timeout: 252 seconds)
2022-10-25 18:41:47 +0200cross(~cross@spitfire.i.gajendra.net) (Ping timeout: 252 seconds)
2022-10-25 18:41:47 +0200tessier(~treed@98.171.210.130) (Ping timeout: 252 seconds)
2022-10-25 18:41:47 +0200robbert-vdh(~robbert@robbertvanderhelm.nl) (Ping timeout: 252 seconds)
2022-10-25 18:41:47 +0200carbolymer(~carbolyme@dropacid.net) (Ping timeout: 252 seconds)
2022-10-25 18:41:49 +0200pie_(~pie_bnc@user/pie/x-2818909)
2022-10-25 18:41:49 +0200piele(~piele@tbonesteak.creativeserver.net)
2022-10-25 18:41:55 +0200telser(~quassel@user/telser)
2022-10-25 18:41:57 +0200YoungFrawgYoungFrog
2022-10-25 18:42:03 +0200carbolymer(~carbolyme@dropacid.net)
2022-10-25 18:42:03 +0200fjmorazan(~quassel@user/fjmorazan)
2022-10-25 18:42:12 +0200Logio(em@kapsi.fi)
2022-10-25 18:42:12 +0200chymera(~chymera@ns1000526.ip-51-81-46.us)
2022-10-25 18:42:15 +0200Hecate(~mariposa@user/hecate)
2022-10-25 18:42:24 +0200Maxdamantus(~Maxdamant@user/maxdamantus)
2022-10-25 18:42:25 +0200kosmikus(~kosmikus@nullzig.kosmikus.org)
2022-10-25 18:42:36 +0200heath(~heath@user/heath)
2022-10-25 18:42:37 +0200int-e(~noone@int-e.eu)
2022-10-25 18:42:37 +0200dfordivam1(~dfordivam@tk2-219-19469.vs.sakura.ne.jp)
2022-10-25 18:42:38 +0200koala_man(~vidar@157.146.251.23.bc.googleusercontent.com)
2022-10-25 18:42:38 +0200hippoid(~idris@user/hippoid)
2022-10-25 18:42:42 +0200tolt(~weechat-h@li219-154.members.linode.com)
2022-10-25 18:42:43 +0200alpm(~alp@user/alp)
2022-10-25 18:42:49 +0200shane(~shane@ana.rch.ist)
2022-10-25 18:42:51 +0200barrucadu(~barrucadu@carcosa.barrucadu.co.uk)
2022-10-25 18:42:56 +0200SIben(~SIben@ns3106586.ip-5-135-191.eu)
2022-10-25 18:42:56 +0200kjak(~kjak@pool-108-31-114-135.washdc.fios.verizon.net)
2022-10-25 18:42:58 +0200mmaruseacph2(~mihai@198.199.98.239)
2022-10-25 18:43:01 +0200Zemyla(~ec2-user@ec2-54-80-174-150.compute-1.amazonaws.com)
2022-10-25 18:43:04 +0200_________(~nobody@user/noodly)
2022-10-25 18:43:07 +0200fryguybob(~fryguybob@cpe-74-67-169-145.rochester.res.rr.com)
2022-10-25 18:43:07 +0200Techcable(~Techcable@user/Techcable)
2022-10-25 18:43:08 +0200bcoppens(~bartcopp@vpn2.bartcoppens.be)
2022-10-25 18:43:19 +0200Rembane(~Rembane@li346-36.members.linode.com)
2022-10-25 18:43:21 +0200isamiamsam(~d@zukertort.childrenofmay.org)
2022-10-25 18:43:27 +0200koolazer(~koo@user/koolazer)
2022-10-25 18:43:35 +0200tessier(~treed@98.171.210.130)
2022-10-25 18:43:39 +0200robbert-vdh(~robbert@robbertvanderhelm.nl)
2022-10-25 18:43:52 +0200cross(~cross@spitfire.i.gajendra.net)
2022-10-25 18:43:59 +0200tstat(~tstat@user/tstat)
2022-10-25 18:44:00 +0200Natch(~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se)
2022-10-25 18:45:50 +0200x88x88x(~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb)
2022-10-25 18:46:11 +0200niko(niko@libera/staff/niko) (Ping timeout: 608 seconds)
2022-10-25 18:47:18 +0200Square(~a@user/square)
2022-10-25 18:47:24 +0200c_wraith(~c_wraith@adjoint.us)
2022-10-25 18:48:07 +0200sm[i](~user@plaintextaccounting/sm)
2022-10-25 18:48:50 +0200nschoe(~q@2a01:e0a:8e:a190:8a5e:a72c:c353:f747)
2022-10-25 18:51:46 +0200ajb(~ajb@mimas.whatbox.ca)
2022-10-25 18:52:29 +0200ajb(~ajb@mimas.whatbox.ca) (Read error: Connection timed out)
2022-10-25 18:53:23 +0200niko(niko@libera/staff/niko)
2022-10-25 18:53:33 +0200rodental(~rodental@38.146.5.222)
2022-10-25 18:54:12 +0200davean(~davean@davean.sciesnet.net)
2022-10-25 18:54:12 +0200tdammers(~tdammers@77.109.72.118.res.static.edpnet.net)
2022-10-25 18:54:54 +0200foul_owl(~kerry@23.82.194.107)
2022-10-25 18:56:24 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
2022-10-25 18:56:39 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2022-10-25 18:58:03 +0200justachejustHaunted
2022-10-25 18:58:25 +0200titibandit(~titibandi@xdsl-87-78-36-34.nc.de)
2022-10-25 18:58:52 +0200thyriaen(~thyriaen@2a01:aea0:dd4:470d:6245:cbff:fe9f:48b1)
2022-10-25 19:00:08 +0200wonko(~wjc@user/wonko) (Ping timeout: 250 seconds)
2022-10-25 19:01:28 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-25 19:02:40 +0200EvanR_EvanR
2022-10-25 19:05:24 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl)
2022-10-25 19:06:21 +0200akhesacaro(~caro@212-83-144-58.rev.poneytelecom.eu)
2022-10-25 19:08:21 +0200segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
2022-10-25 19:10:18 +0200titibandit(~titibandi@xdsl-87-78-36-34.nc.de) (Remote host closed the connection)
2022-10-25 19:22:12 +0200beteigeuze(~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 260 seconds)
2022-10-25 19:25:30 +0200Midjak(~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
2022-10-25 19:28:51 +0200beteigeuze(~Thunderbi@89.187.168.55)
2022-10-25 19:29:43 +0200finsternis(~X@23.226.237.192)
2022-10-25 19:30:22 +0200shapr(~user@net-5-88-239-29.cust.vodafonedsl.it) (Ping timeout: 260 seconds)
2022-10-25 19:33:04 +0200beteigeuze(~Thunderbi@89.187.168.55) (Ping timeout: 250 seconds)
2022-10-25 19:34:37 +0200raym(~ray@user/raym) (Ping timeout: 240 seconds)
2022-10-25 19:36:45 +0200raym(~ray@user/raym)
2022-10-25 19:38:57 +0200mixfix41(~sdeny9ee@user/mixfix41) (Ping timeout: 240 seconds)
2022-10-25 19:46:38 +0200ajb(~ajb@mimas.whatbox.ca)
2022-10-25 19:49:00 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-25 19:49:21 +0200ajb(~ajb@mimas.whatbox.ca) (Read error: Connection timed out)
2022-10-25 19:51:32 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:9df4:2304:ddb0:d61a) (Remote host closed the connection)
2022-10-25 19:53:58 +0200ajb(~ajb@mimas.whatbox.ca)
2022-10-25 19:54:11 +0200Sciencentistguy(~sciencent@hacksoc/ordinary-member)
2022-10-25 19:55:26 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-10-25 19:56:59 +0200ajb(~ajb@mimas.whatbox.ca) (Client Quit)
2022-10-25 19:57:11 +0200ajb(~ajb@mimas.whatbox.ca)
2022-10-25 20:00:16 +0200ajb(~ajb@mimas.whatbox.ca) (Client Quit)
2022-10-25 20:00:16 +0200Vajb(~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57) (Read error: Connection reset by peer)
2022-10-25 20:00:33 +0200Vajb(~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi)
2022-10-25 20:00:41 +0200boxscape_(~boxscape_@81.191.27.107) (Remote host closed the connection)
2022-10-25 20:00:58 +0200boxscape_(~boxscape_@81.191.27.107)
2022-10-25 20:04:51 +0200chele(~chele@user/chele) (Remote host closed the connection)
2022-10-25 20:05:40 +0200ft(~ft@p3e9bc845.dip0.t-ipconnect.de)
2022-10-25 20:06:43 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:9df4:2304:ddb0:d61a)
2022-10-25 20:06:54 +0200alpmalp
2022-10-25 20:09:49 +0200mvk(~mvk@2607:fea8:5ce3:8500::a80f)
2022-10-25 20:10:49 +0200mbuf(~Shakthi@49.204.140.84) (Quit: Leaving)
2022-10-25 20:17:28 +0200Vajb(~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-10-25 20:19:02 +0200Vajb(~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57)
2022-10-25 20:20:54 +0200koz(~koz@121.99.240.58) (Quit: ZNC 1.8.2 - https://znc.in)
2022-10-25 20:21:39 +0200koz(~koz@121.99.240.58)
2022-10-25 20:25:23 +0200ajb(~ajb@mimas.whatbox.ca)
2022-10-25 20:28:25 +0200ajb(~ajb@mimas.whatbox.ca) (Client Quit)
2022-10-25 20:30:00 +0200SethTisue(sid14912@id-14912.ilkley.irccloud.com) ()
2022-10-25 20:30:10 +0200SethTisue(sid14912@id-14912.ilkley.irccloud.com)
2022-10-25 20:30:35 +0200ajb(~ajb@mimas.whatbox.ca)
2022-10-25 20:31:05 +0200segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 276 seconds)
2022-10-25 20:31:07 +0200zeenk(~zeenk@2a02:2f04:a105:5d00:c862:f190:2ea:d494)
2022-10-25 20:33:31 +0200ajb(~ajb@mimas.whatbox.ca) (Client Quit)
2022-10-25 20:35:36 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2022-10-25 20:36:57 +0200nschoe(~q@2a01:e0a:8e:a190:8a5e:a72c:c353:f747) (Quit: Switching off)
2022-10-25 20:45:42 +0200lyle(~lyle@104.246.145.85) (Quit: WeeChat 3.7.1)
2022-10-25 20:46:22 +0200ajb(~ajb@mimas.whatbox.ca)
2022-10-25 20:46:35 +0200troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2022-10-25 20:49:22 +0200ajb(~ajb@mimas.whatbox.ca) (Quit: bye)
2022-10-25 20:54:06 +0200hnOsmium0001(uid453710@user/hnOsmium0001) (Ping timeout: 264 seconds)
2022-10-25 20:57:41 +0200hnOsmium0001(uid453710@user/hnOsmium0001)
2022-10-25 20:59:00 +0200danza(~francesco@151.43.89.78)
2022-10-25 20:59:12 +0200talismanick(~talismani@76.133.152.122)
2022-10-25 21:05:40 +0200phma_(phma@2001:5b0:211f:f528:7435:f7cd:de72:7162)
2022-10-25 21:05:48 +0200fserucas|eod(~fserucas|@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Quit: Leaving)
2022-10-25 21:07:24 +0200coot(~coot@213.134.171.3)
2022-10-25 21:09:26 +0200phma(~phma@2001:5b0:211f:f528:7435:f7cd:de72:7162) (Ping timeout: 276 seconds)
2022-10-25 21:16:33 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:9df4:2304:ddb0:d61a) (Remote host closed the connection)
2022-10-25 21:25:45 +0200dextaa2(~DV@user/dextaa)
2022-10-25 21:27:57 +0200dextaa(~DV@user/dextaa) (Ping timeout: 240 seconds)
2022-10-25 21:27:57 +0200dextaa2dextaa
2022-10-25 21:30:57 +0200redmp(~redmp@mobile-166-137-178-135.mycingular.net) (Ping timeout: 240 seconds)
2022-10-25 21:31:22 +0200danza(~francesco@151.43.89.78) (Ping timeout: 255 seconds)
2022-10-25 21:41:13 +0200redmp(~redmp@mobile-166-137-178-135.mycingular.net)
2022-10-25 21:43:45 +0200boxscape_(~boxscape_@81.191.27.107) (Remote host closed the connection)
2022-10-25 21:44:08 +0200danza(~francesco@ca-18-217-177.service.infuturo.it)
2022-10-25 22:00:43 +0200redmp(~redmp@mobile-166-137-178-135.mycingular.net) (Ping timeout: 246 seconds)
2022-10-25 22:02:48 +0200redmp(~redmp@mobile-166-177-249-89.mycingular.net)
2022-10-25 22:06:02 +0200zebrag(~chris@user/zebrag) (Ping timeout: 250 seconds)
2022-10-25 22:11:19 +0200redmp(~redmp@mobile-166-177-249-89.mycingular.net) (Ping timeout: 272 seconds)
2022-10-25 22:11:57 +0200nate2(~nate@98.45.169.16)
2022-10-25 22:13:09 +0200kuribas(~user@ptr-17d51epif3m378oeqcg.18120a2.ip6.access.telenet.be)
2022-10-25 22:14:45 +0200noctux1noctuks
2022-10-25 22:15:39 +0200 <kuribas> dynamic types are so intuitive! The types don't get in the way!
2022-10-25 22:15:44 +0200 <kuribas> "TypeError: only integer scalar arrays can be converted to a scalar index"
2022-10-25 22:16:52 +0200nate2(~nate@98.45.169.16) (Ping timeout: 250 seconds)
2022-10-25 22:17:03 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:9df4:2304:ddb0:d61a)
2022-10-25 22:17:06 +0200phma_phma
2022-10-25 22:17:28 +0200redmp(~redmp@mobile-166-177-249-89.mycingular.net)
2022-10-25 22:18:13 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2022-10-25 22:20:52 +0200caubert_(~caubert@user/caubert) (Remote host closed the connection)
2022-10-25 22:21:04 +0200caubert(~caubert@user/caubert)
2022-10-25 22:21:38 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:9df4:2304:ddb0:d61a) (Ping timeout: 250 seconds)
2022-10-25 22:24:30 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-25 22:24:45 +0200 <EvanR> were you trying to use a double array as an index
2022-10-25 22:25:06 +0200 <kuribas> should be in #haskell-offtopic, sorry
2022-10-25 22:25:08 +0200 <EvanR> if so, a dynamic typicist might say that should work
2022-10-25 22:25:25 +0200 <kuribas> I was just concatenating an three arrays in python
2022-10-25 22:26:44 +0200 <EvanR> I went to see if I could reproduce that and realized ubuntu encouraged me to uninstall python last week
2022-10-25 22:26:56 +0200 <EvanR> so I did lol
2022-10-25 22:27:24 +0200 <kuribas> numpy.concatenate(numpy.repeat(0.0, 30), irfft([0 if x < 10 else x - 10 for x in range(20)]))
2022-10-25 22:28:49 +0200 <kuribas> ah, the first argument is a list
2022-10-25 22:35:18 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2022-10-25 22:39:18 +0200 <EvanR> yeah I vaguely remember working in languages X and Y where no one seemed to know what the arguments were supposed to be, it was something you just had to feel
2022-10-25 22:39:34 +0200gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de)
2022-10-25 22:39:53 +0200 <EvanR> sometimes attempts were made at documentation
2022-10-25 22:40:41 +0200 <EvanR> arguments and return type(s)
2022-10-25 22:40:42 +0200 <kuribas> EvanRI guess looking at the source code?
2022-10-25 22:41:22 +0200 <EvanR> for return types yeah a lot of looking at source because that was more rarely documented
2022-10-25 22:46:37 +0200terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1) (Ping timeout: 240 seconds)
2022-10-25 22:47:24 +0200mmhat(~mmh@p200300f1c730762dee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2022-10-25 22:49:14 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-25 22:53:24 +0200dkeohane(~dkeohane@csm-wl-dhcp-207-224.mines.edu)
2022-10-25 22:54:00 +0200terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1)
2022-10-25 22:56:02 +0200mastarija(~mastarija@188.252.197.165)
2022-10-25 22:56:33 +0200 <mastarija> is there a way to see some intermediate representation code of a haskell program
2022-10-25 22:56:54 +0200 <mastarija> For example, code that is a result of a tail call optimization?
2022-10-25 22:57:05 +0200 <mastarija> *elimination
2022-10-25 22:57:32 +0200polo(~polo@user/polo)
2022-10-25 22:57:45 +0200 <geekosaur> -ddump-ds to the compiler
2022-10-25 22:58:19 +0200 <geekosaur> although tail call elimination isn't reallly a thing: all calls are tail calls and CPS
2022-10-25 22:58:38 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 276 seconds)
2022-10-25 22:59:09 +0200coot(~coot@213.134.171.3) (Quit: coot)
2022-10-25 23:00:15 +0200 <mastarija> Ok, that's the flag I was looking for
2022-10-25 23:00:17 +0200 <mastarija> Thanks!
2022-10-25 23:01:09 +0200mmhat(~mmh@p200300f1c73076dbee086bfffe095315.dip0.t-ipconnect.de)
2022-10-25 23:02:20 +0200 <monochrom> Most of the intermediate representations (ds, core, stg) will not disambiguate it because they are all still functional languages.
2022-10-25 23:02:33 +0200 <geekosaur> also most of the optimizations happen to the core representation, and ds is the first core stage, not the last
2022-10-25 23:02:52 +0200 <monochrom> The first intermediate form that actually says "allocate heap" or "push stack" is Cmm.
2022-10-25 23:03:24 +0200 <monochrom> Alternatively the black box observation is benchmarking and possibily profiling.
2022-10-25 23:04:30 +0200 <mastarija> So, -ddump-opt-cmm is also something to look at.
2022-10-25 23:04:40 +0200 <mastarija> I'm not really optimizing anything, just exploring a little
2022-10-25 23:04:57 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-10-25 23:05:28 +0200thyriaen(~thyriaen@2a01:aea0:dd4:470d:6245:cbff:fe9f:48b1) (Ping timeout: 246 seconds)
2022-10-25 23:05:44 +0200 <geekosaur> be aware that the code is already CPS-transformed at that point, so will be harder to follow than imperative-style code
2022-10-25 23:07:07 +0200 <monochrom> When it's my turn to look at these things, I use the full suite -ddump-simpl -ddump-prep -ddump-final-stg -ddump-<one of the cmms> -ddump-asm so I have all the stepping stones I need to connect Haskell to asm.
2022-10-25 23:07:26 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2022-10-25 23:07:51 +0200 <monochrom> Plus https://github.com/takenobu-hs/haskell-ghc-illustrated for background knowledge.
2022-10-25 23:07:57 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
2022-10-25 23:09:35 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-10-25 23:10:08 +0200ajb(~ajb@mimas.whatbox.ca)
2022-10-25 23:10:21 +0200 <monochrom> My view is that once you desugar "jsr xxx ... ret" to "push foo, jmp xxx ... pop bx, jmp bx" you no longer see a difference between "call - return" and CPS.
2022-10-25 23:10:37 +0200danza(~francesco@ca-18-217-177.service.infuturo.it) (Ping timeout: 240 seconds)
2022-10-25 23:11:25 +0200ajb(~ajb@mimas.whatbox.ca) (Read error: Connection timed out)
2022-10-25 23:11:31 +0200 <monochrom> because the latter is CPS but it's call-return desugared.
2022-10-25 23:12:09 +0200 <monochrom> Corollary: Unpopular opinion: RISC does hardware CPS transform >:)
2022-10-25 23:12:50 +0200 <geekosaur> https://play-haskell.tomsmeding.com/ may also be of interest
2022-10-25 23:13:09 +0200 <geekosaur> note the buttons at top left to request various kinds of dumps
2022-10-25 23:13:58 +0200 <mastarija> Nice resources. Thanks.
2022-10-25 23:14:11 +0200 <mastarija> I didn't know about the ghc illustrated :)
2022-10-25 23:14:38 +0200polo(~polo@user/polo) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-10-25 23:15:53 +0200 <mastarija> what would be a good flag to check if rewrite rules have been applied?
2022-10-25 23:16:08 +0200ajb(~ajb@mimas.whatbox.ca)
2022-10-25 23:16:25 +0200 <geekosaur> -ddump-rule-firings
2022-10-25 23:17:22 +0200 <geekosaur> note that this only tells you that a rule fired, not what it did; I don't recall off the top of my head how you get that
2022-10-25 23:18:29 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:c48:38cf:dc4d:4fed)
2022-10-25 23:19:08 +0200ajb(~ajb@mimas.whatbox.ca) (Client Quit)
2022-10-25 23:22:44 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:c48:38cf:dc4d:4fed) (Ping timeout: 250 seconds)
2022-10-25 23:23:25 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-10-25 23:24:07 +0200polo(~polo@user/polo)
2022-10-25 23:24:10 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl)
2022-10-25 23:28:09 +0200 <mastarija> Does haskell do any optimisations to a code like this? `sum (x:xs) = x + sum xs`
2022-10-25 23:29:40 +0200 <mastarija> I don't quite understand if rewrite rules can be used to rewrite patterns like `f (x:xs) = x `op` f xs` in terms of `foldr` or something.
2022-10-25 23:34:57 +0200freeside(~mengwong@103.252.202.193) (Ping timeout: 240 seconds)
2022-10-25 23:36:12 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-25 23:36:25 +0200mastarija(~mastarija@188.252.197.165) (Quit: Leaving)
2022-10-25 23:37:39 +0200segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
2022-10-25 23:40:00 +0200 <geekosaur> @tell mastarija no, because it would have different strictness (pattern matches are strict unless using ~, folds are usually lazy)
2022-10-25 23:40:00 +0200 <lambdabot> Consider it noted.
2022-10-25 23:40:38 +0200 <geekosaur> @tell mastarija rewrite rules are generally very careful to maintain the strictness guarantees of the original code
2022-10-25 23:40:38 +0200 <lambdabot> Consider it noted.
2022-10-25 23:43:19 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-25 23:43:57 +0200polo(~polo@user/polo) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-10-25 23:44:31 +0200polo(~polo@user/polo)
2022-10-25 23:47:18 +0200polo(~polo@user/polo) (Client Quit)
2022-10-25 23:47:25 +0200freeside(~mengwong@103.252.202.193)
2022-10-25 23:51:57 +0200acidjnk(~acidjnk@p200300d6e7137a282ddda09dd97b606e.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-10-25 23:53:50 +0200whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2022-10-25 23:58:17 +0200merijn(~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)