2021/12/19

2021-12-19 00:00:13 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:178:131c:7a0c:e758) (Remote host closed the connection)
2021-12-19 00:10:21 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 00:10:22 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 00:12:47 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-12-19 00:18:58 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-12-19 00:19:03 +0100 <zero> can someone help me understand where I should put my class constraints when i use forall.?
2021-12-19 00:19:36 +0100zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2021-12-19 00:19:57 +0100 <zero> frequencies :: (Foldable f, Ord a) => forall a. f a -> Map a Int -- does this make sense?
2021-12-19 00:19:57 +0100 <EvanR> forall usually goes all the way to the right
2021-12-19 00:20:04 +0100 <EvanR> ~~~~~~
2021-12-19 00:20:06 +0100 <EvanR> to the left
2021-12-19 00:20:22 +0100 <EvanR> forall is only somewhere in the middle when doing RankN types
2021-12-19 00:20:33 +0100 <hpc> the way to remember is forall brings things into scope
2021-12-19 00:20:43 +0100zaquest(~notzaques@5.130.79.72)
2021-12-19 00:20:57 +0100 <hpc> it's like writing "x \x -> stuff"
2021-12-19 00:21:24 +0100 <EvanR> forall f a . (Foldable f, Ord a) => f a -> Map a Int
2021-12-19 00:22:10 +0100 <zero> fair enough. and we need the f beacause we lost the implicit quantification, right?
2021-12-19 00:23:04 +0100 <EvanR> if you're doing ScopedTypeVariables you have to name them all
2021-12-19 00:23:04 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-19 00:23:04 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-19 00:23:04 +0100wroathe(~wroathe@user/wroathe)
2021-12-19 00:23:31 +0100 <EvanR> unless they we're already introduced by an enclosing forall
2021-12-19 00:24:06 +0100 <EvanR> name em all or name none
2021-12-19 00:25:38 +0100 <monochrom> One forall to bind them all. :)
2021-12-19 00:25:47 +0100 <dsal> I did the "number my tree" thing for last night's thing using traverse in a State monad and was trying to see if I could do something fancier with partsOf/biplate, but all attempts are worse.
2021-12-19 00:25:54 +0100 <dsal> I need to just get around to learning how to make a zipper.
2021-12-19 00:27:16 +0100 <EvanR> numbers...
2021-12-19 00:27:50 +0100tomboy64(~tomboy64@user/tomboy64) (Quit: Off to see the wizard.)
2021-12-19 00:28:29 +0100 <dsal> This is not actually that bad: `number = flip evalState 0 . traverse (\x -> (,x) <$> (id <+= 1))`
2021-12-19 00:28:32 +0100 <dsal> but the solution kind of sucks.
2021-12-19 00:32:49 +0100tomboy64(~tomboy64@user/tomboy64)
2021-12-19 00:33:50 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-19 00:39:57 +0100acidjnk(~acidjnk@pd9e0bdc0.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2021-12-19 00:44:59 +0100max22-(~maxime@2a01cb088335980062ccec88c4c3abad.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
2021-12-19 00:46:07 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3)
2021-12-19 00:47:01 +0100Jing_(~hedgehog@2604:a840:3::103e) (Remote host closed the connection)
2021-12-19 00:47:34 +0100Jing(~hedgehog@2604:a840:3::103e)
2021-12-19 00:49:52 +0100snake(~snake@user/snake) (Quit: Quitting)
2021-12-19 00:52:08 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:7cf1:85e9:3000:4f4d)
2021-12-19 00:52:26 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3) (Ping timeout: 245 seconds)
2021-12-19 00:52:57 +0100jumper149(~jumper149@static.6.71.203.116.clients.your-server.de) (Quit: WeeChat 3.3)
2021-12-19 00:55:14 +0100Henson(~kvirc@107-179-133-201.cpe.teksavvy.com)
2021-12-19 00:55:53 +0100snake(~snake@user/snake)
2021-12-19 01:00:28 +0100tomboy64(~tomboy64@user/tomboy64) (Quit: Off to see the wizard.)
2021-12-19 01:02:36 +0100tomboy64(~tomboy64@user/tomboy64)
2021-12-19 01:03:46 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2021-12-19 01:05:49 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Quit: WeeChat 3.3)
2021-12-19 01:06:17 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4)
2021-12-19 01:08:02 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-12-19 01:09:57 +0100jpds1jpds
2021-12-19 01:10:53 +0100bollu(uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2021-12-19 01:13:56 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:7cf1:85e9:3000:4f4d) (Remote host closed the connection)
2021-12-19 01:19:43 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:7cf1:85e9:3000:4f4d)
2021-12-19 01:19:45 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3)
2021-12-19 01:20:17 +0100dsrt^(~dsrt@64.253.22.77) (Ping timeout: 240 seconds)
2021-12-19 01:20:52 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2021-12-19 01:24:08 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2021-12-19 01:24:27 +0100son0p(~ff@181.136.122.143) (Ping timeout: 268 seconds)
2021-12-19 01:24:32 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3) (Ping timeout: 240 seconds)
2021-12-19 01:27:38 +0100Feuermagier(~Feuermagi@user/feuermagier)
2021-12-19 01:27:55 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-12-19 01:28:51 +0100vincenz(~poucet@104.134.21.7) (Remote host closed the connection)
2021-12-19 01:32:15 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-12-19 01:33:49 +0100DNH(~DNH@2a02:8108:1100:16d8:1941:a480:a6d8:8bc5)
2021-12-19 01:52:19 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3)
2021-12-19 01:52:32 +0100Henson(~kvirc@107-179-133-201.cpe.teksavvy.com) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
2021-12-19 01:56:15 +0100SummerSonw(~The_viole@203.77.49.232)
2021-12-19 01:57:01 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3) (Ping timeout: 245 seconds)
2021-12-19 01:58:12 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-12-19 01:59:35 +0100img(~img@user/img)
2021-12-19 02:04:12 +0100mvk(~mvk@2607:fea8:5cdd:f000::745c)
2021-12-19 02:06:01 +0100kranius(~kranius@222.186.245.213.rev.sfr.net)
2021-12-19 02:06:29 +0100dsrt^(~dsrt@64.253.22.77)
2021-12-19 02:09:47 +0100ees(~user@pool-108-18-30-46.washdc.fios.verizon.net)
2021-12-19 02:11:33 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-12-19 02:15:16 +0100Tuplanolla(~Tuplanoll@91-159-68-169.elisa-laajakaista.fi) (Quit: Leaving.)
2021-12-19 02:15:51 +0100delYsid(~user@84-115-55-45.cable.dynamic.surfer.at) (ERC (IRC client for Emacs 27.1.50))
2021-12-19 02:17:11 +0100xb0o2(~xb0o2@user/xb0o2) (Quit: Client closed)
2021-12-19 02:17:17 +0100shriekingnoise(~shrieking@186.137.144.80) (Quit: Quit)
2021-12-19 02:17:40 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-12-19 02:18:55 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2021-12-19 02:26:41 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3)
2021-12-19 02:31:32 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3) (Ping timeout: 240 seconds)
2021-12-19 02:32:15 +0100Inst(~delicacie@c-98-208-218-119.hsd1.fl.comcast.net)
2021-12-19 02:32:38 +0100 <Inst> hello
2021-12-19 02:32:54 +0100 <Inst> can you help me out? I need to know how to call ghci so :set +s is set previously, without messing with the .conf file
2021-12-19 02:34:53 +0100 <geekosaur> is adding another conf file acceptable? -ghci-script
2021-12-19 02:36:00 +0100kranius(~kranius@222.186.245.213.rev.sfr.net) (Ping timeout: 256 seconds)
2021-12-19 02:36:22 +0100DNH(~DNH@2a02:8108:1100:16d8:1941:a480:a6d8:8bc5) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-12-19 02:36:32 +0100 <koz> How does one create a literal value of type Word#?
2021-12-19 02:37:01 +0100 <geekosaur> % :set -XMagicHash
2021-12-19 02:37:02 +0100 <yahb> geekosaur:
2021-12-19 02:37:08 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
2021-12-19 02:37:08 +0100 <geekosaur> :t 8#
2021-12-19 02:37:09 +0100 <lambdabot> GHC.Prim.Int#
2021-12-19 02:37:12 +0100 <koz> Oh, nice.
2021-12-19 02:37:14 +0100 <geekosaur> hm
2021-12-19 02:37:24 +0100 <geekosaur> not quite though, it's Int# not Word#
2021-12-19 02:37:34 +0100 <geekosaur> :t 8##
2021-12-19 02:37:35 +0100 <lambdabot> GHC.Prim.Word#
2021-12-19 02:37:41 +0100 <geekosaur> there we go
2021-12-19 02:37:51 +0100 <koz> If in doubt, sprinkle on more magic hashes.
2021-12-19 02:38:51 +0100 <zero> :t 8###
2021-12-19 02:38:52 +0100 <lambdabot> error:
2021-12-19 02:38:52 +0100 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
2021-12-19 02:38:59 +0100zeroshrugs
2021-12-19 02:39:34 +0100Morrow(~quassel@bzq-110-168-31-106.red.bezeqint.net)
2021-12-19 02:40:19 +0100 <geekosaur> oh, heh, intended to send those to yahb. didn't know lambdabot did MagicHash
2021-12-19 02:41:37 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
2021-12-19 02:43:01 +0100geekosaurwonders how this works in 9.2, where everything is sized
2021-12-19 02:43:24 +0100 <geekosaur> mm, think it's 8##8 etc.
2021-12-19 02:43:41 +0100 <zero> nice
2021-12-19 02:48:45 +0100 <hpc> ghc should accept MuggleHash as a synonym for NoMagicHash :D
2021-12-19 02:49:16 +0100 <koz> Also, does eqWord8# give 0## if mismatch, 1## if match?
2021-12-19 02:49:29 +0100 <koz> 0# and 1# I mean.
2021-12-19 02:50:55 +0100 <geekosaur> % eqWord8 (W8# 8##) (W8# 9##)
2021-12-19 02:50:56 +0100 <yahb> geekosaur: False
2021-12-19 02:51:08 +0100 <geekosaur> oh wait
2021-12-19 02:51:13 +0100 <geekosaur> % eqWord8# (W8# 8##) (W8# 9##)
2021-12-19 02:51:13 +0100 <yahb> geekosaur: ; <interactive>:188:11: error:; * Couldn't match expected type `Word8#' with actual type `Word8'; * In the first argument of `eqWord8#', namely `(W8# 8##)'; In the expression: eqWord8# (W8# 8##) (W8# 9##); In an equation for `it': it = eqWord8# (W8# 8##) (W8# 9##); <interactive>:188:21: error:; * Couldn't match expected type `Word8#' with actual type `Word8'; * In the second a
2021-12-19 02:51:37 +0100 <geekosaur> % eqWord8# 8## 9##
2021-12-19 02:51:38 +0100 <yahb> geekosaur: ; <interactive>:189:10: error:; * Couldn't match expected type `Word8#' with actual type `Word#'; * In the first argument of `eqWord8#', namely `8##'; In the expression: eqWord8# 8## 9##; In an equation for `it': it = eqWord8# 8## 9##; <interactive>:189:14: error:; * Couldn't match expected type `Word8#' with actual type `Word#'; * In the second argument of `eqWord8#', namely
2021-12-19 02:51:53 +0100 <geekosaur> % eqWord8# 8##8 9##8
2021-12-19 02:51:53 +0100 <yahb> geekosaur: ; <interactive>:190:1: error:; * Couldn't match expected type `Word# -> t0 -> t' with actual type `Int#'; * The function `eqWord8#' is applied to four value arguments, but its type `Word8# -> Word8# -> Int#' has only two; In the expression: eqWord8# 8## 8 9## 8; In an equation for `it': it = eqWord8# 8## 8 9## 8; * Relevant bindings include it :: t (bound at <interactive>:190:1)
2021-12-19 02:51:59 +0100 <geekosaur> blegh
2021-12-19 02:52:20 +0100 <geekosaur> :t eqWord8#
2021-12-19 02:52:21 +0100 <lambdabot> error: Variable not in scope: eqWord8#
2021-12-19 02:52:26 +0100 <geekosaur> % :t eqWord8#
2021-12-19 02:52:26 +0100 <yahb> geekosaur: Word8# -> Word8# -> Int#
2021-12-19 02:55:51 +0100mmhat(~mmh@55d47734.access.ecotel.net) (Quit: WeeChat 3.3)
2021-12-19 02:59:39 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3)
2021-12-19 03:04:16 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-19 03:04:38 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3) (Ping timeout: 252 seconds)
2021-12-19 03:07:05 +0100 <hololeap> Word8##4#8#9#INT#*69
2021-12-19 03:07:56 +0100 <geekosaur> yeh I have no idea how you get a Wird8# literal, at least in 9.0.1
2021-12-19 03:09:37 +0100pfurla(~pfurla@2804:d41:4331:4800:8490:5949:caf8:c808) (Ping timeout: 240 seconds)
2021-12-19 03:09:42 +0100pfurla_(~pfurla@2804:d41:4331:4800:1075:b21:7fd0:c974)
2021-12-19 03:12:36 +0100 <hololeap> reminds me what I used to see as a kid when I would telnet over dialup
2021-12-19 03:15:50 +0100 <EvanR> if you'd like to speak to a GHC prims representative press #
2021-12-19 03:21:25 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 240 seconds)
2021-12-19 03:28:48 +0100 <hololeap> holy crap, some of these still have phone numbers: https://www.telnetbbsguide.com/connection/dial-up/
2021-12-19 03:31:56 +0100geekosaurwonders if ncoast is still around
2021-12-19 03:31:59 +0100ub(~Thunderbi@p200300ecdf0a5d10d9ff0243dc33f2a7.dip0.t-ipconnect.de)
2021-12-19 03:32:54 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3)
2021-12-19 03:33:11 +0100 <geekosaur> huh, I get both an ip4 and a SERVFAIL
2021-12-19 03:33:22 +0100ubert(~Thunderbi@p200300ecdf0a5d68805dbf0fab6de770.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2021-12-19 03:33:22 +0100ububert
2021-12-19 03:37:49 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3) (Ping timeout: 240 seconds)
2021-12-19 03:38:53 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-12-19 03:39:17 +0100neurocyte0132889(~neurocyte@user/neurocyte) (Ping timeout: 240 seconds)
2021-12-19 03:44:22 +0100lavaman(~lavaman@98.38.249.169)
2021-12-19 03:45:30 +0100benin(~benin@183.82.27.121) (Ping timeout: 260 seconds)
2021-12-19 03:48:37 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-12-19 03:52:13 +0100benin(~benin@183.82.27.121)
2021-12-19 03:55:02 +0100lechner(~lechner@debian/lechner)
2021-12-19 03:57:06 +0100shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-12-19 03:58:10 +0100xff0x(~xff0x@port-92-195-110-215.dynamic.as20676.net) (Ping timeout: 256 seconds)
2021-12-19 04:00:06 +0100xff0x(~xff0x@2001:1a81:53d2:9000:3d5f:aef0:61ba:f866)
2021-12-19 04:05:36 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3)
2021-12-19 04:09:17 +0100ees(~user@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2021-12-19 04:10:04 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 04:10:57 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3) (Ping timeout: 268 seconds)
2021-12-19 04:13:19 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 04:14:05 +0100slowButPresent(~slowButPr@user/slowbutpresent)
2021-12-19 04:14:53 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 04:15:18 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 04:16:50 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 04:17:18 +0100lavaman(~lavaman@98.38.249.169)
2021-12-19 04:17:20 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 04:18:53 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 04:19:26 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 04:20:50 +0100td_(~td@94.134.91.199) (Ping timeout: 256 seconds)
2021-12-19 04:20:59 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 04:21:35 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 04:22:39 +0100td_(~td@muedsl-82-207-238-128.citykom.de)
2021-12-19 04:23:08 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 04:23:39 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 04:25:11 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 04:25:42 +0100Sobhan(~Sobhan@modemcable039.128-131-66.mc.videotron.ca)
2021-12-19 04:25:44 +0100 <Sobhan> Hi
2021-12-19 04:25:45 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 04:27:19 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 04:27:51 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 04:29:26 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 04:29:55 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 04:31:29 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 04:31:54 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 04:32:53 +0100 <Sobhan> what would be the equivalent of a short circuiting fold over infinite lists for monads? right now i'm using this monstrosity ```haskell
2021-12-19 04:32:53 +0100 <Sobhan> tW :: Monad m => (t -> a -> (Bool, t)) -> t -> m a -> m t
2021-12-19 04:32:54 +0100 <Sobhan> tW f acc mo = do { a <- mo;  let (b, acc1) = f acc a in if b then return acc1 else tW f acc1 mo}
2021-12-19 04:32:54 +0100 <Sobhan> ```
2021-12-19 04:33:23 +0100 <Sobhan> where f both has the termination condition and some sort of accumulator
2021-12-19 04:33:29 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 04:34:06 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 04:34:59 +0100 <hololeap> Sobhan: you could use `MaybeT (State s) ()` then use mapM_
2021-12-19 04:35:40 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 04:36:11 +0100 <hololeap> you'll end up with (Nothing,s) when you short circuit by calling `empty`, with `s' as its most recent state
2021-12-19 04:36:16 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Remote host closed the connection)
2021-12-19 04:37:47 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 04:38:19 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3)
2021-12-19 04:38:22 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Remote host closed the connection)
2021-12-19 04:39:55 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 04:40:31 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 04:41:12 +0100 <Inst> also, quick question
2021-12-19 04:41:21 +0100 <Inst> is there a way to save your edits in GHCi?
2021-12-19 04:41:37 +0100 <Inst> there's :load to load modules, but not necessarily :save to save your history
2021-12-19 04:41:40 +0100 <Inst> and how do you delete old lines?
2021-12-19 04:42:04 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 04:43:01 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 04:43:39 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3) (Ping timeout: 268 seconds)
2021-12-19 04:44:32 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 04:45:05 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 04:45:58 +0100 <hololeap> Inst, not sure but I see ~/.ghc/ghci_history
2021-12-19 04:46:08 +0100 <hololeap> maybe you can just manipulate that directly
2021-12-19 04:46:14 +0100 <Inst> why must I do this?
2021-12-19 04:46:24 +0100 <Inst> this is dumb, I hear there's complaints about Haskell tooling being terrible
2021-12-19 04:46:37 +0100ssray(~textual@2601:c2:97f:4590:61ac:5742:1693:b1c2)
2021-12-19 04:46:37 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 04:46:50 +0100 <hololeap> haha I'm literally one person who is giving you a partial answer and being totally honest about it
2021-12-19 04:47:15 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 04:47:20 +0100 <hololeap> because I don't know the full answer
2021-12-19 04:48:46 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 04:49:24 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 04:49:40 +0100 <hololeap> Sobhan: for instance this: http://sprunge.us/wf9Sec
2021-12-19 04:50:37 +0100 <hololeap> MaybeT is underrated
2021-12-19 04:50:56 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 04:51:45 +0100 <hololeap> oh, that should be `put t'` ... forgot the ' hehe
2021-12-19 04:51:57 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 04:52:17 +0100 <hololeap> although I don't think the `t' is in scope there so it wouldn't compile instead of giving you the incorrect result
2021-12-19 04:52:51 +0100ssray(~textual@2601:c2:97f:4590:61ac:5742:1693:b1c2) (Textual IRC Client: www.textualapp.com)
2021-12-19 04:52:58 +0100 <Sobhan> hololeap that's neat, thanks!
2021-12-19 04:53:29 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 04:53:49 +0100 <hololeap> np, although it's bound to be buggy because I didn't test it
2021-12-19 04:53:59 +0100 <hololeap> I hope I communicated the idea, though
2021-12-19 04:54:40 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 04:56:12 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 04:56:19 +0100BrokenClutch(~pioneer@2804:d41:c251:8e00:2f95:d3cd:d94f:7520)
2021-12-19 04:57:08 +0100 <BrokenClutch> Uh. Is the STRef truly mutable? Like, it correspond to the same address after the change of value?
2021-12-19 04:58:19 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 04:58:48 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2021-12-19 04:59:29 +0100falafel(~falafel@2603-8000-d800-688c-c489-b1e0-39de-1e29.res6.spectrum.com)
2021-12-19 04:59:58 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 05:00:07 +0100falafel(~falafel@2603-8000-d800-688c-c489-b1e0-39de-1e29.res6.spectrum.com) (Client Quit)
2021-12-19 05:00:08 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-19 05:00:08 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-19 05:00:08 +0100wroathe(~wroathe@user/wroathe)
2021-12-19 05:00:34 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 05:02:07 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 05:03:17 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 05:04:52 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 05:05:35 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 05:07:08 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 05:07:56 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 05:09:30 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 05:10:16 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 05:11:17 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-12-19 05:11:49 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 05:12:39 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 05:13:42 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3)
2021-12-19 05:14:12 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 05:14:26 +0100yaroot(~yaroot@2409:12:ac0:2300:680e:dbff:fe1e:4953) (Ping timeout: 252 seconds)
2021-12-19 05:14:38 +0100xff0x(~xff0x@2001:1a81:53d2:9000:3d5f:aef0:61ba:f866) (Ping timeout: 260 seconds)
2021-12-19 05:14:55 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 05:14:59 +0100yaroot(~yaroot@175.0.30.125.dy.iij4u.or.jp)
2021-12-19 05:15:17 +0100xff0x(~xff0x@2001:1a81:53d2:9000:1181:abfc:439c:19e)
2021-12-19 05:16:04 +0100SummerSonw(~The_viole@203.77.49.232) (Quit: Leaving)
2021-12-19 05:16:27 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 05:16:57 +0100mvk(~mvk@2607:fea8:5cdd:f000::745c) (Ping timeout: 240 seconds)
2021-12-19 05:17:17 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 05:18:37 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-12-19 05:18:44 +0100koz(~koz@121.99.240.58) (Quit: ZNC 1.7.5 - https://znc.in)
2021-12-19 05:18:47 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3) (Ping timeout: 268 seconds)
2021-12-19 05:18:49 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 05:20:04 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 05:20:33 +0100koz(~Srain@2404:4408:436c:a700:6891:399a:2191:3ae0)
2021-12-19 05:21:38 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 05:22:08 +0100koz_(~koz@2404:4408:436c:a700:6891:399a:2191:3ae0)
2021-12-19 05:23:04 +0100koz(~Srain@2404:4408:436c:a700:6891:399a:2191:3ae0) (Remote host closed the connection)
2021-12-19 05:23:10 +0100koz_koz
2021-12-19 05:23:23 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 05:25:01 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 05:26:31 +0100koz(~koz@2404:4408:436c:a700:6891:399a:2191:3ae0) (Client Quit)
2021-12-19 05:27:24 +0100koz(~koz@2404:4408:436c:a700:6891:399a:2191:3ae0)
2021-12-19 05:27:56 +0100 <EvanR> BrokenClutch, you don't change the STRef
2021-12-19 05:28:04 +0100 <EvanR> you change whatever it refers to
2021-12-19 05:28:15 +0100 <EvanR> same as IORef
2021-12-19 05:30:31 +0100 <BrokenClutch> yeah, but when i change what's referred
2021-12-19 05:30:50 +0100 <EvanR> like you have a box, and you swap out what's in the box, same box
2021-12-19 05:30:51 +0100 <BrokenClutch> what's going inside? Am I allocating new memory?
2021-12-19 05:31:18 +0100 <EvanR> good question, what are you putting in
2021-12-19 05:31:28 +0100 <BrokenClutch> Int
2021-12-19 05:31:56 +0100kaizen(sid501599@id-501599.helmsley.irccloud.com) ()
2021-12-19 05:32:28 +0100 <EvanR> if you have an Int, you put it in the box
2021-12-19 05:32:41 +0100 <EvanR> that's not a memory allocation
2021-12-19 05:33:37 +0100 <EvanR> (though the Int may actually be a big lazy computation that, when forced, uses a bunch of memory to get the value)
2021-12-19 05:35:02 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-19 05:35:13 +0100 <BrokenClutch> So, it would not be evaluated because the language is lazy? But where's stored the data? It's faster to use a STRef or a StateT on a more demanding algorithm?
2021-12-19 05:37:13 +0100 <EvanR> stuff is lazy by default, you can choose to (and probably should) evaluate the Int upon storing it
2021-12-19 05:37:27 +0100 <EvanR> or some time prior if it's convenient
2021-12-19 05:38:26 +0100 <monochrom> It is more nuanced than "am I allocating new memory or not".
2021-12-19 05:38:51 +0100 <monochrom> I can answer "no" but it is a very narrow answer.
2021-12-19 05:39:09 +0100 <monochrom> An STRef always refers to a heap object.
2021-12-19 05:39:22 +0100 <monochrom> A heap object always came from allocation.
2021-12-19 05:39:57 +0100 <monochrom> But it doesn't always mean "new". Perhaps the heap object was already created long ago. Or perhaps it is created just now.
2021-12-19 05:39:57 +0100 <EvanR> I should have said "but that's a big If" after "if you have an Int" xD
2021-12-19 05:40:14 +0100 <monochrom> Yeah.
2021-12-19 05:40:17 +0100 <EvanR> doing the equivalent of x = x + 1 is still going to spawn a new Int
2021-12-19 05:41:08 +0100 <monochrom> So suppose you have "f x = ... writeSTRef myref x ...". Well someone else had to create a heap object and pass it as x to you. You are sharing that heap object.
2021-12-19 05:41:10 +0100 <BrokenClutch> And I'm reading that the GHC sometimes uses equivalents thunks to avoid a repetition of a computation
2021-12-19 05:41:49 +0100 <monochrom> But suppose you have "writeSTRef myref (3+4+5)" well that's a new heap object to store (3+4+5) right there.
2021-12-19 05:41:50 +0100 <BrokenClutch> monochrom: is there a form to check the address of the allocation?
2021-12-19 05:41:58 +0100 <monochrom> No.
2021-12-19 05:42:47 +0100 <EvanR> this line of questioning doesn't seem on the right track
2021-12-19 05:42:47 +0100 <monochrom> Err 3+4+5 is a bad example since the whole program lifetime just needs one copy of it and share it.
2021-12-19 05:42:51 +0100 <BrokenClutch> man, strict imperative programming made me lazy (haha, joke)
2021-12-19 05:43:11 +0100 <EvanR> if your concerned about memory allocations, addresses aren't where to look
2021-12-19 05:43:15 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 05:43:16 +0100 <monochrom> "writeSTRef myref (x+y+z)" is a better example, if x, y, z is dfferent every time.
2021-12-19 05:43:26 +0100 <EvanR> heap objects move around
2021-12-19 05:44:07 +0100 <BrokenClutch> by the OS?
2021-12-19 05:44:12 +0100 <monochrom> x::Int is also a heap object to support both laziness and polymorphism.
2021-12-19 05:44:32 +0100 <EvanR> the garbage collector moves things
2021-12-19 05:44:50 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 05:45:04 +0100 <BrokenClutch> even after the first move from nursery?
2021-12-19 05:45:11 +0100 <EvanR> sure
2021-12-19 05:45:17 +0100 <monochrom> "STRef a" would too hard and error-prone to implement if "sometimes it stores data, some other times it stores pointer to data".
2021-12-19 05:45:21 +0100deadmarshal(~deadmarsh@95.38.116.51)
2021-12-19 05:45:21 +0100 <EvanR> heap compaction etc
2021-12-19 05:45:52 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 05:46:02 +0100 <BrokenClutch> I think i've got it
2021-12-19 05:46:05 +0100 <EvanR> certain things can be pinned and won't move
2021-12-19 05:46:15 +0100 <EvanR> for optimization purposes or FFI
2021-12-19 05:46:16 +0100 <monochrom> But why should you care?
2021-12-19 05:46:30 +0100 <monochrom> If you're wondering about speed, you can always benchmark.
2021-12-19 05:46:38 +0100 <BrokenClutch> I'm just curious
2021-12-19 05:47:06 +0100 <monochrom> But some of us have already done similar benchmarks. A recursive Int function is faster than using STRef Int.
2021-12-19 05:47:25 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 05:47:34 +0100 <BrokenClutch> I was comparing with how C/C++ and rust with Haskell (and Scheme) handles this kind of stuff
2021-12-19 05:48:04 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 05:48:24 +0100 <monochrom> Compiler optimizations can put that Int in a register for the recursive Int function. But it will not optimize the STRef away. You end up perpetual indirection.
2021-12-19 05:48:26 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3)
2021-12-19 05:48:38 +0100 <BrokenClutch> monochrom: The garbage collector do some impressive stuff, It's like it knows what I'm doing better than myself
2021-12-19 05:48:53 +0100 <monochrom> Yes.
2021-12-19 05:49:35 +0100 <monochrom> Both GHC and GCC perform code optimizations that 1st-year CS students, even some 4th-year students, haven't thought of.
2021-12-19 05:49:36 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 05:49:50 +0100 <monochrom> Most programmers' "bare metal" models are wrong.
2021-12-19 05:50:06 +0100 <BrokenClutch> So I should be more careful and test more when working with those kind of stuff with haskell. It can be predicted very well. Am I right?
2021-12-19 05:50:21 +0100 <BrokenClutch> It can't be predicted*
2021-12-19 05:50:34 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 05:51:14 +0100 <monochrom> It takes half a year to learn what the compiler actually does. This is true of both Haskell and C. As said, a lot of people get C wrong, too.
2021-12-19 05:51:24 +0100 <monochrom> Until then, shut up and benchmark.
2021-12-19 05:51:47 +0100 <BrokenClutch> You all were very helpful, many thanks
2021-12-19 05:52:14 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 05:52:15 +0100falafel(~falafel@2603-8000-d800-688c-90d6-5589-2ed3-af73.res6.spectrum.com)
2021-12-19 05:52:58 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 05:53:07 +0100 <int-e> monochrom: don't stop benchmarking :)
2021-12-19 05:53:17 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3) (Ping timeout: 240 seconds)
2021-12-19 05:53:23 +0100 <monochrom> Yeah.
2021-12-19 05:53:50 +0100 <monochrom> Code optimizers are also pretty fragile. You change a little thing that you think shouldn't matter, oh but it does.
2021-12-19 05:54:21 +0100 <monochrom> They will always surprise you both ways once in a while. Make faster code than you expect. Then make slower code than you expect.
2021-12-19 05:54:21 +0100 <EvanR> I make sure all my variables names are 1 letter and close to the beginning of the alphabet for extra speed
2021-12-19 05:54:31 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 05:54:50 +0100 <EvanR> like a pro
2021-12-19 05:55:03 +0100 <int-e> one poorly chosen loop breaker, one unfortunate inlining decision... that can make a huge difference sometimes
2021-12-19 05:55:07 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 05:55:47 +0100 <int-e> So I guess it's because I know a bit of what the compiler does that I keep benchmarking ;)
2021-12-19 05:56:13 +0100 <BrokenClutch> gonna foreign import malloc, me smart boi.
2021-12-19 05:56:40 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 05:57:26 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 05:57:45 +0100 <EvanR> you don't have to, that's in the FFI
2021-12-19 05:58:16 +0100dsrt^(~dsrt@64.253.22.77) (Ping timeout: 268 seconds)
2021-12-19 05:58:23 +0100 <EvanR> you even get nice brackets to clean up pointers when you're done
2021-12-19 05:58:28 +0100 <EvanR> Ptr a
2021-12-19 05:58:38 +0100 <monochrom> Yeah, Foreign.Marshal.Alloc's malloc is already C's malloc. It is guaranteed.
2021-12-19 05:58:47 +0100 <monochrom> But I also recongize that you were just joking.
2021-12-19 06:00:12 +0100 <BrokenClutch> monochrom: Didn't know that
2021-12-19 06:00:27 +0100 <BrokenClutch> Thank you all for the help. It's 2AM here, gonna sleep
2021-12-19 06:00:32 +0100 <BrokenClutch> goodnight
2021-12-19 06:01:54 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-12-19 06:04:05 +0100KvL(KvL@gateway/vpn/protonvpn/kvl)
2021-12-19 06:05:46 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Client Quit)
2021-12-19 06:06:45 +0100mvk(~mvk@2607:fea8:5cdd:f000::745c)
2021-12-19 06:09:04 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-12-19 06:13:19 +0100BrokenClutch(~pioneer@2804:d41:c251:8e00:2f95:d3cd:d94f:7520) ()
2021-12-19 06:13:32 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-12-19 06:14:55 +0100img(~img@user/img)
2021-12-19 06:23:00 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3)
2021-12-19 06:23:55 +0100marperia(~marperia@176.59.129.201)
2021-12-19 06:25:10 +0100marperia(~marperia@176.59.129.201) (Remote host closed the connection)
2021-12-19 06:26:18 +0100marperia(~marperia@176.59.129.201)
2021-12-19 06:28:02 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3) (Ping timeout: 240 seconds)
2021-12-19 06:28:29 +0100adamCS(~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com) (Ping timeout: 268 seconds)
2021-12-19 06:33:43 +0100adamCS(~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com)
2021-12-19 06:35:00 +0100marperia(~marperia@176.59.129.201) (Quit: Client closed)
2021-12-19 06:36:54 +0100slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-12-19 06:47:57 +0100deadmarshal(~deadmarsh@95.38.116.51) (Ping timeout: 240 seconds)
2021-12-19 06:50:33 +0100koz(~koz@2404:4408:436c:a700:6891:399a:2191:3ae0) (Quit: koz)
2021-12-19 06:53:07 +0100exbios(~exbios@fixed-189-203-104-178.totalplay.net)
2021-12-19 06:54:12 +0100exbios(~exbios@fixed-189-203-104-178.totalplay.net) (Quit: -a- IRC for Android 2.1.59)
2021-12-19 06:57:13 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3)
2021-12-19 06:57:44 +0100Topsi(~Tobias@dyndsl-095-033-094-113.ewe-ip-backbone.de)
2021-12-19 07:03:00 +0100zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-12-19 07:04:37 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3) (Ping timeout: 240 seconds)
2021-12-19 07:08:04 +0100KvL(KvL@gateway/vpn/protonvpn/kvl) (Quit: KvL)
2021-12-19 07:10:59 +0100koz_(~koz@2404:4408:436c:a700:6891:399a:2191:3ae0)
2021-12-19 07:14:14 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2021-12-19 07:15:58 +0100slowtyper(~slowtyper@user/slowtyper) (Ping timeout: 260 seconds)
2021-12-19 07:16:38 +0100slowtyper(~slowtyper@user/slowtyper)
2021-12-19 07:21:48 +0100rembo10(~rembo10@remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
2021-12-19 07:22:56 +0100rembo10(~rembo10@remulis.com)
2021-12-19 07:29:20 +0100deadmarshal(~deadmarsh@95.38.116.51)
2021-12-19 07:33:09 +0100juhp(~juhp@128.106.188.82) (Quit: juhp)
2021-12-19 07:33:16 +0100juhp(~juhp@128.106.188.82)
2021-12-19 07:33:53 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3)
2021-12-19 07:35:22 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2021-12-19 07:35:49 +0100random-jellyfish(~random-je@user/random-jellyfish)
2021-12-19 07:38:50 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3) (Ping timeout: 260 seconds)
2021-12-19 07:44:37 +0100deadmarshal(~deadmarsh@95.38.116.51) (Ping timeout: 240 seconds)
2021-12-19 07:47:44 +0100dsrt^(~dsrt@64.253.22.77)
2021-12-19 07:54:01 +0100deadmarshal(~deadmarsh@95.38.116.51)
2021-12-19 07:56:12 +0100puke(~puke@user/puke)
2021-12-19 08:00:41 +0100jonathanx(~jonathan@c-5eea3547-74736162.cust.telenor.se)
2021-12-19 08:02:29 +0100Erutuon(~Erutuon@user/erutuon)
2021-12-19 08:04:04 +0100Akiva(~Akiva@user/Akiva)
2021-12-19 08:04:27 +0100nautical(~nautical@2601:602:900:1630::97df)
2021-12-19 08:05:42 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-19 08:06:22 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 256 seconds)
2021-12-19 08:07:16 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3)
2021-12-19 08:08:55 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2021-12-19 08:09:20 +0100nautical(~nautical@2601:602:900:1630::97df) (Client Quit)
2021-12-19 08:12:05 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3) (Ping timeout: 252 seconds)
2021-12-19 08:13:57 +0100gentauro_(~gentauro@185.107.12.141) (Quit: leaving)
2021-12-19 08:14:17 +0100gentauro_(~gentauro@185.107.12.141)
2021-12-19 08:15:08 +0100gentauro(~gentauro@user/gentauro) (Remote host closed the connection)
2021-12-19 08:15:30 +0100gentauro_(~gentauro@185.107.12.141) (Remote host closed the connection)
2021-12-19 08:20:16 +0100knudLeopold(~knudLeopo@187.168.218.49)
2021-12-19 08:20:37 +0100shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2021-12-19 08:22:12 +0100gentauro(~gentauro@user/gentauro)
2021-12-19 08:23:14 +0100knudLeopold(~knudLeopo@187.168.218.49) (Client Quit)
2021-12-19 08:26:45 +0100knudLeopold(~knudLeopo@187.168.218.49)
2021-12-19 08:35:17 +0100knudLeopold(~knudLeopo@187.168.218.49) (Quit: Leaving)
2021-12-19 08:36:09 +0100Inst_(~Inst@2601:6c4:4080:3f80:98ca:4368:fd5e:1ee0)
2021-12-19 08:38:44 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-12-19 08:39:37 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-12-19 08:42:55 +0100 <Inst_> how's whatsupdoc been doing?
2021-12-19 08:43:13 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2021-12-19 08:44:38 +0100sprout(~quassel@2a02:a467:ccd6:1:21ba:a382:6b6:54c4)
2021-12-19 08:47:02 +0100harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2021-12-19 08:47:56 +0100m4lvin(~m4lvin@w4eg.de) (Quit: m4lvin)
2021-12-19 08:48:19 +0100snek`(~user@88.160.31.174)
2021-12-19 08:48:24 +0100m4lvin(~m4lvin@w4eg.de)
2021-12-19 08:48:42 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 08:48:43 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 08:49:13 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: closed)
2021-12-19 08:49:18 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 08:49:41 +0100snek`(~user@88.160.31.174) (Remote host closed the connection)
2021-12-19 08:49:46 +0100sprout(~quassel@2a02:a467:ccd6:1:21ba:a382:6b6:54c4) (Ping timeout: 260 seconds)
2021-12-19 08:51:22 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-12-19 08:52:33 +0100puke(~puke@user/puke) (Quit: puke)
2021-12-19 08:54:33 +0100puke(~puke@user/puke)
2021-12-19 08:59:04 +0100jonathanx(~jonathan@c-5eea3547-74736162.cust.telenor.se) (Ping timeout: 256 seconds)
2021-12-19 09:00:34 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-19 09:02:45 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3)
2021-12-19 09:04:42 +0100fef(~thedawn@user/thedawn)
2021-12-19 09:04:56 +0100bollu(uid233390@id-233390.helmsley.irccloud.com)
2021-12-19 09:04:58 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-12-19 09:06:17 +0100falafel(~falafel@2603-8000-d800-688c-90d6-5589-2ed3-af73.res6.spectrum.com) (Ping timeout: 240 seconds)
2021-12-19 09:11:51 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-12-19 09:12:57 +0100mvk(~mvk@2607:fea8:5cdd:f000::745c) (Ping timeout: 240 seconds)
2021-12-19 09:13:36 +0100acidjnk(~acidjnk@p200300d0c7271e774586c8f7f876c3d9.dip0.t-ipconnect.de)
2021-12-19 09:16:11 +0100lavaman(~lavaman@98.38.249.169)
2021-12-19 09:17:58 +0100pfurla_(~pfurla@2804:d41:4331:4800:1075:b21:7fd0:c974) (Quit: gone to sleep. ZZZzzz…)
2021-12-19 09:20:36 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2021-12-19 09:20:36 +0100thevishy(~Nishant@2405:201:f005:c007:851a:8f84:501c:8bd1)
2021-12-19 09:24:34 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
2021-12-19 09:24:41 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-12-19 09:25:55 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2021-12-19 09:26:07 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
2021-12-19 09:29:57 +0100deadmarshal(~deadmarsh@95.38.116.51) (Ping timeout: 240 seconds)
2021-12-19 09:43:46 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-19 09:43:46 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-19 09:43:46 +0100wroathe(~wroathe@user/wroathe)
2021-12-19 09:48:56 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2021-12-19 09:52:17 +0100python476(~user@88.160.31.174)
2021-12-19 09:54:04 +0100max22-(~maxime@2a01cb08833598005fdfc488429f8659.ipv6.abo.wanadoo.fr)
2021-12-19 09:55:57 +0100jakalx(~jakalx@base.jakalx.net) ()
2021-12-19 09:56:04 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-12-19 09:56:21 +0100nattiestnate(~nate@2001:448a:20a0:4134:25e:715f:d637:5263)
2021-12-19 10:00:08 +0100asdofindia-m(~akshaymat@2001:470:69fc:105::831) (Quit: You have been kicked for being idle)
2021-12-19 10:00:08 +0100ppseafield[m](~elementpp@2001:470:69fc:105::1:250a) (Quit: You have been kicked for being idle)
2021-12-19 10:00:13 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:00:44 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:01:34 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-12-19 10:01:51 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
2021-12-19 10:02:19 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:02:21 +0100_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-12-19 10:02:34 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:7cf1:85e9:3000:4f4d) (Remote host closed the connection)
2021-12-19 10:02:42 +0100cosimone(~user@93-44-185-127.ip98.fastwebnet.it)
2021-12-19 10:02:43 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:03:24 +0100shriekingnoise(~shrieking@186.137.144.80)
2021-12-19 10:04:17 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:04:50 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:06:22 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:06:42 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-12-19 10:06:54 +0100nattiestnate(~nate@2001:448a:20a0:4134:25e:715f:d637:5263) (Quit: WeeChat 3.3)
2021-12-19 10:07:01 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:07:41 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-12-19 10:08:32 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:09:05 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:09:16 +0100tubogram(~tubogram@user/tubogram) (Quit: See ya later!)
2021-12-19 10:09:18 +0100Tuplanolla(~Tuplanoll@91-159-68-169.elisa-laajakaista.fi)
2021-12-19 10:10:37 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:11:12 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:11:24 +0100tubogram4(~tubogram@user/tubogram)
2021-12-19 10:12:45 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:12:52 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4)
2021-12-19 10:13:09 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:14:41 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:15:15 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:16:50 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:16:55 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Read error: Connection reset by peer)
2021-12-19 10:17:28 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:17:35 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2021-12-19 10:17:57 +0100jakalx(~jakalx@base.jakalx.net)
2021-12-19 10:18:17 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-12-19 10:19:00 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:19:23 +0100tubogram4(~tubogram@user/tubogram) (Quit: See ya later!)
2021-12-19 10:19:36 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:21:09 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:21:42 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:22:11 +0100tubogram4(~tubogram@user/tubogram)
2021-12-19 10:23:07 +0100gehmehgeh(~user@user/gehmehgeh)
2021-12-19 10:23:14 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:23:43 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Remote host closed the connection)
2021-12-19 10:25:16 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:25:50 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:27:22 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:27:56 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:28:25 +0100 <int-e> > unwords $ map (\x -> printf "%.2f" (191-x/38)) [7139,7120,7058,6994,6901,6859,6800,6750,6681,6538] -- tired of waiting
2021-12-19 10:28:27 +0100 <lambdabot> "3.13 3.63 5.26 6.95 9.39 10.50 12.05 13.37 15.18 18.95"
2021-12-19 10:28:28 +0100mc47(~mc47@xmonad/TheMC47)
2021-12-19 10:29:30 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:30:09 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:31:42 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:32:15 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:33:47 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:34:18 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:35:51 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:36:24 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:36:26 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2021-12-19 10:37:56 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:37:57 +0100econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-12-19 10:38:28 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:40:00 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:40:34 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:41:16 +0100deadmarshal(~deadmarsh@95.38.116.51)
2021-12-19 10:42:08 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:42:48 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:44:21 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:44:58 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:46:29 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:47:09 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Remote host closed the connection)
2021-12-19 10:48:41 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:49:22 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:50:53 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:51:33 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:53:07 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:53:31 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:54:19 +0100 <pavonia> int-e: This is at least the third time I see you posting this calculation here. What is this?
2021-12-19 10:54:38 +0100 <Athas> So this thing about 'cabal install' ignoring anything that 'cabal build' did and just rebuilding from scratch... is there a way to make it not do that?
2021-12-19 10:55:03 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:55:38 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:57:09 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:57:46 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 10:57:56 +0100 <int-e> pavonia: It's taking glguy's Advent of Code leader board, and computing average rank for all the stars so far for the top 10. It's a silly thing, it'll stop after the 25th :)
2021-12-19 10:58:21 +0100xkuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2021-12-19 10:58:54 +0100 <pavonia> I see
2021-12-19 10:59:18 +0100 <int-e> (the numbers are: 191: number of participants, plus 1; 38: number of stars so far; 7139 etc.: points on the board)
2021-12-19 10:59:21 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 10:59:34 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-19 10:59:34 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-19 10:59:34 +0100wroathe(~wroathe@user/wroathe)
2021-12-19 10:59:52 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:00:22 +0100 <hololeap> why does it matter? (legit question)
2021-12-19 11:01:24 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:01:29 +0100 <hololeap> or I suppose the proper question is why does it matter to you int-e ?
2021-12-19 11:02:01 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:02:40 +0100 <hololeap> Inst_: the last time they said anything was nov 4, according to my logs
2021-12-19 11:02:53 +0100 <[exa]> Athas: incompatible install environment perhaps? (guessing)
2021-12-19 11:02:59 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:7cf1:85e9:3000:4f4d)
2021-12-19 11:03:18 +0100falafel(~falafel@2603-8000-d800-688c-90d6-5589-2ed3-af73.res6.spectrum.com)
2021-12-19 11:03:37 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:04:06 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:04:12 +0100 <int-e> hololeap: it's entertaining
2021-12-19 11:04:38 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 260 seconds)
2021-12-19 11:05:17 +0100 <hololeap> I just don't understand what the metric tells us
2021-12-19 11:05:38 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:06:15 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:06:29 +0100 <int-e> you can put these numbers in relation with the best conceivable average, which is 1
2021-12-19 11:06:30 +0100 <[exa]> pls share the entertaining factor
2021-12-19 11:06:50 +0100 <int-e> it's much harder to do that with the scores
2021-12-19 11:07:17 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:7cf1:85e9:3000:4f4d) (Ping timeout: 240 seconds)
2021-12-19 11:07:47 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:08:20 +0100 <hololeap> so if someone was in 1st place for every round they would have an average of 1?
2021-12-19 11:08:22 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:09:55 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:10:28 +0100 <int-e> yes
2021-12-19 11:10:34 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:11:14 +0100 <hololeap> ok I see. not sure if I find it entertaining, but I understand what it means at least :)
2021-12-19 11:12:06 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:12:39 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:13:47 +0100 <hololeap> Inst_: [Whois] whatsupdoc is online via molybdenum.libera.chat (Sun Dec 19 07:43:13 2021).
2021-12-19 11:14:11 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:14:50 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:16:24 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:16:46 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
2021-12-19 11:16:50 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:18:18 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-12-19 11:18:23 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:18:59 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:20:31 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:21:04 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:22:37 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:23:12 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:24:43 +0100Nahra(~user@static.161.95.99.88.clients.your-server.de)
2021-12-19 11:24:45 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:25:21 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:26:54 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:27:19 +0100gensyst(gensyst@user/gensyst)
2021-12-19 11:27:33 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Remote host closed the connection)
2021-12-19 11:29:07 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:29:41 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:30:20 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-19 11:30:20 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-19 11:30:20 +0100wroathe(~wroathe@user/wroathe)
2021-12-19 11:31:15 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:31:34 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-12-19 11:31:53 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:33:27 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:34:07 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:34:57 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2021-12-19 11:35:40 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:36:07 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:37:39 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:38:10 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:38:37 +0100 <gensyst> I have a standard project with a lib and src. The lib has the library, the EDSL. The src has Main.hs, which uses the EDSL. Most heavy lifting takes place from the code of lib.
2021-12-19 11:38:45 +0100random-jellyfish(~random-je@user/random-jellyfish) (Ping timeout: 256 seconds)
2021-12-19 11:39:28 +0100 <gensyst> lib is rarely compiled. Main.hs is compiled over and over again (user of EDSL doing experiments). Therefore: Can I compile the lib part with -O2 and Main.hs with no optimization?
2021-12-19 11:39:43 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:40:17 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:41:20 +0100 <hololeap> you could with cabal
2021-12-19 11:41:51 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:42:05 +0100 <hololeap> you can set different ghc-options for the library and executable sections
2021-12-19 11:42:08 +0100 <Athas> [exa]: from what I can see, 'cabal install' creates an sdist and builds from that, so it looks like its by design.
2021-12-19 11:42:26 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:43:01 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 240 seconds)
2021-12-19 11:44:00 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:44:39 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:45:20 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4)
2021-12-19 11:46:12 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:46:50 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:48:23 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:48:56 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:50:28 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:50:59 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:52:32 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:53:09 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:53:09 +0100 <tomsmeding> Athas: symlink $(cabal list-bin yourprojectname) somewhere in your PATH?
2021-12-19 11:53:55 +0100 <tomsmeding> or s/symlink/copy/ as appropriate
2021-12-19 11:54:40 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:55:18 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:55:37 +0100 <tomsmeding> or $(cabal-plan list-bin yourprojectname) if your cabal is older
2021-12-19 11:55:53 +0100 <Athas> tomsmeding: that is very fiddly. Is that what people normally do?
2021-12-19 11:56:07 +0100 <tomsmeding> I wouldn't know :p
2021-12-19 11:56:25 +0100 <tomsmeding> it's what _I_ would do, but I'm not usual
2021-12-19 11:56:52 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:57:02 +0100 <int-e> doesn't cabal-install put symlinks to executables into ~/.cabal/bin by default?
2021-12-19 11:57:25 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:57:38 +0100 <tomsmeding> only after 'cabal install --overwrite-policy=always'
2021-12-19 11:57:44 +0100 <gensyst> hololeap, thanks - although in my case Main.hs is currently small and there doesn't seem to be any difference in -O0 and -O2 compilation time. so i guess most of these 5 seconds of compile time is spent in non-optimization parts
2021-12-19 11:57:56 +0100 <int-e> . o O ( all those problems that I'll have when I finally switch away from v1 commands )
2021-12-19 11:58:03 +0100 <gensyst> (i was hoping for an instantaneous feedback, sort of like in GHCi)
2021-12-19 11:58:18 +0100 <gensyst> so why is ghci so fast exactly?
2021-12-19 11:58:20 +0100 <tomsmeding> gensyst: type checking feedback, or running feedback?
2021-12-19 11:58:52 +0100 <hololeap> gensyst: you might like using ghcid or haskell-language-server for development
2021-12-19 11:58:54 +0100 <tomsmeding> also check out 'ghcid' (note: that's not a typo)
2021-12-19 11:58:56 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 11:59:13 +0100 <tomsmeding> ghcid is basically a hot-reloading ghci
2021-12-19 11:59:21 +0100 <gensyst> I mean, compile time.
2021-12-19 11:59:27 +0100 <tomsmeding> though it doesn't give you a shell
2021-12-19 11:59:31 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 11:59:47 +0100 <tomsmeding> gensyst: what about just opening a ghci and doing :r
2021-12-19 12:00:38 +0100 <tomsmeding> also try 'runghc Main.hs'
2021-12-19 12:00:38 +0100Vajb(~Vajb@2001:999:62:f3d1:4390:fbed:1f9b:9d03) (Read error: Connection reset by peer)
2021-12-19 12:00:49 +0100pfurla(~pfurla@2804:d41:4331:4800:1075:b21:7fd0:c974)
2021-12-19 12:00:51 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2021-12-19 12:01:03 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:01:08 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-19 12:01:08 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-19 12:01:08 +0100wroathe(~wroathe@user/wroathe)
2021-12-19 12:01:34 +0100 <gensyst> tomsmeding, how do you open a project in ghci? and does it respect -O2 for the library (the EDSL, as I said above)
2021-12-19 12:01:35 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:01:47 +0100 <tomsmeding> cabal repl, or stack ghci
2021-12-19 12:02:01 +0100phma(phma@2001:5b0:210f:398:45c4:2d78:79ea:d21b) (Read error: Connection reset by peer)
2021-12-19 12:02:15 +0100 <tomsmeding> that will load dependencies as compiled code and the component you're loading as interpreted code
2021-12-19 12:02:27 +0100 <tomsmeding> which should thus respect -O2 for the library, if you open the repl on the executable
2021-12-19 12:02:37 +0100 <tomsmeding> might need 'cabal repl exe:yourproject' or something
2021-12-19 12:03:06 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:03:25 +0100phma(phma@2001:5b0:211f:b348:59d8:7cb7:9451:9394)
2021-12-19 12:03:38 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:03:57 +0100 <gensyst> tomsmeding, ok now that is *instantaneous*! :)
2021-12-19 12:04:00 +0100 <gensyst> the :r, I mean
2021-12-19 12:04:20 +0100koz_(~koz@2404:4408:436c:a700:6891:399a:2191:3ae0) (Quit: koz_)
2021-12-19 12:04:35 +0100 <tomsmeding> for more ergonomics, ':def R :r' so you can type :R and don't have to release the shift key in-between
2021-12-19 12:04:42 +0100 <gensyst> very nice. So this suggests that most of the 5 seconds that "cabal build" needs (when rebuilding Main.hs because only Main.hs has changed), is overhead that GHCi already did when OPENING UP.
2021-12-19 12:04:50 +0100 <gensyst> right?
2021-12-19 12:04:58 +0100 <gensyst> nice :D
2021-12-19 12:05:09 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:05:19 +0100 <tomsmeding> well it's also that for ghci, it doesn't have to generate machine code
2021-12-19 12:05:43 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:06:02 +0100 <gensyst> tomsmeding, ah. but that shouldn't be a problem if bulk of work is spent by the EDSL (compiled with -O2) right?
2021-12-19 12:06:13 +0100 <int-e> Won't `cabal build` create a new install plan every time? So it'll read the *hackage* package database (well, the index)... stuff that ghc(i) don't even care about
2021-12-19 12:06:17 +0100 <gensyst> Main.hs (user of EDSL) just calls those heavy routines.
2021-12-19 12:06:25 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 268 seconds)
2021-12-19 12:06:40 +0100 <int-e> so there's that overhead, and then there's the overhead from compiling to binary code and linking
2021-12-19 12:07:06 +0100 <int-e> (ghci has to link too but that uses the highly optimized system's dynamic linker)
2021-12-19 12:07:16 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:07:45 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:08:19 +0100 <gensyst> int-e yes it's doing all sorts of stuff (including warning me about how i should run "cabal update" ;))
2021-12-19 12:08:29 +0100 <gensyst> ok so for interactivitiy, ghci is a MUST
2021-12-19 12:09:16 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:09:54 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:10:05 +0100 <hololeap> do you know of haskell-language-server? it's really quite nice as it gives you realtime diagnostics as you write code, as long as your client can support it
2021-12-19 12:11:08 +0100 <gensyst> hololeap, yeah it's baked into vscode and it's great. however that's for helping me developing. Not exactly about compiling and running Main.hs (many times during the day as I keep changing Main.hs) as fast as possible.
2021-12-19 12:11:26 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:11:54 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Remote host closed the connection)
2021-12-19 12:12:43 +0100 <int-e> Yeah I tend to use runhaskell once it type-checks, unless that takes more than a second or two to run.
2021-12-19 12:13:26 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:13:46 +0100 <int-e> (runhaskell is a symlink to runghc)
2021-12-19 12:14:01 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:14:39 +0100 <hololeap> maybe setting up a test that just runs Main and using ghcid to trigger it would be faster than runhaskell
2021-12-19 12:14:50 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-19 12:15:34 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:16:13 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:17:49 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:17:56 +0100Topsi1(~Tobias@dyndsl-095-033-094-113.ewe-ip-backbone.de)
2021-12-19 12:18:16 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:18:26 +0100Topsi2(~Tobias@dyndsl-095-033-094-113.ewe-ip-backbone.de)
2021-12-19 12:18:28 +0100 <gensyst> what's the proper way to call runghc for a project (execute Main.hs and respect -O2 for the library)
2021-12-19 12:18:43 +0100pfurla(~pfurla@2804:d41:4331:4800:1075:b21:7fd0:c974) (Quit: gone to sleep. ZZZzzz…)
2021-12-19 12:19:21 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 268 seconds)
2021-12-19 12:19:49 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:20:24 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:21:10 +0100waleee(~waleee@h-98-128-229-110.NA.cust.bahnhof.se)
2021-12-19 12:21:49 +0100Topsi(~Tobias@dyndsl-095-033-094-113.ewe-ip-backbone.de) (Ping timeout: 268 seconds)
2021-12-19 12:21:56 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:22:13 +0100Topsi1(~Tobias@dyndsl-095-033-094-113.ewe-ip-backbone.de) (Ping timeout: 240 seconds)
2021-12-19 12:22:32 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:22:57 +0100 <opqdonut> I'm pretty proud of my AoC solution today: https://github.com/opqdonut/adventofcode21/blob/master/Day19.hs
2021-12-19 12:24:05 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:24:36 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:26:09 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:26:33 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-12-19 12:26:37 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:28:10 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:28:29 +0100hololeap(~hololeap@user/hololeap) (Remote host closed the connection)
2021-12-19 12:28:29 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2021-12-19 12:28:44 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:28:52 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2021-12-19 12:29:55 +0100hololeap(~hololeap@user/hololeap)
2021-12-19 12:30:17 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:30:24 +0100 <tomsmeding> gensyst: try this: cabal repl --repl-options -e --repl-options ':set prog Main.hs' --repl-options -e --repl-options ':main'
2021-12-19 12:30:51 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:30:57 +0100 <tomsmeding> from looking at the ghc sources, this is basically what runghc is doing -- except with plain ghci instead of cabal
2021-12-19 12:31:04 +0100Akiva(~Akiva@user/Akiva) (Ping timeout: 268 seconds)
2021-12-19 12:32:10 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
2021-12-19 12:32:24 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:32:55 +0100 <gensyst> tomsmeding, that gives me the error "Main.hs:0:53: error: Variable not in scope: main :: IO a0"
2021-12-19 12:33:02 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:33:03 +0100 <gensyst> (ran your command from the project dir)
2021-12-19 12:33:20 +0100 <gensyst> maybe i should just use ghci lol
2021-12-19 12:33:24 +0100 <tomsmeding> replace that Main.hs with the actual file name of your executable, which should have a 'main' definition :p
2021-12-19 12:34:35 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:34:37 +0100 <gensyst> that is the name
2021-12-19 12:34:48 +0100 <gensyst> even tried ./app/Main.hs, same error
2021-12-19 12:35:13 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:36:51 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:37:11 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:37:23 +0100 <tomsmeding> and that file does have a 'main' definition?
2021-12-19 12:37:37 +0100 <tomsmeding> it worked for me in a project with a similar setup: library and executable
2021-12-19 12:38:31 +0100polezaivsani(~polezaivs@orangeshoelaces.net)
2021-12-19 12:38:36 +0100 <hololeap> you might need to add the "target" which would be something like "myproject:exe:main"
2021-12-19 12:38:43 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:39:08 +0100 <hololeap> depends on what the executable is called in the .cabal file
2021-12-19 12:39:19 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:40:11 +0100 <tomsmeding> oh right
2021-12-19 12:40:51 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:41:31 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:42:20 +0100 <tomsmeding> gensyst: yeah add projectname:exe:executablename before those repl-options arguments
2021-12-19 12:43:03 +0100 <gensyst> that works. however i'm back to "cabal build" times
2021-12-19 12:43:15 +0100 <gensyst> i guess it's some sort of overhead that ghci avoids somehow
2021-12-19 12:43:25 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:43:26 +0100 <gensyst> ":r" in ghci is super fast
2021-12-19 12:43:33 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:45:09 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:45:43 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:46:31 +0100mmhat(~mmh@55d46556.access.ecotel.net)
2021-12-19 12:46:49 +0100 <tomsmeding> gensyst: try 'cabal repl yourexecutablename -v | grep interactive', copy that huge ghc command, and append: -e :main
2021-12-19 12:47:32 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:47:43 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:48:37 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-12-19 12:48:51 +0100 <gensyst> tomsmeding, that's much faster :D
2021-12-19 12:49:10 +0100 <gensyst> seems like some non-standard thing to do, otherwise it'd be baked into cabal right?
2021-12-19 12:49:15 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:49:24 +0100 <int-e> oh in that case, can you do... --ghci-options='-e :main' ?
2021-12-19 12:49:40 +0100__monty__(~toonn@user/toonn)
2021-12-19 12:49:48 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:49:59 +0100 <int-e> (though I guess the point is to avoid rerunning `cabal`
2021-12-19 12:50:03 +0100 <int-e> so never mind)
2021-12-19 12:51:22 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:51:33 +0100 <tomsmeding> gensyst: cabal checks if there were changes in your project source files, project config, the global package index, and perhaps other things. That command might get outdated whenever you change any of those things. But if you don't, then it might continue to work :)
2021-12-19 12:51:46 +0100 <tomsmeding> in particular, just changing Main.hs and not changing any dependencies should work
2021-12-19 12:52:00 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:53:18 +0100 <gensyst> sure :)
2021-12-19 12:53:20 +0100 <gensyst> now finally
2021-12-19 12:53:34 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:53:36 +0100 <gensyst> Forgive me but "runghc allows you to run Haskell programs without first having to compile them." sounds STRANGE.
2021-12-19 12:53:44 +0100 <gensyst> magic?
2021-12-19 12:53:57 +0100 <int-e> gensyst: the same magic as ghci
2021-12-19 12:54:16 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:54:42 +0100 <tomsmeding> interpreting != compiling
2021-12-19 12:54:44 +0100 <int-e> it's morally (maybe even technically, I don't know) the same as ghci P.hs -e ':main'
2021-12-19 12:55:11 +0100 <int-e> and it does compile, of course, but on the fly and to bytecode
2021-12-19 12:55:20 +0100 <tomsmeding> int-e: it is :p https://gitlab.haskell.org/ghc/ghc/-/blob/master/utils/runghc/Main.hs#L156
2021-12-19 12:55:49 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:56:21 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 268 seconds)
2021-12-19 12:56:27 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:57:40 +0100 <gensyst> ok i see
2021-12-19 12:57:58 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 12:58:28 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 12:59:46 +0100 <gensyst> I should just have RTFM, but at least now I know what to look for. https://downloads.haskell.org/ghc/latest/docs/html/users_guide/ghci.html "So it pays to compile the parts of a program that aren’t changing very often, and use the interpreter for the code being actively developed."
2021-12-19 12:59:47 +0100 <gensyst> thanks guys
2021-12-19 13:00:02 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 13:00:41 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 13:01:31 +0100kspalaiologos(~kspalaiol@user/kspalaiologos)
2021-12-19 13:01:40 +0100mmhat(~mmh@55d46556.access.ecotel.net) (Quit: WeeChat 3.3)
2021-12-19 13:02:16 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 13:02:53 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 13:04:29 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-19 13:04:56 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-19 13:05:07 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:7cf1:85e9:3000:4f4d)
2021-12-19 13:05:32 +0100dyeplexer(~dyeplexer@user/dyeplexer)
2021-12-19 13:05:42 +0100machinedgod(~machinedg@24.105.81.50)
2021-12-19 13:08:21 +0100whatif(~user@114.250.136.140)
2021-12-19 13:08:39 +0100 <whatif> could ghc take {- code -} as comment?
2021-12-19 13:08:46 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-12-19 13:09:17 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:7cf1:85e9:3000:4f4d) (Ping timeout: 240 seconds)
2021-12-19 13:09:47 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Remote host closed the connection)
2021-12-19 13:09:51 +0100 <whatif> I know we use -- as comment, but a vim plugin nerdcommenter use {- -} as comment for .hs
2021-12-19 13:10:01 +0100 <whatif> so I wonder
2021-12-19 13:10:34 +0100 <int-e> Yes, `{- ... -}` is a comment in Haskell; it can span several lines
2021-12-19 13:13:46 +0100coot(~coot@2a02:a310:e03f:8500:933a:39ca:ef4e:37cb)
2021-12-19 13:13:50 +0100coot(~coot@2a02:a310:e03f:8500:933a:39ca:ef4e:37cb) (Read error: Connection reset by peer)
2021-12-19 13:14:09 +0100 <whatif> ok
2021-12-19 13:15:55 +0100fef(~thedawn@user/thedawn) (Remote host closed the connection)
2021-12-19 13:16:21 +0100fef(~thedawn@user/thedawn)
2021-12-19 13:17:37 +0100 <tomsmeding> and what's more, it nests!
2021-12-19 13:17:50 +0100 <tomsmeding> > 1 + {- comment {- within a {- comment -} -} -} 2
2021-12-19 13:17:52 +0100 <lambdabot> 3
2021-12-19 13:20:48 +0100coot(~coot@2a02:a310:e03f:8500:933a:39ca:ef4e:37cb)
2021-12-19 13:21:17 +0100xff0x(~xff0x@2001:1a81:53d2:9000:1181:abfc:439c:19e) (Ping timeout: 240 seconds)
2021-12-19 13:21:23 +0100Topsi(~Tobias@dyndsl-095-033-094-113.ewe-ip-backbone.de)
2021-12-19 13:22:28 +0100xff0x(~xff0x@2001:1a81:53d2:9000:eec8:750b:6133:d894)
2021-12-19 13:22:43 +0100 <hololeap> much like the mighty sparrow
2021-12-19 13:23:00 +0100coot(~coot@2a02:a310:e03f:8500:933a:39ca:ef4e:37cb) (Remote host closed the connection)
2021-12-19 13:23:25 +0100Topsi2(~Tobias@dyndsl-095-033-094-113.ewe-ip-backbone.de) (Ping timeout: 240 seconds)
2021-12-19 13:30:41 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-19 13:30:41 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-19 13:30:41 +0100wroathe(~wroathe@user/wroathe)
2021-12-19 13:33:11 +0100pfurla(~pfurla@2804:d41:4331:4800:1075:b21:7fd0:c974)
2021-12-19 13:35:22 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 260 seconds)
2021-12-19 13:36:41 +0100coot(~coot@2a02:a310:e03f:8500:933a:39ca:ef4e:37cb)
2021-12-19 13:37:57 +0100dcoutts_(~duncan@71.78.6.51.dyn.plus.net) (Ping timeout: 240 seconds)
2021-12-19 13:45:18 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-12-19 13:49:53 +0100gensyst(gensyst@user/gensyst) (Quit: Leaving)
2021-12-19 13:49:58 +0100pfurla(~pfurla@2804:d41:4331:4800:1075:b21:7fd0:c974) (Quit: gone to sleep. ZZZzzz…)
2021-12-19 13:50:54 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 256 seconds)
2021-12-19 13:52:03 +0100polezaivsani`(~polezaivs@orangeshoelaces.net)
2021-12-19 13:53:54 +0100polezaivsani`(~polezaivs@orangeshoelaces.net) (Client Quit)
2021-12-19 13:54:57 +0100polezaivsani(~polezaivs@orangeshoelaces.net) (Ping timeout: 240 seconds)
2021-12-19 13:55:03 +0100polezaivsani`(~polezaivs@orangeshoelaces.net)
2021-12-19 13:55:08 +0100polezaivsani`(~polezaivs@orangeshoelaces.net) (Client Quit)
2021-12-19 13:58:54 +0100polezaivsani(~polezaivs@orangeshoelaces.net)
2021-12-19 13:59:33 +0100fef(~thedawn@user/thedawn) (Quit: Leaving)
2021-12-19 14:04:13 +0100polezaivsani(~polezaivs@orangeshoelaces.net) (Remote host closed the connection)
2021-12-19 14:06:16 +0100kaction(~kaction@pool-71-191-91-40.washdc.fios.verizon.net)
2021-12-19 14:08:00 +0100polezaivsani(~polezaivs@orangeshoelaces.net)
2021-12-19 14:08:31 +0100max22-(~maxime@2a01cb08833598005fdfc488429f8659.ipv6.abo.wanadoo.fr) (Ping timeout: 268 seconds)
2021-12-19 14:09:37 +0100falafel(~falafel@2603-8000-d800-688c-90d6-5589-2ed3-af73.res6.spectrum.com) (Ping timeout: 240 seconds)
2021-12-19 14:15:14 +0100jumper149(~jumper149@static.6.71.203.116.clients.your-server.de)
2021-12-19 14:15:38 +0100 <jumper149> What is the inlining behaviour of derived instances?
2021-12-19 14:16:47 +0100 <int-e> . o O ( unpredictable )
2021-12-19 14:18:40 +0100deadmarshal(~deadmarsh@95.38.116.51) (Ping timeout: 256 seconds)
2021-12-19 14:19:44 +0100deadmarshal(~deadmarsh@95.38.116.51)
2021-12-19 14:20:04 +0100slowButPresent(~slowButPr@user/slowbutpresent)
2021-12-19 14:20:23 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-12-19 14:21:59 +0100 <int-e> jumper149: I think if you want a serious answer you'll have to narrow that question down quite a bit.
2021-12-19 14:23:52 +0100 <jumper149> int-e: Understandable, I was hoping for some documentation. Maybe something in GHC manual?
2021-12-19 14:24:33 +0100 <jumper149> I'm currently abusing DerivingVia quite a lot with monad transformers and was wondering about performance implications.
2021-12-19 14:26:17 +0100deadmarshal(~deadmarsh@95.38.116.51) (Ping timeout: 240 seconds)
2021-12-19 14:26:50 +0100 <int-e> I'm not sure where to look either. The story starts with type checking; as far as instantiations are visible to the type checker, they are also candidates for inlining... so things get better the more concrete the types are. But then you have the usual problem of predicting whether ghc will actually take the opportunity.
2021-12-19 14:28:27 +0100 <jumper149> int-e: Uhh, I guess chances are kinda bad then :(
2021-12-19 14:29:06 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-12-19 14:29:13 +0100 <Athas> When I try to use 'haskellPackagesNew.quickcheck-instances_0_3_27' in my .nix file, I get 'error: infinite recursion encountered' (naturally pointing at some internal file I have never even heard about before). I use this pattern to get new versions of many other obsolete Hackage packages in Nixpkgs. Is quickcheck-instances known to be particularly fragile for some reason?
2021-12-19 14:29:25 +0100deadmarshal(~deadmarsh@95.38.116.51)
2021-12-19 14:29:39 +0100 <int-e> jumper149: the `via` part is cheap though; that's basically a coercion (actually one per class method) to wrap/unwrap a newtype
2021-12-19 14:29:40 +0100 <Athas> This is how I do it for various other packages: https://github.com/diku-dk/futhark/blob/master/default.nix#L23-L42
2021-12-19 14:32:05 +0100ProfSimm(~ProfSimm@87.227.196.109)
2021-12-19 14:38:35 +0100dcoutts_(~duncan@71.78.6.51.dyn.plus.net)
2021-12-19 14:40:57 +0100remedan_(~remedan@balak.me) (Quit: Bye!)
2021-12-19 14:45:21 +0100 <whatif> how to change the function call behavior by every same call? same call, different result every time
2021-12-19 14:45:48 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-19 14:48:31 +0100falafel(~falafel@2603-8000-d800-688c-90d6-5589-2ed3-af73.res6.spectrum.com)
2021-12-19 14:50:24 +0100 <jumper149> whatif: Do you want an impure function?
2021-12-19 14:52:09 +0100DNH(~DNH@2a02:8108:1100:16d8:d8a9:a97b:f226:606f)
2021-12-19 14:52:17 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-12-19 14:52:22 +0100DNH(~DNH@2a02:8108:1100:16d8:d8a9:a97b:f226:606f) (Client Quit)
2021-12-19 14:52:38 +0100DNH(~DNH@2a02:8108:1100:16d8:d8a9:a97b:f226:606f)
2021-12-19 14:54:11 +0100 <whatif> jumper149: is possible?
2021-12-19 14:54:22 +0100remedan(~remedan@octo.cafe)
2021-12-19 14:55:10 +0100pfurla(~pfurla@2804:d41:4331:4800:1075:b21:7fd0:c974)
2021-12-19 14:55:12 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-12-19 14:55:44 +0100pfurla(~pfurla@2804:d41:4331:4800:1075:b21:7fd0:c974) (Client Quit)
2021-12-19 14:55:54 +0100 <jumper149> whatif: No, but that's what monads are for ;)
2021-12-19 14:56:35 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-12-19 14:56:54 +0100 <whatif> jumper149: see what this python with closure to archive, it change a function's behavior after every call, it can do a map with a changing function, https://paste.tomsmeding.com/GAVSCKAx
2021-12-19 14:57:39 +0100 <whatif> of course, it can be done with an object way
2021-12-19 14:57:55 +0100 <jumper149> Take the IO monad for example: f = do { x <- readFile "filename"; writeFile "filename" (x ++ "appended text"); return x }
2021-12-19 14:57:58 +0100 <whatif> change the object's attribute after every object's method call
2021-12-19 14:58:45 +0100 <whatif> so I wonder if we can do that with State or whatever else
2021-12-19 14:59:56 +0100 <jumper149> whatif: Yes. That is possible to do with the `State` monad.
2021-12-19 15:00:11 +0100 <whatif> jumper149: for example?
2021-12-19 15:01:05 +0100 <jumper149> The type signature should be something like: `gc :: State Integer Integer`
2021-12-19 15:03:29 +0100 <jumper149> And then to use that function: `evalState (traverse gc [1,2,3]) 0`
2021-12-19 15:04:05 +0100 <jumper149> whatif: Read through this documentation: https://hackage.haskell.org/package/mtl-2.2.2/docs/Control-Monad-State-Lazy.html
2021-12-19 15:05:20 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: Leaving)
2021-12-19 15:05:26 +0100 <jumper149> Oops, actually the type signature is: `gc :: Integer -> State Integer Integer`
2021-12-19 15:06:21 +0100 <whatif> jumper149: could you paste the whole code?
2021-12-19 15:06:35 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:7cf1:85e9:3000:4f4d)
2021-12-19 15:07:03 +0100neurocyte0132889(~neurocyte@user/neurocyte)
2021-12-19 15:07:56 +0100notzmv(~zmv@user/notzmv)
2021-12-19 15:08:08 +0100 <jumper149> I left out the implementation of `gc` as an exercise ;)
2021-12-19 15:08:29 +0100 <jumper149> Honestly, if you want to undestand how it works, you should really try to implement that yourself.
2021-12-19 15:09:13 +0100 <jumper149> Everything you need will be available in `Control.Monad.State` from the mtl package.
2021-12-19 15:09:37 +0100 <whatif> jumper149: but I don't think that's possible in haskell
2021-12-19 15:10:37 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:7cf1:85e9:3000:4f4d) (Ping timeout: 240 seconds)
2021-12-19 15:10:43 +0100 <whatif> gc = gc _ _
2021-12-19 15:12:48 +0100 <jumper149> You don't need recursion here. Write `gc` exactly like `inner` from your python example.
2021-12-19 15:14:15 +0100coot(~coot@2a02:a310:e03f:8500:933a:39ca:ef4e:37cb) (Remote host closed the connection)
2021-12-19 15:14:31 +0100 <whatif> but that inner function take a outside variable, and change it
2021-12-19 15:14:46 +0100 <whatif> how haskell can change a outside variable inside a function
2021-12-19 15:15:01 +0100 <jumper149> Yes, did you see that I corrected myself: `gc :: Integer -> State Integer Integer`
2021-12-19 15:15:38 +0100 <jumper149> Oh you mean the outside variable `n`...
2021-12-19 15:15:45 +0100 <whatif> yes
2021-12-19 15:15:47 +0100jkaye(~jkaye@2601:281:8300:7530:48ee:b2a3:80ed:d885)
2021-12-19 15:15:47 +0100 <jumper149> That is our state!
2021-12-19 15:15:56 +0100ksqsf(~ksqsf@134.209.106.31)
2021-12-19 15:16:21 +0100 <jumper149> You can use `get` and `put` from https://hackage.haskell.org/package/mtl-2.2.2/docs/Control-Monad-State-Lazy.html#t:StateT
2021-12-19 15:16:40 +0100 <jumper149> That will allow you to read and change that state
2021-12-19 15:16:45 +0100 <ksqsf> hi all. where is the code for deriving class instances located in ghc?
2021-12-19 15:17:18 +0100 <whatif> jumper149: after the change, where you store it?
2021-12-19 15:17:25 +0100zava(~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de)
2021-12-19 15:17:29 +0100 <whatif> store the return value, the result
2021-12-19 15:18:37 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-12-19 15:19:07 +0100 <jumper149> whatif: In the state again. That's what `put` is for.
2021-12-19 15:19:44 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-12-19 15:20:00 +0100 <whatif> jumper149: you mean the put the whole code inside the one state?
2021-12-19 15:20:28 +0100 <jumper149> That went over my head.
2021-12-19 15:21:00 +0100 <ksqsf> ok, I found it: GHC.Tc.Deriv.
2021-12-19 15:21:26 +0100 <whatif> jumper149: so I would like to see the full code...
2021-12-19 15:21:34 +0100 <jumper149> You use `get` to read out the state. Then you use `put` to store your new state. Then you use `return` to give return the same value that you return in `inner`.
2021-12-19 15:21:39 +0100 <jumper149> whatif: ok, sec
2021-12-19 15:22:05 +0100xb0o2(~xb0o2@user/xb0o2)
2021-12-19 15:22:51 +0100coot(~coot@2a02:a310:e03f:8500:933a:39ca:ef4e:37cb)
2021-12-19 15:25:26 +0100 <jumper149> http://ix.io/3IQK
2021-12-19 15:25:55 +0100ddb(~ddb@ipv6two.tilde.club) (Ping timeout: 250 seconds)
2021-12-19 15:28:55 +0100Heffalump[m](~hsenagmat@2001:470:69fc:105::e11)
2021-12-19 15:38:35 +0100max22-(~maxime@2a01cb0883359800a97032845f824a07.ipv6.abo.wanadoo.fr)
2021-12-19 15:44:03 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2021-12-19 15:44:30 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-12-19 15:46:11 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2021-12-19 15:46:33 +0100 <whatif> jumper149: thanks :)
2021-12-19 15:49:20 +0100 <Heffalump[m]> Is there a way to get ghc --make to print the compilation time of each file?
2021-12-19 15:49:33 +0100shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-12-19 15:52:17 +0100falafel(~falafel@2603-8000-d800-688c-90d6-5589-2ed3-af73.res6.spectrum.com) (Ping timeout: 240 seconds)
2021-12-19 15:53:36 +0100coot(~coot@2a02:a310:e03f:8500:933a:39ca:ef4e:37cb) (Remote host closed the connection)
2021-12-19 15:56:21 +0100ksqsf(~ksqsf@134.209.106.31) (Quit: Leaving...)
2021-12-19 15:56:49 +0100ksqsf(~ksqsf@134.209.106.31)
2021-12-19 15:57:53 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-12-19 15:58:05 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2021-12-19 15:58:17 +0100deadmarshal(~deadmarsh@95.38.116.51) (Ping timeout: 240 seconds)
2021-12-19 16:01:46 +0100gdd(~gdd@129.199.146.230)
2021-12-19 16:04:35 +0100unyu(~pyon@user/pyon) (Quit: WeeChat 3.3)
2021-12-19 16:04:37 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3) (Ping timeout: 240 seconds)
2021-12-19 16:06:34 +0100unyu(~pyon@user/pyon)
2021-12-19 16:09:46 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3)
2021-12-19 16:10:37 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-12-19 16:14:59 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.3)
2021-12-19 16:15:33 +0100DNH(~DNH@2a02:8108:1100:16d8:d8a9:a97b:f226:606f) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-12-19 16:15:40 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2021-12-19 16:16:16 +0100deadmarshal(~deadmarsh@95.38.116.51)
2021-12-19 16:16:34 +0100Topsi1(~Tobias@dyndsl-095-033-094-113.ewe-ip-backbone.de)
2021-12-19 16:17:28 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-19 16:17:28 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-19 16:17:28 +0100wroathe(~wroathe@user/wroathe)
2021-12-19 16:18:37 +0100Topsi(~Tobias@dyndsl-095-033-094-113.ewe-ip-backbone.de) (Ping timeout: 240 seconds)
2021-12-19 16:19:06 +0100SummerSonw(~The_viole@203.77.49.232)
2021-12-19 16:20:25 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-12-19 16:20:33 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2021-12-19 16:23:45 +0100Topsi(~Tobias@dyndsl-095-033-094-113.ewe-ip-backbone.de)
2021-12-19 16:24:15 +0100 <Athas> Why, after 'choco install -y ghc --version=8.10.7 --allow-downgrade', do I have ghc 9.2.1 installed?
2021-12-19 16:24:17 +0100DNH(~DNH@2a02:8108:1100:16d8:d8a9:a97b:f226:606f)
2021-12-19 16:24:19 +0100 <Athas> I am so tired of computers.
2021-12-19 16:26:44 +0100Topsi1(~Tobias@dyndsl-095-033-094-113.ewe-ip-backbone.de) (Ping timeout: 256 seconds)
2021-12-19 16:27:07 +0100 <jumper149> Athas: Multiple package managers?
2021-12-19 16:27:46 +0100 <Athas> jumper149: unless the 'windows-2019' image provided by GA comes with a new version of GHC preinstalled, I don't think so.
2021-12-19 16:28:19 +0100 <jumper149> Oh, no idea about windows, sry :(
2021-12-19 16:28:50 +0100 <Athas> Yeah, me too. Maybe I should just stop pretending to support it.
2021-12-19 16:30:22 +0100darchitect(~darchitec@2a00:23c6:3584:df00:7dec:bf13:8fa:748c)
2021-12-19 16:30:41 +0100 <darchitect> hey guys, does anyone know how to quickly visualise folds in ghci ?
2021-12-19 16:31:20 +0100 <geekosaur> ghc-vis?
2021-12-19 16:31:34 +0100 <darchitect> what is that
2021-12-19 16:31:36 +0100 <darchitect> never heard of it before
2021-12-19 16:31:38 +0100 <geekosaur> depends on how you want them to be visualized
2021-12-19 16:31:45 +0100 <geekosaur> @hackage ghc-vis
2021-12-19 16:31:45 +0100 <lambdabot> https://hackage.haskell.org/package/ghc-vis
2021-12-19 16:32:23 +0100 <geekosaur> I think there's also a website which visualizes folds, but that's not in ghci
2021-12-19 16:32:35 +0100gensyst(gensyst@user/gensyst)
2021-12-19 16:32:42 +0100 <darchitect> wow thanks a bunch man
2021-12-19 16:32:44 +0100 <geekosaur> there's also
2021-12-19 16:32:45 +0100 <darchitect> will have a look at it
2021-12-19 16:32:55 +0100 <geekosaur> > foldr f z [a,b,c]
2021-12-19 16:32:57 +0100 <lambdabot> f a (f b (f c z))
2021-12-19 16:33:05 +0100 <geekosaur> courtesy of the simple-reflect package
2021-12-19 16:33:05 +0100jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-12-19 16:34:37 +0100deadmarshal(~deadmarsh@95.38.116.51) (Ping timeout: 240 seconds)
2021-12-19 16:34:39 +0100acidjnk(~acidjnk@p200300d0c7271e774586c8f7f876c3d9.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2021-12-19 16:34:59 +0100 <darchitect> ghc-viz looks sick
2021-12-19 16:35:06 +0100dsp(~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net)
2021-12-19 16:35:44 +0100 <darchitect> I thought Haskell had a rather esoteric and stagnated eco-system but I stand corrected
2021-12-19 16:35:46 +0100 <darchitect> thanks again
2021-12-19 16:36:02 +0100jakalx(~jakalx@base.jakalx.net)
2021-12-19 16:36:37 +0100SummerSonw(~The_viole@203.77.49.232) (Ping timeout: 240 seconds)
2021-12-19 16:38:33 +0100u0_a184(~u0_a184@120.242.179.14)
2021-12-19 16:38:38 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 256 seconds)
2021-12-19 16:38:48 +0100 <Athas> It's old but I don't think it's esoteric by modern standards. And it's certainly not stagnant; it's changing faster than I've seen before.
2021-12-19 16:39:02 +0100 <dsp> I have a beginner question: I have two maybe's and want to result of an "or" operation, e.g. Just a OP Nothing should return Just a, and vice versa, is ther a liberary function for that?
2021-12-19 16:39:34 +0100 <geekosaur> > Just 5 <|> Nothing
2021-12-19 16:39:36 +0100 <lambdabot> Just 5
2021-12-19 16:39:43 +0100 <geekosaur> > Nothing <|> Just 5
2021-12-19 16:39:45 +0100 <lambdabot> Just 5
2021-12-19 16:40:03 +0100 <geekosaur> if you want a generalization to multiple values, it's `asum`
2021-12-19 16:40:23 +0100 <dsp> thank you. Hm, variable <|> not in scope, let me see waht i need to import to get it
2021-12-19 16:40:43 +0100 <geekosaur> Control.Applicative probably
2021-12-19 16:41:05 +0100 <dsp> very much so, thank you geekosaur!
2021-12-19 16:44:50 +0100xff0x(~xff0x@2001:1a81:53d2:9000:eec8:750b:6133:d894) (Ping timeout: 260 seconds)
2021-12-19 16:45:38 +0100xff0x(~xff0x@2001:1a81:53d2:9000:f325:fa80:d018:3e1f)
2021-12-19 16:46:11 +0100Ranhir(~Ranhir@157.97.53.139) (Ping timeout: 245 seconds)
2021-12-19 16:47:57 +0100u0_a184(~u0_a184@120.242.179.14) (Quit: WeeChat 3.0.1)
2021-12-19 16:48:27 +0100KnifeFire(~Knifefire@120.242.179.14)
2021-12-19 16:48:38 +0100Ranhir(~Ranhir@157.97.53.139)
2021-12-19 16:49:39 +0100leah2(~leah@vuxu.org) (Remote host closed the connection)
2021-12-19 16:50:03 +0100KnifeFire(~Knifefire@120.242.179.14) (Client Quit)
2021-12-19 16:51:55 +0100leah2(~leah@vuxu.org)
2021-12-19 16:53:28 +0100dsrt^(~dsrt@64.253.22.77) (Remote host closed the connection)
2021-12-19 16:54:12 +0100slack1256(~slack1256@191.126.99.78)
2021-12-19 16:58:57 +0100jkaye(~jkaye@2601:281:8300:7530:48ee:b2a3:80ed:d885) (Ping timeout: 240 seconds)
2021-12-19 16:59:34 +0100averell(~averell@user/averell)
2021-12-19 17:03:21 +0100deadmarshal(~deadmarsh@95.38.116.51)
2021-12-19 17:06:11 +0100ksqsf(~ksqsf@134.209.106.31) (Remote host closed the connection)
2021-12-19 17:07:14 +0100slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-12-19 17:07:37 +0100deadmarshal(~deadmarsh@95.38.116.51) (Ping timeout: 240 seconds)
2021-12-19 17:07:51 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds)
2021-12-19 17:08:04 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:7cf1:85e9:3000:4f4d)
2021-12-19 17:12:17 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:7cf1:85e9:3000:4f4d) (Ping timeout: 240 seconds)
2021-12-19 17:13:02 +0100ksqsf(~ksqsf@134.209.106.31)
2021-12-19 17:14:02 +0100xff0x(~xff0x@2001:1a81:53d2:9000:f325:fa80:d018:3e1f) (Ping timeout: 240 seconds)
2021-12-19 17:14:49 +0100xff0x(~xff0x@2001:1a81:53d2:9000:624c:90f8:cb96:14ab)
2021-12-19 17:16:02 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-19 17:19:42 +0100kspalaiologos(~kspalaiol@user/kspalaiologos) (Quit: Leaving)
2021-12-19 17:19:49 +0100ksqsf(~ksqsf@134.209.106.31) (Quit: Leaving...)
2021-12-19 17:20:17 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3) (Ping timeout: 268 seconds)
2021-12-19 17:20:40 +0100ksqsf(~user@134.209.106.31)
2021-12-19 17:22:58 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-12-19 17:24:45 +0100sndr(~sander@user/sander)
2021-12-19 17:25:23 +0100sander(~sander@user/sander) (Ping timeout: 252 seconds)
2021-12-19 17:25:29 +0100sndrsander
2021-12-19 17:26:45 +0100zer0bitz(~zer0bitz@dsl-hkibng32-54f844-160.dhcp.inet.fi)
2021-12-19 17:28:57 +0100xff0x(~xff0x@2001:1a81:53d2:9000:624c:90f8:cb96:14ab) (Ping timeout: 240 seconds)
2021-12-19 17:30:00 +0100xff0x(~xff0x@2001:1a81:53d2:9000:e615:4a02:5110:222)
2021-12-19 17:30:56 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-12-19 17:34:01 +0100pfurla(~pfurla@2804:d41:4331:4800:11e0:2623:c59:6cb7)
2021-12-19 17:34:39 +0100son0p-(~ff@181.136.122.143)
2021-12-19 17:36:19 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:7cf1:85e9:3000:4f4d)
2021-12-19 17:36:53 +0100 <gensyst> I "open my project (library and executable)" with GHCi using this command: "cabal repl exe:projectname-exe". Then I call "import Some.Module.Inside.Library" and now I have access to it.
2021-12-19 17:37:26 +0100 <gensyst> However this library module is not listed when I call ":show modules". Why not? I want to double-check that the library module is not interpreted.
2021-12-19 17:37:34 +0100 <gensyst> I want to make sure it's using compiled .o
2021-12-19 17:39:55 +0100whatif(~user@114.250.136.140) (Quit: ERC (IRC client for Emacs 26.3))
2021-12-19 17:40:35 +0100 <gensyst> Let me put it this way: In GHCi, how do I check if a particular thing is coming from interpreted code or compiled code?
2021-12-19 17:41:05 +0100mvk(~mvk@2607:fea8:5cdd:f000::917a)
2021-12-19 17:46:23 +0100 <slack1256> gensyst: The only interpreted code on your ghci session should be what you implicit pass an argument to `cabal v2-repl` AFAIK.
2021-12-19 17:47:10 +0100 <slack1256> If in my project I run `cabal v2-run lib:my-project` only that target (plus its dependencies on cabal.project) will get interpreted.
2021-12-19 17:47:21 +0100 <slack1256> I don't know how to do that inside of a ghci session.
2021-12-19 17:48:23 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3)
2021-12-19 17:48:26 +0100 <slack1256> gensyst: I got. `:show linker` inside ghci!
2021-12-19 17:48:55 +0100 <slack1256> It will show pkgs vs loaded objects.
2021-12-19 17:49:25 +0100TranquilEcho(~grom@user/tranquilecho)
2021-12-19 17:49:50 +0100 <pfurla-matrix> `:show modules` shows that is interpreted or compiled
2021-12-19 17:49:57 +0100 <gensyst> slack1256, when running ":show linker", the project's own library is listed in Pkgs, but both Objs and BCOs are empty.
2021-12-19 17:49:58 +0100 <pfurla-matrix> that = what
2021-12-19 17:50:34 +0100 <gensyst> pfurla-matrix, yes but apparently that's only for what you explicitly pass into cabal repl (as slack1256 said)
2021-12-19 17:50:36 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-12-19 17:50:44 +0100 <pfurla-matrix> what is BCOs?
2021-12-19 17:51:31 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-12-19 17:52:15 +0100 <gensyst> no idea
2021-12-19 17:52:42 +0100zava(~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de) (Quit: WeeChat 3.3)
2021-12-19 17:53:26 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3) (Ping timeout: 252 seconds)
2021-12-19 17:54:13 +0100 <pfurla-matrix> "Byte Code Objects (BCOs). BCOs are heap objects which correspond to top-level bindings, and let and case expressions" from https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/GHCi
2021-12-19 17:56:53 +0100coot(~coot@2a02:a310:e03f:8500:7248:52ac:817b:7fb4)
2021-12-19 17:57:04 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-12-19 17:58:22 +0100 <gensyst> Can I go by this rule? Rule: (1) If it's listed as "interpreted" in ":show modules", it's interpreted. (2) If it's listed as ".o" in ":show modules", it's compiled. (3) If it isn't listed at all in ":show modules", it's also compiled.
2021-12-19 17:58:56 +0100x88x88x(~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb) (Read error: Connection reset by peer)
2021-12-19 17:59:58 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net)
2021-12-19 18:04:52 +0100euouae(~euouae@user/euouae)
2021-12-19 18:07:26 +0100 <euouae> Hello how would you write `append :: [a] -> [a] -> [a]` for which `append xs ys` is just `xs ++ ys`? One solution seems to be to recurse like `x :: append xs ys` and another is by using a tail-call optimized reverse-append. The second option requires traversing the list twice but doesn't require O(n) in stack. Is that betteR?
2021-12-19 18:08:54 +0100 <gensyst> euouae, beautiful nickname.. thought i wa sreading greek at first. am i dyslexic?
2021-12-19 18:09:49 +0100 <monochrom> You can write "append xs ys = xs ++ ys" literally.
2021-12-19 18:10:11 +0100 <euouae> gensyst, no but you may be an oracular
2021-12-19 18:10:18 +0100 <pfurla-matrix> it's aenone if rotated 180o, isn't it?
2021-12-19 18:10:21 +0100 <monochrom> If you mean you want to write your own recursive algorithm, tail recursion is bad for this.
2021-12-19 18:10:33 +0100 <euouae> monochrom yes I'm asking about writing my own algorithm
2021-12-19 18:11:13 +0100 <monochrom> This is a test case you want to pass:
2021-12-19 18:11:27 +0100 <monochrom> > take 1 ("x" ++ undefined)
2021-12-19 18:11:29 +0100 <lambdabot> "x"
2021-12-19 18:11:43 +0100 <monochrom> The standard tail-recursive algorithm will fail that.
2021-12-19 18:11:43 +0100DNH(~DNH@2a02:8108:1100:16d8:d8a9:a97b:f226:606f) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-12-19 18:11:48 +0100koz(~koz@121.99.240.58)
2021-12-19 18:12:07 +0100 <euouae> hmm I didn't realize monochrom, I should've added that I wish the algorithm to be strict
2021-12-19 18:12:45 +0100 <euouae> I don't know what the 'standard' algorithm is; I do know how to have a function f xs ys == (reverse xs) ++ ys
2021-12-19 18:12:53 +0100DNH(~DNH@2a02:8108:1100:16d8:d8a9:a97b:f226:606f)
2021-12-19 18:13:48 +0100 <euouae> which has the tail-call optimization. So I could do `f (f xs []) ys` as my `append xs ys`, that's what I had in mind.
2021-12-19 18:14:22 +0100xb0o2(~xb0o2@user/xb0o2) (Quit: Client closed)
2021-12-19 18:14:24 +0100 <euouae> Which traverses xs twice, but it seems a better option than using O(n) of the stack? I'm just wondering if these are correct considerations and if there's anything better
2021-12-19 18:16:23 +0100 <monochrom> Are you saying that using the standard library's ++, x++y uses linear space for finite strings? Therefore uses infinite space for infinite strings?
2021-12-19 18:16:56 +0100 <monochrom> Because take 1 (repeat 'x' ++ repeat 'y') takes only constant time, therefore no way it can use infinite space or even linear space.
2021-12-19 18:17:05 +0100 <monochrom> > take 1 (repeat 'x' ++ repeat 'y')
2021-12-19 18:17:07 +0100 <lambdabot> "x"
2021-12-19 18:17:30 +0100 <monochrom> This destroys your model of how recursion uses space.
2021-12-19 18:17:34 +0100 <euouae> No I'm saying that the implementation for `append` I wrote above seems to use linear space if strict
2021-12-19 18:17:50 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-12-19 18:17:50 +0100 <monochrom> OK, so this is not Haskell?
2021-12-19 18:17:53 +0100 <euouae> append (x::xs) ys = x :: (append xs ys)
2021-12-19 18:19:30 +0100 <euouae> I'm trying to understand how that translates into machine code but unfortunately I'm not good enough to know how to compile it and disassemble it with gdb
2021-12-19 18:21:46 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2021-12-19 18:21:48 +0100 <pfurla-matrix> `::` is not haskell cons
2021-12-19 18:22:05 +0100 <euouae> oh I meant `:` you are right
2021-12-19 18:23:45 +0100 <monochrom> OK so this is Haskell.
2021-12-19 18:24:18 +0100Erutuon(~Erutuon@user/erutuon)
2021-12-19 18:24:25 +0100thevishy(~Nishant@2405:201:f005:c007:851a:8f84:501c:8bd1) (Quit: Leaving)
2021-12-19 18:24:29 +0100koz(~koz@121.99.240.58) (Quit: koz)
2021-12-19 18:25:09 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3)
2021-12-19 18:25:19 +0100 <monochrom> "append (x::xs) ys = x : (append xs ys)" is non-strict in xs and in ys.
2021-12-19 18:26:12 +0100polezaivsani(~polezaivs@orangeshoelaces.net) (Remote host closed the connection)
2021-12-19 18:26:21 +0100 <pfurla-matrix> if you really want to see things with gdb you should have a look at https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/debug-info.html if you haven't already.
2021-12-19 18:26:27 +0100 <monochrom> and in the recursive term (append xs ys)
2021-12-19 18:27:07 +0100 <pfurla-matrix> but it might be more useful to learn how haskell lazyness works instead of going all the way down to asm
2021-12-19 18:27:37 +0100 <monochrom> https://github.com/takenobu-hs/haskell-ghc-illustrated is a good presentation of the low level story.
2021-12-19 18:28:36 +0100 <monochrom> But yeah most of the time, or most people, do not need that low level. (And not ready for it anyway.)
2021-12-19 18:29:23 +0100 <pfurla-matrix> tagless g-machine :)
2021-12-19 18:29:58 +0100polezaivsani(~polezaivs@orangeshoelaces.net)
2021-12-19 18:30:13 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3) (Ping timeout: 240 seconds)
2021-12-19 18:35:21 +0100 <euouae> I guess I'm just trying to understand if append (x:xs) = x : (append xs ys) uses O(n) of the stack
2021-12-19 18:35:26 +0100 <euouae> where n is the length of xs
2021-12-19 18:36:39 +0100KnifeFire(~Knifefire@120.242.179.14)
2021-12-19 18:37:00 +0100 <euouae> both the pdf you linked to and the debug-info link on gdb seem too advanced, but on a rudimentary level I wonder if I can get an answer to the above or is that also a big story?
2021-12-19 18:37:01 +0100xff0x(~xff0x@2001:1a81:53d2:9000:e615:4a02:5110:222) (Ping timeout: 245 seconds)
2021-12-19 18:38:10 +0100xff0x(~xff0x@2001:1a81:53d2:9000:941d:3a25:9fc5:6e77)
2021-12-19 18:38:26 +0100 <euouae> or even easier to ask, can haskell code overflow the stack?
2021-12-19 18:38:32 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-19 18:38:32 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-19 18:38:32 +0100wroathe(~wroathe@user/wroathe)
2021-12-19 18:38:43 +0100KnifeFire(~Knifefire@120.242.179.14) (Client Quit)
2021-12-19 18:38:59 +0100 <pfurla-matrix> lol, just found this https://stackoverflow.com/questions/43265198/do-stack-overflow-errors-occur-in-haskell, didn't read it, no idea if it's useful
2021-12-19 18:39:05 +0100 <ksqsf> euouae: haskell does not actually use system stacks for user functions iiuc
2021-12-19 18:39:54 +0100 <ksqsf> thread (haskell's green threads) stacks are heap objects
2021-12-19 18:40:09 +0100 <euouae> ksqsf that is starting to make sense...
2021-12-19 18:40:25 +0100 <darchitect> doesn't haskell use the stack at all ?
2021-12-19 18:41:23 +0100Topsi(~Tobias@dyndsl-095-033-094-113.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2021-12-19 18:42:44 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2021-12-19 18:43:22 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 260 seconds)
2021-12-19 18:48:04 +0100coot(~coot@2a02:a310:e03f:8500:7248:52ac:817b:7fb4) (Quit: coot)
2021-12-19 18:48:20 +0100 <euouae> okay, great. thank you for the answers
2021-12-19 18:49:00 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-19 18:49:00 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-19 18:49:00 +0100wroathe(~wroathe@user/wroathe)
2021-12-19 18:52:06 +0100euouae(~euouae@user/euouae) (Quit: )
2021-12-19 18:53:22 +0100 <pfurla-matrix> > foldl (+) 0 [1..10**8]
2021-12-19 18:53:31 +0100 <lambdabot> mueval.real: ExitFailure 1
2021-12-19 18:54:00 +0100 <pfurla-matrix> in my local ghci I get a stack overflow
2021-12-19 18:54:29 +0100 <pfurla-matrix> * > foldl' (+)
2021-12-19 18:54:38 +0100son0p-(~ff@181.136.122.143) (Ping timeout: 256 seconds)
2021-12-19 18:54:47 +0100 <pfurla-matrix> > foldl' (+) 0 [1..10**8]
2021-12-19 18:54:53 +0100 <lambdabot> 5.00000005e15
2021-12-19 18:55:18 +0100 <darchitect> stackoverflow here as well
2021-12-19 18:55:21 +0100 <geekosaur> haskell doesn't have a traditional stack. there is a pattern match stack which is part of how lazy evaluation occurs
2021-12-19 18:56:33 +0100 <geekosaur> > foldl f z [a,b,c]
2021-12-19 18:56:34 +0100 <lambdabot> f (f (f z a) b) c
2021-12-19 18:59:04 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2021-12-19 18:59:15 +0100 <monochrom> There is still a difference between "how much stack does this code use?" and "so this code uses linear stack, my question is..."
2021-12-19 18:59:37 +0100 <monochrom> Especially when the premise "so this code uses linear stack" is wrong.
2021-12-19 18:59:55 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Remote host closed the connection)
2021-12-19 18:59:57 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3)
2021-12-19 19:00:02 +0100 <pfurla-matrix> what is f, z, a, b, and c ?
2021-12-19 19:00:20 +0100 <hpc> they're placeholder values that pretty-print as "f", "z", etc etc
2021-12-19 19:00:23 +0100 <geekosaur> that was for something I was going to do and changed my mind, sorry
2021-12-19 19:00:26 +0100 <geekosaur> look at
2021-12-19 19:00:33 +0100 <geekosaur> @hackage simple-reflect
2021-12-19 19:00:33 +0100 <lambdabot> https://hackage.haskell.org/package/simple-reflect
2021-12-19 19:00:39 +0100 <hpc> in a way that looks like how their combination as an expression would look
2021-12-19 19:00:44 +0100 <pfurla-matrix> hpc that's pretty cool
2021-12-19 19:00:44 +0100 <geekosaur> it's a pretty clever package
2021-12-19 19:01:01 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2021-12-19 19:01:32 +0100 <monochrom> For maximum confusion:
2021-12-19 19:01:41 +0100 <monochrom> > foldl f z [e, f]
2021-12-19 19:01:42 +0100 <lambdabot> f (f z e) f
2021-12-19 19:01:42 +0100 <pfurla-matrix> I was using simple-reflect the other day, couldn't make it work with global stack, ditched stack for cabal... and finally completely for what I wanted from simple-reflect
2021-12-19 19:01:43 +0100 <APic> Gesundheit.
2021-12-19 19:02:35 +0100 <hpc> > (f 5, f (2 + 3)) -- it gets even more cleverer :D
2021-12-19 19:02:36 +0100 <lambdabot> error:
2021-12-19 19:02:36 +0100 <lambdabot> • Ambiguous type variable ‘a0’ arising from a use of ‘show_M404042824880...
2021-12-19 19:02:36 +0100 <lambdabot> prevents the constraint ‘(Show a0)’ from being solved.
2021-12-19 19:02:38 +0100dyeplexer(~dyeplexer@user/dyeplexer) (Remote host closed the connection)
2021-12-19 19:02:54 +0100 <hpc> cleverer than ghc :(
2021-12-19 19:03:06 +0100 <hpc> with enough type signatures that prints "(f 5, f 5)"
2021-12-19 19:04:30 +0100 <pfurla-matrix> > :t f
2021-12-19 19:04:32 +0100 <lambdabot> <hint>:1:1: error: parse error on input ‘:’
2021-12-19 19:04:45 +0100 <monochrom> > (f 5, f (2 + 3)) :: (Expr, Expr)
2021-12-19 19:04:46 +0100 <lambdabot> (f 5,f 5)
2021-12-19 19:05:08 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3) (Ping timeout: 268 seconds)
2021-12-19 19:05:31 +0100 <pfurla-matrix> > (f 5, f ( (lift 2) + 3)) :: (Expr, Expr)
2021-12-19 19:05:33 +0100 <lambdabot> error:
2021-12-19 19:05:33 +0100 <lambdabot> • Ambiguous type variables ‘t0’, ‘m0’,
2021-12-19 19:05:33 +0100 <lambdabot> ‘a0’ arising from a use of ‘f’
2021-12-19 19:05:42 +0100 <monochrom> You will have to say ":t f" or "@type f", in both cases no "> "
2021-12-19 19:05:56 +0100 <pfurla-matrix> :t f
2021-12-19 19:05:58 +0100 <lambdabot> FromExpr a => a
2021-12-19 19:06:17 +0100 <pfurla-matrix> thanks, forgot how to use lambdabot
2021-12-19 19:07:25 +0100deadmarshal(~deadmarsh@95.38.116.51)
2021-12-19 19:09:52 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-12-19 19:09:59 +0100 <darchitect> what is lambdabot ?
2021-12-19 19:10:17 +0100 <geekosaur> @version
2021-12-19 19:10:18 +0100 <lambdabot> lambdabot 5.3.0.1
2021-12-19 19:10:18 +0100 <lambdabot> git clone https://github.com/lambdabot/lambdabot
2021-12-19 19:10:34 +0100 <pfurla-matrix> > "I am lambdabot, nice to meet'ya"
2021-12-19 19:10:36 +0100 <lambdabot> "I am lambdabot, nice to meet'ya"
2021-12-19 19:12:02 +0100 <darchitect> sick
2021-12-19 19:14:05 +0100Neuromancer(~Neuromanc@user/neuromancer)
2021-12-19 19:18:12 +0100 <hpc> % "yahb is also pretty neat"
2021-12-19 19:18:12 +0100 <yahb> hpc: "yahb is also pretty neat"
2021-12-19 19:18:46 +0100 <hpc> (yahb gives you a full ghci session, IO and all, but doesn't have other neat stuff like djinn)
2021-12-19 19:19:17 +0100 <geekosaur> lambdabot is based around mueval, which is an internal sandboxing mechanism. yahb is ghci running in an external sandbox
2021-12-19 19:21:50 +0100 <zero> is it possible to do a bfs as elegantly as this dfs? https://paste.jrvieira.com/1639938024209
2021-12-19 19:22:41 +0100 <monochrom> You need a queue. Or you need iterative deepening.
2021-12-19 19:23:11 +0100 <zero> what do you mean by iterative deepening?
2021-12-19 19:23:11 +0100econo(uid147250@user/econo)
2021-12-19 19:23:17 +0100 <monochrom> Iterative deepening code can look pretty close to dfs.
2021-12-19 19:23:23 +0100 <monochrom> Look it up.
2021-12-19 19:24:23 +0100 <zero> reading. thanks
2021-12-19 19:24:33 +0100 <pfurla-matrix> hpc: can't find much about yahb
2021-12-19 19:31:28 +0100 <gensyst> Are these rules for GHCi accurate? (1) If it's listed as "interpreted" in ":show modules", it's interpreted. (2) If it's listed as ".o" in ":show modules", it's compiled. (3) If it isn't listed at all in ":show modules", it's compiled.
2021-12-19 19:31:58 +0100 <monochrom> Yes.
2021-12-19 19:32:20 +0100 <monochrom> (3) can be strengthened to: from a library.
2021-12-19 19:32:28 +0100 <gensyst> monochrom, Is there a way to figure out the optimization level from that level, or do I basically have to look at the .cabal file of each compiled package?
2021-12-19 19:32:46 +0100 <monochrom> That information is lost.
2021-12-19 19:32:55 +0100 <gensyst> thanks!
2021-12-19 19:33:06 +0100jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-12-19 19:33:22 +0100 <enyc> DATE
2021-12-19 19:33:24 +0100 <enyc> oops
2021-12-19 19:33:39 +0100 <gensyst> <monochrom> (3) can be strengthened to: from a library. Do you mean, "compiled from a library"?
2021-12-19 19:33:49 +0100 <monochrom> yes
2021-12-19 19:33:53 +0100 <gensyst> thanks!
2021-12-19 19:34:08 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3)
2021-12-19 19:34:08 +0100earendel(uid498179@user/earendel) (Quit: Connection closed for inactivity)
2021-12-19 19:36:13 +0100wolfshappen(~waff@irc.furworks.de) (Ping timeout: 240 seconds)
2021-12-19 19:36:22 +0100Noinia(~Frank@77-162-168-71.fixed.kpn.net)
2021-12-19 19:37:32 +0100Jing_(~hedgehog@2604:a840:3::103b)
2021-12-19 19:37:34 +0100sleblanc(~sleblanc@user/sleblanc) (Quit: Leaving)
2021-12-19 19:38:33 +0100jakalx(~jakalx@base.jakalx.net)
2021-12-19 19:38:57 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3) (Ping timeout: 240 seconds)
2021-12-19 19:39:57 +0100Jing(~hedgehog@2604:a840:3::103e) (Ping timeout: 240 seconds)
2021-12-19 19:39:59 +0100wolfshappen(~waff@irc.furworks.de)
2021-12-19 19:40:36 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 276 seconds)
2021-12-19 19:42:52 +0100pfurla(~pfurla@2804:d41:4331:4800:11e0:2623:c59:6cb7) (Quit: gone to sleep. ZZZzzz…)
2021-12-19 19:43:39 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2021-12-19 19:44:09 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 19:44:10 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 19:44:17 +0100sleblanc(~sleblanc@user/sleblanc)
2021-12-19 19:44:39 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 19:44:39 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 19:44:45 +0100 <Noinia> is anyone successfully using HLS in a multi-cabal-project setup? I'm getting some strange error stating that it cannot parse the output form cabal (since cabal suposedly crashed; see https://controlc.com/778b78ab). Everything just builds fine when I run 'cabal build' on commandline.
2021-12-19 19:46:04 +0100jijimofo(~cmo@S010610561191f5d6.lb.shawcable.net)
2021-12-19 19:46:30 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 19:46:30 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 19:46:40 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-19 19:47:05 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 19:47:07 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 19:47:25 +0100falafel(~falafel@2603-8000-d800-688c-90d6-5589-2ed3-af73.res6.spectrum.com)
2021-12-19 19:48:00 +0100 <gensyst> Noinia, shouldn't one be putting a .hie file or something to tell it where all the projects are?
2021-12-19 19:48:05 +0100 <gensyst> otherwise it can get confused
2021-12-19 19:48:10 +0100 <gensyst> however this info may be obsolete by now
2021-12-19 19:48:16 +0100 <gensyst> sorry, i meant hie.yaml
2021-12-19 19:48:51 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 19:48:52 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 19:49:53 +0100 <Noinia> I thought that was suposed to be obsolete by now indeed. I guess I can try actually generating one manually again.
2021-12-19 19:50:34 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 19:50:35 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 19:50:44 +0100ksqsf(~user@134.209.106.31) (Ping timeout: 256 seconds)
2021-12-19 19:51:17 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 240 seconds)
2021-12-19 19:51:51 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 19:51:52 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 19:51:58 +0100 <jijimofo> hi. i'm confused by stack's behavior. when i don't specify 'src' in my executables 'source-dirs:' i get an error about how it can't find BasicSDLLib.hs. when i do put 'src' in the 'source-dirs' it says 'specified source-dir "app src" doesn't exist'. can someone help me understand what i'm doing wrong?
2021-12-19 19:52:15 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 19:52:16 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 19:52:48 +0100 <tomsmeding> perhaps 'app, src'?
2021-12-19 19:53:31 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-12-19 19:54:10 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 19:54:11 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 19:54:47 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-12-19 19:55:03 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 19:55:03 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 19:55:17 +0100 <jijimofo> tomsmeding: i get 'specified source-dir "app, src" does not exist'
2021-12-19 19:55:53 +0100 <tomsmeding> is this in stack.yaml or a .cabal file?
2021-12-19 19:56:27 +0100 <jijimofo> in stack.yaml. i usually use cabal but i decided to give stack a try
2021-12-19 19:56:42 +0100 <geekosaur> keep in mind that stack still uses cabal files
2021-12-19 19:57:05 +0100 <geekosaur> the cabal equivalent of stack.yaml is cabal.project, not <projectname>.cabal
2021-12-19 19:57:41 +0100 <jijimofo> weirdly when i specify the source-dir field wrong the code gets compiled
2021-12-19 19:57:43 +0100 <tomsmeding> can't find anything about "source-dirs" in the stack documentation; where did you get that key from?
2021-12-19 19:58:10 +0100 <jijimofo> i used 'stack new' i think
2021-12-19 19:59:06 +0100tomsmedingused 'stack new' and 'source-dir' doesn't occur in the generated stack.yaml file
2021-12-19 19:59:19 +0100 <tomsmeding> OH package.yaml
2021-12-19 19:59:29 +0100 <tomsmeding> there's a huge difference between package.yaml and stack.yaml jijimofo
2021-12-19 19:59:32 +0100python476(~user@88.160.31.174) (Read error: Connection reset by peer)
2021-12-19 19:59:34 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 19:59:34 +0100 <geekosaur> mm, right, still does that
2021-12-19 19:59:34 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 19:59:57 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 19:59:59 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 20:01:23 +0100 <tomsmeding> it's a yaml file, so perhaps 'source-dirs: [app, src]'
2021-12-19 20:01:26 +0100 <tomsmeding> jijimofo: ^
2021-12-19 20:01:36 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:7cf1:85e9:3000:4f4d) (Remote host closed the connection)
2021-12-19 20:01:38 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 20:01:39 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 20:01:43 +0100 <tomsmeding> or, source-dirs:\n- app\n- src
2021-12-19 20:01:54 +0100python476(~user@88.160.31.174)
2021-12-19 20:02:18 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 20:02:19 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 20:02:40 +0100 <jijimofo> ok i will try a new blank project and copy my sources over. i tried the 'stack new' command again and i don't remember seeing the stuff about templates so i mustve used 'stack init' or something
2021-12-19 20:03:30 +0100 <jijimofo> tomsmeding: that's the syntax, thank you. i guess i need to go slower when reading docs
2021-12-19 20:03:37 +0100 <tomsmeding> docs don't mention this
2021-12-19 20:03:48 +0100 <tomsmeding> they assume you somehow know yaml syntax by heart
2021-12-19 20:03:51 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 20:03:52 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 20:03:59 +0100 <tomsmeding> yaml has a native concept of lists, and they reuse that here
2021-12-19 20:04:15 +0100 <tomsmeding> s/native/built-in/
2021-12-19 20:05:15 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 20:05:16 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 20:05:26 +0100max22-(~maxime@2a01cb0883359800a97032845f824a07.ipv6.abo.wanadoo.fr) (Ping timeout: 252 seconds)
2021-12-19 20:05:28 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2021-12-19 20:05:36 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 20:05:37 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 20:06:36 +0100deadmarshal(~deadmarsh@95.38.116.51) (Ping timeout: 256 seconds)
2021-12-19 20:07:33 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807)
2021-12-19 20:08:31 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3)
2021-12-19 20:09:46 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 20:09:47 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 20:12:16 +0100wroathe(~wroathe@user/wroathe)
2021-12-19 20:12:40 +0100coot(~coot@2a02:a310:e03f:8500:7248:52ac:817b:7fb4)
2021-12-19 20:13:01 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3) (Ping timeout: 240 seconds)
2021-12-19 20:14:40 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 20:14:41 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 20:14:45 +0100Guest3076(~Guest30@66.115.252.46)
2021-12-19 20:14:46 +0100gensyst(gensyst@user/gensyst) (Quit: Leaving)
2021-12-19 20:16:42 +0100ksqsf(~user@134.209.106.31)
2021-12-19 20:17:16 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 268 seconds)
2021-12-19 20:18:13 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 20:18:13 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 20:18:33 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 20:18:33 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 20:20:27 +0100Akiva(~Akiva@user/Akiva)
2021-12-19 20:20:46 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-12-19 20:21:37 +0100dsp(~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) (Ping timeout: 240 seconds)
2021-12-19 20:25:14 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 20:25:15 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 20:25:34 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 20:25:35 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 20:26:27 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807) (Remote host closed the connection)
2021-12-19 20:27:11 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:7cf1:85e9:3000:4f4d)
2021-12-19 20:27:54 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
2021-12-19 20:28:52 +0100zincy(~zincy@host86-151-99-97.range86-151.btcentralplus.com)
2021-12-19 20:30:15 +0100ksqsf(~user@134.209.106.31) (Remote host closed the connection)
2021-12-19 20:31:29 +0100zincy(~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection)
2021-12-19 20:32:23 +0100justSleigh(~justache@user/justache) (Remote host closed the connection)
2021-12-19 20:36:26 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 20:36:27 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 20:37:29 +0100Guest9348(~mike@2406:d500:6:1:216:3cff:fe36:651) (Ping timeout: 250 seconds)
2021-12-19 20:40:24 +0100max22-(~maxime@2a01cb08833598001a2c7d9873db9006.ipv6.abo.wanadoo.fr)
2021-12-19 20:42:27 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3)
2021-12-19 20:44:33 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807)
2021-12-19 20:46:38 +0100justSleigh(~justache@user/justache)
2021-12-19 20:46:55 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807) (Remote host closed the connection)
2021-12-19 20:49:26 +0100jackson99(~bc8147f2@cerf.good1.com)
2021-12-19 20:50:47 +0100xkuru(~xkuru@user/xkuru)
2021-12-19 20:51:07 +0100Guest9348(~mike@user/feetwind)
2021-12-19 20:51:09 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:7cf1:85e9:3000:4f4d) (Remote host closed the connection)
2021-12-19 20:51:12 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-12-19 20:51:17 +0100falafel(~falafel@2603-8000-d800-688c-90d6-5589-2ed3-af73.res6.spectrum.com) (Ping timeout: 240 seconds)
2021-12-19 20:51:59 +0100zincy(~zincy@host86-151-99-97.range86-151.btcentralplus.com)
2021-12-19 20:52:35 +0100img(~img@user/img)
2021-12-19 20:55:36 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 20:55:37 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 20:56:07 +0100Akiva(~Akiva@user/Akiva) (Ping timeout: 268 seconds)
2021-12-19 20:56:49 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:7cf1:85e9:3000:4f4d)
2021-12-19 20:57:32 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 240 seconds)
2021-12-19 20:58:14 +0100lavaman(~lavaman@98.38.249.169)
2021-12-19 20:58:15 +0100zincy(~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection)
2021-12-19 21:00:03 +0100DNH(~DNH@2a02:8108:1100:16d8:d8a9:a97b:f226:606f) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-12-19 21:01:40 +0100jkaye(~jkaye@2601:281:8300:7530:76ff:6d0a:27ec:c880)
2021-12-19 21:03:18 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:7cf1:85e9:3000:4f4d) (Remote host closed the connection)
2021-12-19 21:03:23 +0100coot(~coot@2a02:a310:e03f:8500:7248:52ac:817b:7fb4) (Quit: coot)
2021-12-19 21:04:57 +0100juhp(~juhp@128.106.188.82) (Ping timeout: 240 seconds)
2021-12-19 21:07:42 +0100juhp(~juhp@128.106.188.82)
2021-12-19 21:08:20 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 21:08:21 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 21:09:07 +0100Sgeo(~Sgeo@user/sgeo)
2021-12-19 21:13:17 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2021-12-19 21:13:39 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2021-12-19 21:17:15 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-12-19 21:29:15 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-19 21:31:09 +0100_xor(~xor@dsl-50-5-233-169.fuse.net) (Read error: Connection reset by peer)
2021-12-19 21:35:00 +0100slack1256(~slack1256@191.126.99.78) (Ping timeout: 256 seconds)
2021-12-19 21:36:45 +0100_xor(~xor@dsl-50-5-233-169.fuse.net)
2021-12-19 21:38:03 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-12-19 21:39:28 +0100_xor(~xor@dsl-50-5-233-169.fuse.net) (Read error: Connection reset by peer)
2021-12-19 21:40:11 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807)
2021-12-19 21:40:35 +0100Pickchea(~private@user/pickchea)
2021-12-19 21:43:33 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-12-19 21:44:33 +0100mc47(~mc47@xmonad/TheMC47) (Quit: Leaving)
2021-12-19 21:44:56 +0100_xor(~xor@dsl-50-5-233-169.fuse.net)
2021-12-19 21:47:47 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-12-19 21:48:03 +0100lavaman(~lavaman@98.38.249.169)
2021-12-19 21:49:27 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807) (Remote host closed the connection)
2021-12-19 21:49:49 +0100 <jijimofo> argh, stack is so confusing. added my dependencies to package.yaml but says stack configuration has no version. suggested i add the dependencies to extra-deps. i did. now it's saying it can't find modules. i
2021-12-19 21:50:04 +0100 <jijimofo> 'm so perplexed. i don't understand what it wants from me
2021-12-19 21:51:29 +0100Pickchea(~private@user/pickchea) (Quit: Leaving)
2021-12-19 21:51:44 +0100 <geekosaur> did you specify a resolver in stack.yaml?
2021-12-19 21:52:31 +0100Guest70(~Guest70@75.76.54.207)
2021-12-19 21:52:35 +0100 <geekosaur> I'm no stack expert but I know stack is all about the resolver and you'll get pretty much nowhere without one
2021-12-19 21:53:58 +0100 <jijimofo> there's one specified for a site called githubusercontent. i'll try a different one, see if its helps. also going to research what the stack configuration is
2021-12-19 21:54:18 +0100Guest70(~Guest70@75.76.54.207) (Client Quit)
2021-12-19 21:54:23 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-12-19 21:54:56 +0100pfurla(~pfurla@2804:d41:4331:4800:11e0:2623:c59:6cb7)
2021-12-19 21:54:58 +0100_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-12-19 21:55:07 +0100jonathanx(~jonathan@c-5eea3547-74736162.cust.telenor.se)
2021-12-19 21:55:35 +0100 <tomsmeding> jijimofo: stack.yaml should have something like "resolver: lts-18.18"
2021-12-19 21:56:34 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 21:56:35 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 21:58:10 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 21:58:11 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 21:59:12 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: closed)
2021-12-19 21:59:19 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 21:59:59 +0100acidjnk(~acidjnk@pd9e0bdc0.dip0.t-ipconnect.de)
2021-12-19 22:00:00 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 22:00:00 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 22:00:14 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-12-19 22:00:28 +0100lavaman(~lavaman@98.38.249.169)
2021-12-19 22:00:35 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-12-19 22:00:52 +0100lavaman(~lavaman@98.38.249.169)
2021-12-19 22:00:59 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-12-19 22:01:14 +0100lavaman(~lavaman@98.38.249.169)
2021-12-19 22:01:21 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-12-19 22:01:36 +0100lavaman(~lavaman@98.38.249.169)
2021-12-19 22:01:44 +0100 <jkaye> Did you generate your stack configuration using one of their tools or are you trying to write it by hand for some reason? Did you also read about what stack is and how it works?
2021-12-19 22:01:44 +0100lavaman(~lavaman@98.38.249.169) (Read error: Connection reset by peer)
2021-12-19 22:01:58 +0100lavaman(~lavaman@98.38.249.169)
2021-12-19 22:02:06 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-12-19 22:02:21 +0100lavaman(~lavaman@98.38.249.169)
2021-12-19 22:02:29 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-12-19 22:02:43 +0100lavaman(~lavaman@98.38.249.169)
2021-12-19 22:02:51 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-12-19 22:02:59 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 22:03:00 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 22:03:42 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:7cf1:85e9:3000:4f4d)
2021-12-19 22:03:54 +0100jonathanx(~jonathan@c-5eea3547-74736162.cust.telenor.se) (Ping timeout: 256 seconds)
2021-12-19 22:03:57 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2021-12-19 22:04:11 +0100falafel(~falafel@2603-8000-d800-688c-f998-9914-c722-4c43.res6.spectrum.com)
2021-12-19 22:07:10 +0100jijimofo(~cmo@S010610561191f5d6.lb.shawcable.net) (Remote host closed the connection)
2021-12-19 22:07:47 +0100joe_colben(~joe____co@185.190.112.211)
2021-12-19 22:07:57 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:7cf1:85e9:3000:4f4d) (Ping timeout: 240 seconds)
2021-12-19 22:08:17 +0100falafel(~falafel@2603-8000-d800-688c-f998-9914-c722-4c43.res6.spectrum.com) (Ping timeout: 240 seconds)
2021-12-19 22:09:07 +0100joe_colben(~joe____co@185.190.112.211) ()
2021-12-19 22:10:32 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807)
2021-12-19 22:11:49 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807) (Remote host closed the connection)
2021-12-19 22:12:57 +0100notzmv(~zmv@user/notzmv)
2021-12-19 22:13:43 +0100dsp(~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net)
2021-12-19 22:14:01 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-12-19 22:17:22 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-19 22:19:06 +0100zincy(~zincy@host86-151-99-97.range86-151.btcentralplus.com)
2021-12-19 22:20:47 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-19 22:20:47 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-19 22:20:47 +0100wroathe(~wroathe@user/wroathe)
2021-12-19 22:21:13 +0100kjak(~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Quit: leaving)
2021-12-19 22:21:32 +0100kjak(~kjak@pool-108-45-56-21.washdc.fios.verizon.net)
2021-12-19 22:25:26 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2021-12-19 22:28:33 +0100zincy(~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection)
2021-12-19 22:31:34 +0100justsomeguy(~justsomeg@user/justsomeguy)
2021-12-19 22:33:15 +0100cjb(~cjb@user/cjb)
2021-12-19 22:34:45 +0100justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.3)
2021-12-19 22:35:31 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-12-19 22:35:37 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2021-12-19 22:35:37 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2021-12-19 22:35:37 +0100finn_elijaFinnElija
2021-12-19 22:41:21 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 22:41:23 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 22:49:54 +0100Erutuon(~Erutuon@user/erutuon)
2021-12-19 22:51:17 +0100polezaivsani(~polezaivs@orangeshoelaces.net) (Ping timeout: 240 seconds)
2021-12-19 22:51:18 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 22:51:23 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 22:51:50 +0100deadmarshal(~deadmarsh@95.38.116.51)
2021-12-19 22:52:04 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-12-19 22:53:50 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-12-19 22:55:50 +0100superstar64(~superstar@2600:1700:ed80:50a0:d250:99ff:fe2c:53c4)
2021-12-19 22:55:57 +0100deadmarshal(~deadmarsh@95.38.116.51) (Ping timeout: 240 seconds)
2021-12-19 22:56:05 +0100JimL(~quassel@89-162-2-132.fiber.signal.no) (Quit: No Ping reply in 180 seconds.)
2021-12-19 22:57:27 +0100JimL(~quassel@89-162-2-132.fiber.signal.no)
2021-12-19 23:01:57 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-12-19 23:03:52 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-12-19 23:11:11 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3) (Ping timeout: 245 seconds)
2021-12-19 23:12:15 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2021-12-19 23:12:33 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2021-12-19 23:15:25 +0100python476(~user@88.160.31.174) (Ping timeout: 240 seconds)
2021-12-19 23:16:53 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2021-12-19 23:16:57 +0100jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 240 seconds)
2021-12-19 23:19:12 +0100jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com)
2021-12-19 23:22:40 +0100Inst(~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 256 seconds)
2021-12-19 23:22:47 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-12-19 23:23:37 +0100 <zero> i'm trying to write a simple bfs but i'm getting duplicate levels. can anyne understand why? https://paste.jrvieira.com/1639952533869
2021-12-19 23:26:15 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: Leaving)
2021-12-19 23:26:34 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 23:26:35 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 23:26:42 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 23:26:43 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 23:28:17 +0100 <EvanR> what is Tree, what is Queue
2021-12-19 23:28:57 +0100 <zero> tree is `data Tree a = Leaf a | Node a (Tree a) (Tree a)`
2021-12-19 23:29:45 +0100 <zero> Queue is https://paste.jrvieira.com/1639952979883
2021-12-19 23:30:37 +0100darchitect(~darchitec@2a00:23c6:3584:df00:7dec:bf13:8fa:748c) (Ping timeout: 240 seconds)
2021-12-19 23:31:15 +0100 <EvanR> .oO(dequeue :: Queue a -> Maybe (a,Queue a))
2021-12-19 23:31:54 +0100max22-(~maxime@2a01cb08833598001a2c7d9873db9006.ipv6.abo.wanadoo.fr) (Quit: Leaving)
2021-12-19 23:32:24 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 23:32:24 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 23:33:18 +0100earendel(uid498179@user/earendel)
2021-12-19 23:33:51 +0100 <zero> EvanR: yeah that makes sense!
2021-12-19 23:34:25 +0100taterbase(~user@2603-7081-6902-9100-0000-0000-0000-0006.res6.spectrum.com)
2021-12-19 23:34:53 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2021-12-19 23:35:17 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 23:35:18 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 23:36:17 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 23:36:17 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 23:39:58 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 23:39:59 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 23:40:23 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 23:40:23 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 23:42:19 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3)
2021-12-19 23:42:57 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 23:42:58 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 23:43:18 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 23:43:18 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 23:44:09 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 23:44:09 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 23:44:47 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-12-19 23:44:49 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
2021-12-19 23:44:55 +0100gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-12-19 23:45:07 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 23:45:07 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 23:47:30 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 23:47:30 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 23:47:31 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807)
2021-12-19 23:47:33 +0100sprout(~quassel@2a02:a467:ccd6:1:1116:7911:5ad7:44c3) (Ping timeout: 268 seconds)
2021-12-19 23:48:00 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 23:48:02 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 23:49:21 +0100Guest|37(~Guest|37@pool-108-16-143-231.phlapa.fios.verizon.net)
2021-12-19 23:49:56 +0100kranius_(~kranius@222.186.245.213.rev.sfr.net)
2021-12-19 23:50:09 +0100Guest|37(~Guest|37@pool-108-16-143-231.phlapa.fios.verizon.net) (Client Quit)
2021-12-19 23:50:39 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807) (Remote host closed the connection)
2021-12-19 23:51:17 +0100zer0bitz(~zer0bitz@dsl-hkibng32-54f844-160.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-12-19 23:53:30 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 23:53:30 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 23:53:50 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 23:53:51 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 23:54:45 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2021-12-19 23:54:52 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 23:54:52 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 23:55:00 +0100jumper149(~jumper149@static.6.71.203.116.clients.your-server.de) (Quit: WeeChat 3.3)
2021-12-19 23:55:22 +0100cosimone(~user@93-44-185-127.ip98.fastwebnet.it) (Quit: ERC (IRC client for Emacs 27.1))
2021-12-19 23:55:44 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-19 23:55:44 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2021-12-19 23:56:38 +0100Guest3076(~Guest30@66.115.252.46) (Quit: Client closed)
2021-12-19 23:57:28 +0100 <zero> maybe this is more readable https://paste.jrvieira.com/1639954642001
2021-12-19 23:57:58 +0100Inst(~delicacie@c-98-208-218-119.hsd1.fl.comcast.net)
2021-12-19 23:59:03 +0100 <Inst> sigh, this is nuts
2021-12-19 23:59:13 +0100 <Inst> what's wrong with understanding >>= as join.fmap?