Home liberachat/#haskell: Logs Calendar

Logs on 2021-06-19 (liberachat/#haskell)

00:00:36 × oxide quits (~lambda@user/oxide) (Ping timeout: 268 seconds)
00:02:10 oxide joins (~lambda@user/oxide)
00:03:11 <qrpnxz> applicative ((->) r) is SKI calculus wtf?!?! amazin!
00:03:18 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 264 seconds)
00:03:40 jess joins (~jess@libera/staff/jess)
00:04:07 <boxscape> yes it's neat :) though you need newtypes to satisfy haskell's type system and avoid infinite types
00:04:20 <boxscape> if you actually want to use it that way
00:06:33 × qwin quits (~yaaic@ip-96-43-230-90.dsl.netrevolution.com) (Ping timeout: 244 seconds)
00:09:42 nate1 joins (~nate@156.39.10.47)
00:16:41 × hegstal quits (~hegstal@2a02:c7f:7604:8a00:f9a1:6a30:5a54:d88f) (Ping timeout: 252 seconds)
00:19:30 × beka quits (~beka@104.193.170-244.PUBLIC.monkeybrains.net) (Ping timeout: 240 seconds)
00:21:34 × nate1 quits (~nate@156.39.10.47) (Ping timeout: 268 seconds)
00:21:46 × fizbin quits (~fizbin@c-68-83-100-68.hsd1.nj.comcast.net) (Remote host closed the connection)
00:24:06 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
00:28:02 × elf_fortrez quits (~elf_fortr@adsl-64-237-239-58.prtc.net) (Ping timeout: 250 seconds)
00:35:05 elf_fortrez joins (~elf_fortr@adsl-64-237-239-58.prtc.net)
00:36:44 ddellacosta joins (~ddellacos@86.106.121.100)
00:37:04 × Ariakenom__ quits (~Ariakenom@2001:9b1:efb:fc00:35e3:9001:de86:167f) (Read error: Connection reset by peer)
00:41:10 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 244 seconds)
00:45:18 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Quit: The Lounge - https://thelounge.chat)
00:49:20 × mousey quits (~skymouse@gateway/tor-sasl/mousey) (Quit: leaving)
00:50:13 × hgolden quits (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Quit: Konversation terminated!)
00:50:31 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds)
00:51:39 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
00:52:59 × zangi quits (~zangi@103.154.230.130) (Ping timeout: 252 seconds)
00:54:57 hgolden joins (~hgolden2@cpe-172-114-84-61.socal.res.rr.com)
00:56:53 Melvar joins (~melvar@dslb-088-066-199-085.088.066.pools.vodafone-ip.de)
00:58:03 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
01:00:22 × ukari quits (~ukari@user/ukari) (Remote host closed the connection)
01:02:53 machinedgod joins (~machinedg@24.105.81.50)
01:07:21 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
01:08:38 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
01:09:32 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
01:13:30 Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
01:13:36 ddellacosta joins (~ddellacos@86.106.121.100)
01:18:15 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 272 seconds)
01:22:37 × boxscape quits (~boxscape@user/boxscape) (Ping timeout: 268 seconds)
01:31:01 <sclv> slightly lazy question -- how do I check if a port is open to be _potentially_ bound to without actually binding to it?
01:31:36 <sclv> I'm setting up some stuff wrapping ssh tunneling and want the nicest way to probe if I can pick a port to tunnel thru for subsequent commands...
01:31:51 <geekosaur> I think the best you can do is parse netstat or lsof output
01:32:07 <sclv> uggghhhhh
01:32:08 <geekosaur> there's no way to ask if a port is available because that's a race condition waiting to happen
01:32:17 <sclv> yeah its a race condition and i want to do it anyway lol
01:32:43 <sclv> i guess i can just try to do the binding and then parse the failure message if there is one to decide if i want to retry or not :-/
01:33:14 <sclv> like as long as we're just parsing stuff that cli utilities spit out at you
01:34:23 <sclv> also could bind to it, then release again i guess...
01:34:56 <geekosaur> the usual trick is to pick a port for a service you aren't running locally
01:35:21 × willbush quits (~user@47.183.200.14) (Quit: ERC (IRC client for Emacs 28.0.50))
01:38:02 × xff0x quits (~xff0x@port-92-193-217-187.dynamic.as20676.net) (Ping timeout: 268 seconds)
01:38:24 <dsal> sclv: can you just tell it to bind to 0 and ask what it got?
01:38:52 <geekosaur> no, this is about ssh tunneling, you have to specify
01:38:53 <sclv> oh, nice, not a bad idea!
01:39:02 <sclv> that works though, lol
01:39:13 <geekosaur> if it were C you'd bind to 0 and ask it
01:39:13 <sclv> I can bind to 0, see what it gets, then release and just use it
01:39:24 xff0x joins (~xff0x@2001:1a81:5339:fe00:d07c:a9be:d34f:e68)
01:39:26 <sclv> i mean its a race condition, but one i can live with
01:39:33 × derelict quits (~derelict@user/derelict) (Ping timeout: 244 seconds)
01:40:13 <sclv> (btw the lack of a psshx lib for haskell is a bit of a PITA, but merijn 's posix-pty makes this whole thing livable at least)
01:40:25 × Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
01:40:26 <geekosaur> hope ssh uses SO_REUSEPORT
01:41:14 <sclv> geekosaur: can't i just release the port I get from binding to 0?
01:41:27 <sclv> and then try to use it, knowing it was guaranteed free at least recently?
01:41:29 <geekosaur> no, because of TIME_WAIT to wait for any delayed packets
01:41:37 <sclv> oh right, damb
01:41:42 <sclv> networks suck
01:41:44 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
01:41:53 <Melvar> Does anyone know if and where I could submit an issue regarding the GHC manual?
01:42:00 <sclv> and uh, i should remember this, since i work on network parsing software lol
01:42:15 <geekosaur> Melvar, there's a documentation topic in ghc's gitlab
01:44:10 <geekosaur> more precisely a documentation label in their issue tracker
01:44:22 <geekosaur> https://gitlab.haskell.org/ghc/ghc/-/issues
01:44:28 <Melvar> Thank you.
01:46:41 <Boarders> when GHC makes a suggestion for a name in scope close to the one you have provided in its error reporting e.g. if you write like lenght instead of length then does anyone know what algorithm GHC uses for that?
01:46:55 <qrpnxz> how come 4.14 traversable (https://hackage.haskell.org/package/base-4.14.1.0/docs/Data-Traversable.html) has a bunch of laws, but 4.15 traversable (https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Traversable.html) doesn't?
01:46:58 ddellacosta joins (~ddellacos@86.106.121.100)
01:47:18 × NieDzejkob quits (~quassel@195.149.98.3) (Ping timeout: 244 seconds)
01:51:06 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 240 seconds)
01:51:49 <geekosaur> qrpnxz, it instead contains a reference to https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Traversable.html#overview which has a "Laws" section
01:52:43 <geekosaur> which, since it has the same base url, is just a rearrangement of the page
01:55:05 NieDzejkob joins (~quassel@195.149.98.3)
01:57:52 <sclv> Boarders: https://github.com/ghc/ghc/blob/25977ab542a30df4ae71d9699d015bcdd1ab7cfb/compiler/GHC/Utils/Misc.hs#L989
01:57:54 dajoer joins (~david@softbank126019120204.bbtec.net)
02:02:43 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
02:03:12 MQ-17J joins (~MQ-17J@8.6.144.186)
02:03:52 <Boarders> thanks!
02:06:27 ddellacosta joins (~ddellacos@86.106.121.100)
02:09:27 teaSlurper joins (~chris@81.96.113.213)
02:16:14 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c962:f999:5484:e62b) (Ping timeout: 244 seconds)
02:17:34 <qrpnxz> lol i scroll over that page and i miss laws right there thanks
02:17:56 awth13 joins (~user@user/awth13)
02:17:59 <qrpnxz> btw, how come it has to be a foldable
02:18:52 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158)
02:22:23 fizbin joins (~fizbin@c-68-83-100-68.hsd1.nj.comcast.net)
02:26:26 <qrpnxz> ah you can show all traversable are foldable ok
02:26:36 vicfred joins (~vicfred@user/vicfred)
02:27:02 × fizbin quits (~fizbin@c-68-83-100-68.hsd1.nj.comcast.net) (Ping timeout: 252 seconds)
02:30:40 derelict joins (~derelict@user/derelict)
02:31:05 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 268 seconds)
02:32:06 × xff0x quits (~xff0x@2001:1a81:5339:fe00:d07c:a9be:d34f:e68) (Ping timeout: 264 seconds)
02:32:35 xff0x joins (~xff0x@2001:1a81:5339:fe00:8365:3158:f169:6936)
02:32:55 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
02:40:32 × elf_fortrez quits (~elf_fortr@adsl-64-237-239-58.prtc.net) (Quit: Client closed)
02:48:24 llh joins (~coke@user/llh)
02:49:12 lbseale joins (~lbseale@user/ep1ctetus)
02:56:43 ukari joins (~ukari@user/ukari)
02:58:40 CookE[] joins (~thedawn@user/thedawn)
02:59:50 ding joins (~ding@2001:19f0:5:14c2:5400:2ff:fee0:a42c)
03:00:03 × td_ quits (~td@muedsl-82-207-238-207.citykom.de) (Ping timeout: 268 seconds)
03:00:30 elf_fortrez joins (~elf_fortr@adsl-64-237-239-58.prtc.net)
03:01:37 td_ joins (~td@muedsl-82-207-238-182.citykom.de)
03:01:58 × fef quits (~thedawn@user/thedawn) (Ping timeout: 252 seconds)
03:02:43 pfurla_ joins (~pfurla@216.131.82.52)
03:02:44 × cheater quits (~Username@user/cheater) (Ping timeout: 244 seconds)
03:03:06 cheater joins (~Username@user/cheater)
03:05:36 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 268 seconds)
03:06:50 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 268 seconds)
03:09:06 × renzhi quits (~xp@2607:fa49:6501:9500:5589:4dab:9f77:1a6b) (Ping timeout: 240 seconds)
03:09:27 × MQ-17J quits (~MQ-17J@8.6.144.186) (Ping timeout: 244 seconds)
03:09:37 × elf_fortrez quits (~elf_fortr@adsl-64-237-239-58.prtc.net) (Quit: Client closed)
03:10:57 <cdsmith> Did GHC 9 change anything regarding overlapping instances? I have some code with two overlapping instances (one annotated with OVERLAPPABLE), and GHC 9 chooses the overlappable one, while all earlier GHC choose the other intended instance.
03:11:02 × derelict quits (~derelict@user/derelict) (Ping timeout: 252 seconds)
03:16:48 × sheepduck quits (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) (Remote host closed the connection)
03:19:06 sheepduck joins (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com)
03:22:01 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
03:29:02 × oxide quits (~lambda@user/oxide) (Ping timeout: 268 seconds)
03:35:05 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
03:35:17 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 244 seconds)
03:36:18 Lord_of_Life_ is now known as Lord_of_Life
03:38:00 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
03:40:08 <curiousgay> fix :: (a -> a) -> a
03:40:08 <curiousgay> fix f = let x = f x in x
03:40:24 <curiousgay> this is an ouch to my brain
03:40:50 <curiousgay> fix (\rec x -> if x == 0 then 1 else x * rec (pred x)) 10 == product [1..10]
03:41:02 × ddellacosta quits (~ddellacos@86.106.121.100) (Remote host closed the connection)
03:43:25 <curiousgay> I have no idea why that invocation works, it looks illegal
03:51:54 <c_wraith> a can unify with a function
03:55:19 × CookE[] quits (~thedawn@user/thedawn) (Ping timeout: 252 seconds)
03:55:48 ddellacosta joins (~ddellacos@86.106.121.100)
03:59:57 wei2912 joins (~wei2912@112.199.250.21)
04:00:01 × jolly quits (~jolly@208.180.97.158) (Quit: Connection closed)
04:01:38 × shapr quits (~user@pool-108-28-144-11.washdc.fios.verizon.net) (Ping timeout: 244 seconds)
04:02:46 × chexum quits (~chexum@gateway/tor-sasl/chexum) (Remote host closed the connection)
04:03:00 chexum joins (~chexum@gateway/tor-sasl/chexum)
04:05:51 cheater1__ joins (~Username@user/cheater)
04:06:02 × cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds)
04:06:03 cheater1__ is now known as cheater
04:08:07 <c_wraith> curiousgay: for instance, in that case, fix :: ((Integer -> Integer) -> (Integer -> Intger)) -> (Integer -> Integer)
04:08:49 <c_wraith> curiousgay: but some of those parens are redundant, and it's equivalent to fix :: ((Integer -> Integer) -> Integer -> Integer) -> Integer -> Integer
04:09:34 <c_wraith> curiousgay: so the lambda has two arguments, the first of type (Integer -> Integer), the second of type Integer, and returns an Integer
04:09:54 <c_wraith> curiousgay: and applying fix to that lambda gives you back a function of type Integer -> Integer
04:11:15 × zaquest quits (~notzaques@5.128.210.178) (Remote host closed the connection)
04:12:13 zaquest joins (~notzaques@5.128.210.178)
04:12:19 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
04:12:54 × jao quits (jao@gateway/vpn/protonvpn/jao) (Ping timeout: 264 seconds)
04:13:08 <curiousgay> c_wraith: typing here is not enough to understand why it works
04:13:54 <curiousgay> `let x = f x in x` is confusing, it looks like a recursion
04:14:06 <c_wraith> well, that's why it's not a type error. why it *works* is totally separate
04:14:31 <curiousgay> and somehow I need to shorter that one to 4 characters
04:17:16 <c_wraith> fix is a combinator for abstracting out general recursion
04:17:43 <c_wraith> about the only thing it can't do is polymorphic recursion.
04:18:15 <c_wraith> it's generally more of theoretical interest than practical
04:18:16 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
04:18:30 lavaman joins (~lavaman@98.38.249.169)
04:18:38 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
04:19:03 <c_wraith> though there are certain rare occasions when it can make code look a bit cleaner. but as I said... *rare* occasions
04:19:17 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
04:19:31 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
04:19:53 <curiousgay> but that recursive definition looks like it never terminates, but at the same time it somehow finds the value of x while not being a logic programming language?
04:21:07 curiousgay thinks even Prolog can't terminate this one
04:21:20 <c_wraith> it's not well-founded. it's general recursion.
04:21:42 <c_wraith> it will diverge on all sorts of inputs
04:21:54 <c_wraith> > fix (+)
04:21:56 <lambdabot> error:
04:21:56 <lambdabot> • Occurs check: cannot construct the infinite type: a ~ a -> a
04:21:56 <lambdabot> Expected type: (a -> a) -> a -> a
04:22:01 <monochrom> Right, termination still depends on what f you choose.
04:22:18 <c_wraith> err, that one wasn't even close to well typed.
04:22:32 <monochrom> And "x = f x" is meant to express recursion. The whole point of fix.
04:22:43 chexum_ joins (~chexum@gateway/tor-sasl/chexum)
04:23:01 <c_wraith> > fix $ (0:) . scanl (+) 1 -- this is not a case where fix makes things better, but it's a classic.
04:23:03 <lambdabot> [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,...
04:23:07 elf_fortrez joins (~elf_fortr@adsl-64-237-239-58.prtc.net)
04:26:40 × chexum quits (~chexum@gateway/tor-sasl/chexum) (Ping timeout: 252 seconds)
04:27:47 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Read error: Connection reset by peer)
04:28:42 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
04:31:35 × ddellacosta quits (~ddellacos@86.106.121.100) (Remote host closed the connection)
04:32:06 kmetric joins (~karthik@49.206.9.195)
04:34:11 <qrpnxz> >$< associated the wrong way smh
04:35:50 <qrpnxz> lmao that really do give fibbonacci wtf
04:35:57 <qrpnxz> *fibonacci
04:38:43 lavaman joins (~lavaman@98.38.249.169)
04:40:58 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
04:41:03 ormaaj joins (~ormaaj@2001:470:69fc:105::35ca)
04:41:47 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
04:44:34 × elf_fortrez quits (~elf_fortr@adsl-64-237-239-58.prtc.net) (Ping timeout: 250 seconds)
04:46:11 × teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection)
04:46:43 teaSlurper joins (~chris@81.96.113.213)
04:51:40 wwalker parts (~wwalker@platinum.solid-constructs.com) ()
04:51:40 × teaSlurper quits (~chris@81.96.113.213) (Ping timeout: 268 seconds)
04:53:30 Feuermagier_ joins (~Feuermagi@154.28.188.168)
04:56:43 × Feuermagier quits (~Feuermagi@user/feuermagier) (Ping timeout: 268 seconds)
05:07:38 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving)
05:07:50 ddellacosta joins (~ddellacos@86.106.121.100)
05:09:13 berberman_ joins (~berberman@user/berberman)
05:09:18 × berberman quits (~berberman@user/berberman) (Ping timeout: 264 seconds)
05:12:35 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 272 seconds)
05:18:29 Guest9 joins (~Guest9@103.250.137.30)
05:19:20 AgentM joins (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net)
05:21:21 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:33:36 × bontaq quits (~user@ool-18e47f8d.dyn.optonline.net) (Ping timeout: 268 seconds)
05:33:38 fef joins (~thedawn@user/thedawn)
05:34:31 chomwitt joins (~Pitsikoko@2a02:587:dc02:b00:98b0:cd42:bd6f:8295)
05:37:14 trent joins (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
05:41:02 cercerilla joins (~rebecca@024-178-254-009.res.spectrum.com)
05:41:30 ddellacosta joins (~ddellacos@86.106.121.100)
05:43:23 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
05:45:56 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 268 seconds)
05:51:32 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
05:55:09 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
05:55:18 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
05:55:36 × arahael quits (~arahael@203-206-95-53.tpgi.com.au) (Ping timeout: 272 seconds)
05:55:40 arahael1 joins (~arahael@120.88.166.123)
05:56:42 arahael1 is now known as Arahael
05:58:23 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
05:59:35 × hololeap quits (hololeap@user/hololeap) (Quit: Bye)
06:02:58 × AgentM quits (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.)
06:04:07 hololeap joins (hololeap@user/hololeap)
06:06:18 × trent quits (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 264 seconds)
06:06:39 × Scotty_Trees quits (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Quit: Leaving)
06:08:36 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
06:15:14 ddellacosta joins (~ddellacos@86.106.121.100)
06:15:17 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
06:19:16 Bartosz joins (~textual@24.35.90.211)
06:19:32 benin0369 joins (~benin@183.82.205.58)
06:19:51 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
06:19:58 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 268 seconds)
06:24:35 <dajoer> exit
06:24:38 × dajoer quits (~david@softbank126019120204.bbtec.net) (Quit: leaving)
06:24:44 azeem joins (~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it)
06:26:38 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
06:30:25 × fef quits (~thedawn@user/thedawn) (Ping timeout: 252 seconds)
06:31:43 × zaquest quits (~notzaques@5.128.210.178) (Read error: Connection reset by peer)
06:34:06 qbt joins (~edun@user/edun)
06:35:54 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
06:36:49 × sheepduck quits (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) (Remote host closed the connection)
06:39:34 sheepduck joins (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com)
06:42:40 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
06:45:09 × sheepduck quits (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) (Remote host closed the connection)
06:45:39 qoelet joins (~kumo@139.180.144.166)
06:47:54 ddellacosta joins (~ddellacos@86.106.121.100)
06:48:12 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
06:49:05 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
06:49:12 zaquest joins (~notzaques@5.128.210.178)
06:52:18 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
06:52:32 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 268 seconds)
06:52:41 × fendor_ quits (~fendor@77.119.131.188.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
07:01:35 gehmehgeh joins (~user@user/gehmehgeh)
07:02:51 × Bartosz quits (~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:04:15 × voldial quits (~user@user/voldial) (Ping timeout: 272 seconds)
07:08:48 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
07:08:58 trent joins (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
07:10:50 delYsid joins (~user@62-178-101-151.cable.dynamic.surfer.at)
07:11:11 fef joins (~thedawn@user/thedawn)
07:12:05 CookE[] joins (~thedawn@user/thedawn)
07:14:03 <delYsid> Hmm, I like package.yaml and I find it quite ugly to check autogenerated foo.cabal. I guess I am quite alone on that one?
07:14:03 × jim` quits (~user@host-79-78-246-49.static.as9105.net) (Read error: Connection reset by peer)
07:14:21 <delYsid> s/check/check in/
07:15:27 × ukari quits (~ukari@user/ukari) (Remote host closed the connection)
07:15:59 ukari joins (~ukari@user/ukari)
07:16:04 × fef quits (~thedawn@user/thedawn) (Ping timeout: 252 seconds)
07:18:12 Bartosz joins (~textual@24.35.90.211)
07:22:31 ddellacosta joins (~ddellacos@86.106.121.100)
07:22:46 arjun joins (~user@user/arjun)
07:26:13 <sm[m]> delYsid: I also use it except in small packages
07:27:20 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds)
07:29:30 × arjun quits (~user@user/arjun) (Remote host closed the connection)
07:30:16 neceve joins (~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130)
07:30:47 × llh quits (~coke@user/llh) (Ping timeout: 268 seconds)
07:31:10 × ukari quits (~ukari@user/ukari) (Remote host closed the connection)
07:31:11 <delYsid> sm[m]: You are using package.yaml or you check in your generated .cabal?
07:32:03 ukari joins (~ukari@user/ukari)
07:32:26 × Guest9 quits (~Guest9@103.250.137.30) (Ping timeout: 244 seconds)
07:34:14 <sm[m]> delYsid: both. Usually it's recommended to check it in for non stack users
07:35:06 × trent quits (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 264 seconds)
07:36:21 × Bartosz quits (~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:38:29 hmmmas joins (~chenqisu1@183.217.200.246)
07:38:50 <delYsid> I can see why that would be useful. I still cringe on checking in generated files....
07:40:16 × CookE[] quits (~thedawn@user/thedawn) (Ping timeout: 252 seconds)
07:41:06 × chomwitt quits (~Pitsikoko@2a02:587:dc02:b00:98b0:cd42:bd6f:8295) (Ping timeout: 264 seconds)
07:43:39 delYsid parts (~user@62-178-101-151.cable.dynamic.surfer.at) (ERC (IRC client for Emacs 27.1.50))
07:46:19 nilof joins (~olofs@90-227-86-119-no542.tbcn.telia.com)
07:50:17 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
07:51:07 oxide joins (~lambda@user/oxide)
07:54:55 ddellacosta joins (~ddellacos@86.106.121.100)
07:56:18 × amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
07:56:38 Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
07:57:07 teaSlurper joins (~chris@81.96.113.213)
07:59:30 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
07:59:42 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 264 seconds)
08:00:26 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
08:01:22 Pickchea joins (~private@user/pickchea)
08:03:09 CookE[] joins (~thedawn@user/thedawn)
08:05:56 × Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
08:06:34 hendursa1 joins (~weechat@user/hendursaga)
08:09:19 kayprish joins (~kayprish@46.240.143.86)
08:09:21 lavaman joins (~lavaman@98.38.249.169)
08:09:25 × hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 252 seconds)
08:10:23 boxscape joins (~boxscape@user/boxscape)
08:10:32 chomwitt joins (~Pitsikoko@athedsl-351576.home.otenet.gr)
08:12:55 Guest9 joins (~Guest9@103.250.137.30)
08:13:12 boxscape79 joins (~boxscape@user/boxscape)
08:14:03 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
08:14:55 × CookE[] quits (~thedawn@user/thedawn) (Ping timeout: 252 seconds)
08:16:52 × boxscape quits (~boxscape@user/boxscape) (Ping timeout: 244 seconds)
08:17:42 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
08:17:42 allbery_b joins (~geekosaur@xmonad/geekosaur)
08:19:13 martin02 joins (silas@hund.fs.lmu.de)
08:21:06 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 240 seconds)
08:22:16 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
08:26:42 ddellacosta joins (~ddellacos@86.106.121.100)
08:31:08 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds)
08:31:19 × azeem quits (~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it) (Ping timeout: 268 seconds)
08:31:28 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
08:32:38 azeem joins (~azeem@176.200.221.31)
08:35:32 × hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
08:40:22 boxscape79 is now known as boxscape
08:40:34 × azeem quits (~azeem@176.200.221.31) (Read error: Connection reset by peer)
08:41:10 azeem joins (~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it)
08:46:50 MoC joins (~moc@user/moc)
08:52:34 fendor joins (~fendor@77.119.131.188.wireless.dyn.drei.com)
08:55:25 chddr joins (~Thunderbi@31.148.23.125)
08:58:19 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
09:01:49 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
09:02:30 ddellacosta joins (~ddellacos@86.106.121.100)
09:04:30 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
09:07:33 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 272 seconds)
09:09:07 elf_fortrez joins (~elf_fortr@adsl-64-237-239-58.prtc.net)
09:13:16 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
09:15:13 <maerwald[m]> @delYsid:libera.chat: well, under normal circumstances they are not generated
09:15:13 <lambdabot> Unknown command, try @list
09:15:55 Cajun joins (~Cajun@ip98-163-211-112.no.no.cox.net)
09:17:26 yoctocell joins (~yoctocell@h87-96-130-155.cust.a3fiber.se)
09:17:48 <Cajun> im trying to install the `accelerate` library and im running into some error with `cabal install` involving versioning. i have no idea how to update GHC to a new version (i have 8.8.4) if thats what it requires. ive also had `repa-devil` fail in a similar way with very similar errors. output: https://paste.tomsmeding.com/V22ZOKfz
09:20:51 × Patrick157 quits (~Patrick@pool-100-36-167-42.washdc.fios.verizon.net) (*.net *.split)
09:20:51 × troydm quits (~troydm@host-176-37-124-197.b025.la.net.ua) (*.net *.split)
09:20:51 × sudden quits (~cat@h-98-128-128-173.A351.priv.bahnhof.se) (*.net *.split)
09:20:51 × johnw_ quits (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (*.net *.split)
09:21:02 sudden joins (~cat@h-98-128-128-173.A351.priv.bahnhof.se)
09:21:13 troydm joins (~troydm@host-176-37-124-197.b025.la.net.ua)
09:21:43 <tomsmeding> maerwald[m]: interesting, they already left the channel on irc, and your mention of their name is a mxid here on irc
09:22:00 <maerwald[m]> I'd try `--allow-older=binary`
09:22:02 <Axman6> Cajun: how did you install ghc?
09:22:33 <Cajun> its been a while but i followed almost exactly what was on the haskell website. so whatever that suggests, it was that
09:22:34 <maerwald[m]> Most of the time, version bounds are incorrect anyway, so mighh be worth a shot
09:23:07 <tomsmeding> Cajun: are you sure your ghc is 8.8.4? That error looks like it thinks your installed ghc is 8.7.0
09:23:11 × kayprish quits (~kayprish@46.240.143.86) (Remote host closed the connection)
09:23:30 <Cajun> when i do `ghc -V` it says 8.8.4
09:23:38 <tomsmeding> (if it isn't then dminuoso help your wisdom regarding cabal solver output syntax is needed)
09:23:40 johnw joins (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net)
09:23:47 <tomsmeding> Cajun: ah
09:24:03 <maerwald[m]> `--allow-older=binary`
09:25:48 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
09:26:38 <Cajun> maerwald[m] that didnt seem to work https://paste.tomsmeding.com/H7CyPr8Y
09:27:18 <maerwald[m]> Then you need at least ghc 8.10.1
09:27:33 <tomsmeding> I'm confused, what package is requiring ghc 8.10 here?
09:27:49 <tomsmeding> 'binary' isn't (https://hackage.haskell.org/package/binary-0.8.8.0/binary.cabal) and 'accelerate' also isn't (https://hackage.haskell.org/package/accelerate-1.3.0.0/accelerate.cabal) I believe
09:28:03 <maerwald[m]> Binary comes with ghc
09:28:14 <maerwald[m]> https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/libraries/version-history
09:28:30 <tomsmeding> ooooh
09:29:31 <Cajun> maerwald[m] if i used ghcup to install, does that only require `ghcup install` to update my GHC version?
09:29:43 <tomsmeding> so something in the dep tree requires binary-0.8.8.0 apparently?
09:29:55 <maerwald[m]> Yes
09:30:21 <maerwald[m]> More qualified would be `ghcup install ghc 8.10.5`
09:30:59 fizbin joins (~fizbin@c-68-83-100-68.hsd1.nj.comcast.net)
09:31:37 <Cajun> after i updated ghcup `ghcup install` automatically selected 8.10.5. once thats finished ill see if that allows me to install accelerate. would i still require `--allow-older=binary`?
09:32:47 <tomsmeding> Cajun: should not be necessary
09:33:32 <maerwald[m]> You also need to run `ghcup set`
09:34:07 <Cajun> yeah i figured that out after seeing `ghc -V` still say 8.8.4. now `cabal install accelerate` appears to be working fine. many thanks!
09:34:07 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
09:34:31 MQ-17J joins (~MQ-17J@8.6.144.186)
09:35:17 <tomsmeding> Cajun: I'm going to check if accelerate can be fixed to also install with ghc 8.8.4 :)
09:35:58 × fizbin quits (~fizbin@c-68-83-100-68.hsd1.nj.comcast.net) (Ping timeout: 268 seconds)
09:39:49 ddellacosta joins (~ddellacos@86.106.121.100)
09:40:28 lavaman joins (~lavaman@98.38.249.169)
09:41:53 <tomsmeding> hm, if I install ghc 8.8.4 in a clean ubuntu container and then run 'cabal install accelerate --lib', it seems to work
09:42:00 tomsmeding cannot reproduce
09:42:51 <Cajun> i have the faintest of clues. all i know is updating GHC appears to have worked
09:43:26 <tomsmeding> Cajun: cool! :)
09:43:45 <tomsmeding> You might want to consider removing the old(er) GHC from your system now that you're using ghcup
09:43:58 <tomsmeding> should you want ghc 8.8.4 again, you can always still install it using ghcup
09:44:17 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds)
09:44:42 × Pickchea quits (~private@user/pickchea) (Ping timeout: 244 seconds)
09:44:50 × ukari quits (~ukari@user/ukari) (Remote host closed the connection)
09:44:51 <maerwald[m]> It's possible that overuse of `--lib` caused a weird ghc environment file
09:45:02 <Cajun> ill confirm all my current stuff still builds then delete the older version
09:45:05 × Cajun quits (~Cajun@ip98-163-211-112.no.no.cox.net) (*.net *.split)
09:45:05 × elf_fortrez quits (~elf_fortr@adsl-64-237-239-58.prtc.net) (*.net *.split)
09:45:05 × fluffyballoon quits (~fluffybal@2620:72:0:6480::11fd) (*.net *.split)
09:45:09 <maerwald[m]> They are somewhede in ~/.ghc
09:45:19 Cajun joins (~Cajun@ip98-163-211-112.no.no.cox.net)
09:45:19 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
09:46:00 elf_fortrez joins (~elf_fortr@adsl-64-237-239-58.prtc.net)
09:46:14 <tomsmeding> maerwald[m]: hm, sounds plausible
09:46:14 ukari joins (~ukari@user/ukari)
10:02:22 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
10:02:46 × juhp quits (~juhp@128.106.188.66) (Quit: juhp)
10:03:00 juhp joins (~juhp@128.106.188.66)
10:03:54 saolof joins (~olofs@185.247.71.68)
10:04:25 × amirouche quits (~amirouche@static.62.204.203.116.clients.your-server.de) (Quit: I will be back!)
10:04:38 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 252 seconds)
10:05:20 <dragestil> Does anyone have a streaming url for zurihac? I can't find it at https://zfoh.ch/zurihac2021/
10:06:47 waleee joins (~waleee@h-98-128-228-119.NA.cust.bahnhof.se)
10:06:53 kuribas joins (~user@ptr-25vy0i7qpn0l1vseydq.18120a2.ip6.access.telenet.be)
10:07:30 × nilof quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 264 seconds)
10:09:04 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
10:10:22 <fendor> dragestil, for the current talk: https://us02web.zoom.us/j/83721486748?pwd=QTV5WXNqWlRhN09sSkRJbWJsRythUT09
10:11:09 <dragestil> Thanks fendor, i thought they use youtube...
10:11:21 <fendor> dragestil, for some talks they do
10:11:34 × MQ-17J quits (~MQ-17J@8.6.144.186) (Ping timeout: 244 seconds)
10:11:37 involans joins (~alex@cpc92718-cmbg20-2-0-cust157.5-4.cable.virginm.net)
10:11:56 <fendor> I guess, when they want interaction, they use zoom? Idk
10:13:02 <dragestil> I was looking for a streaming link for non hackathon / interactive talks but could not find any on their site
10:13:04 × fabfianda quits (~fabfianda@net-109-116-251-109.cust.vodafonedsl.it) (Ping timeout: 268 seconds)
10:13:25 fabfianda joins (~fabfianda@mob-5-90-246-42.net.vodafone.it)
10:14:21 <dragestil> I guess the links are posted in discord. Thanks anyway
10:15:33 × teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection)
10:17:28 <boxscape> dragestil originally the plan was to do interactive talks in discord, but there turned out to be a 25 person limit for a room
10:18:07 × gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 252 seconds)
10:18:42 ddellacosta joins (~ddellacos@86.106.121.100)
10:19:00 × Guest9 quits (~Guest9@103.250.137.30) (Quit: Connection closed)
10:19:22 <dragestil> I see. Not familiar with discord. I guess I'll watch the recording on invidious / youtube when the event is over :)
10:20:04 <dragestil> Some talks from yesterday seem to be available already
10:20:22 × involans quits (~alex@cpc92718-cmbg20-2-0-cust157.5-4.cable.virginm.net) (Ping timeout: 268 seconds)
10:20:27 teaSlurper joins (~chris@81.96.113.213)
10:20:42 gehmehgeh joins (~user@user/gehmehgeh)
10:21:56 notzmv joins (~zmv@user/notzmv)
10:23:20 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds)
10:23:55 × teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection)
10:24:35 teaSlurper joins (~chris@81.96.113.213)
10:26:38 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 252 seconds)
10:26:44 <kuribas> :i zipWithM
10:26:49 <kuribas> :t zipWithM
10:26:50 <lambdabot> Applicative m => (a -> b -> m c) -> [a] -> [b] -> m [c]
10:27:52 <kuribas> should have been zipWithA
10:27:55 <kuribas> :t zipWithA
10:27:57 <lambdabot> error:
10:27:57 <lambdabot> • Variable not in scope: zipWithA
10:27:57 <lambdabot> • Perhaps you meant one of these:
10:28:35 × killsushi quits (~killsushi@user/killsushi) (Quit: Leaving)
10:29:00 ubert joins (~Thunderbi@p200300ecdf259d37e6b318fffe838f33.dip0.t-ipconnect.de)
10:29:03 <tomsmeding> :t sequence
10:29:04 <lambdabot> (Traversable t, Monad m) => t (m a) -> m (t a)
10:29:05 <tomsmeding> :t sequenceA
10:29:06 <lambdabot> (Traversable t, Applicative f) => t (f a) -> f (t a)
10:29:47 tomsmeding wonders why 'sequence' isn't just changed to only require Applicative
10:29:49 chaosite joins (~chaosite@user/chaosite)
10:30:16 tomsmeding realises that that would be a breaking change because it's a class method
10:34:18 × fabfianda quits (~fabfianda@mob-5-90-246-42.net.vodafone.it) (Ping timeout: 240 seconds)
10:34:32 fabfianda joins (~fabfianda@net-109-116-251-109.cust.vodafonedsl.it)
10:36:51 × cheater quits (~Username@user/cheater) (Ping timeout: 272 seconds)
10:37:09 cheater joins (~Username@user/cheater)
10:37:30 Guest95 joins (~Guest95@202.36.179.107)
10:37:55 altern joins (~altern@altern.corbina.com.ua)
10:40:35 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158) (Remote host closed the connection)
10:40:58 nilof joins (~olofs@90-227-86-119-no542.tbcn.telia.com)
10:41:51 × hmmmas quits (~chenqisu1@183.217.200.246) (Quit: Leaving.)
10:43:07 <kuribas> I am missing infix for partially applied functions.
10:43:23 <kuribas> like: foo `partially 1` bar
10:43:50 <kuribas> or: foo `partially 1` bar `partially 2` fu `partially 3` fuga
10:44:44 <kuribas> I guess "partially 1 foo $ partially 2 fu $ partially 3 fuga" is fine :-)
10:45:08 × saolof quits (~olofs@185.247.71.68) (Ping timeout: 268 seconds)
10:47:49 Pickchea joins (~private@user/pickchea)
10:51:43 <teaSlurper> hey
10:51:48 <boxscape> kuribas foo &partially 1$ bar
10:52:11 <boxscape> hey teaSlurper
10:52:13 <teaSlurper> how do i refer to a variable name in same file that has an ambiguous name with another namespace in the prelude library
10:52:16 <kuribas> boxscape: noice :)
10:52:27 <teaSlurper> example
10:52:28 <teaSlurper> pi
10:52:33 <kuribas> teaSlurper: with a qualified import.
10:52:57 <boxscape> import qualified MyLibrary as ML
10:52:59 <boxscape> ML.pi
10:53:21 <boxscape> or just `import qualified MyLibrary` and then `MyLibrary.pi`
10:53:23 <kuribas> teaSlurper: you can import the prelude qualified. That said, try to avoid clashing with prelude...
10:53:44 <boxscape> oh wait, defined in the same file
10:53:58 <boxscape> teaSlurper what I said would only work if it's in a different file, but what kuribas said works
10:53:59 <teaSlurper> in same file ye, 'hiding' keyword?
10:54:06 <boxscape> yes, hiding works, too
10:54:09 <boxscape> import Prelude hiding (pi)
10:54:39 <teaSlurper> thx
10:54:46 ddellacosta joins (~ddellacos@86.106.121.100)
10:54:47 <teaSlurper> is prelude haskell's standard library?
10:55:07 <boxscape> it's the parts of the standard libraries that are imported by default
10:55:31 <boxscape> there are other parts of the standard libraries you have to import explicitly
10:55:39 <boxscape> like some of the things in Data.List, for example
10:56:10 <teaSlurper> i see, thx
10:59:19 × waleee quits (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 268 seconds)
10:59:50 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 268 seconds)
11:00:32 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:02:11 × xff0x quits (~xff0x@2001:1a81:5339:fe00:8365:3158:f169:6936) (Ping timeout: 272 seconds)
11:02:46 xff0x joins (~xff0x@2001:1a81:5339:fe00:214:efbd:9851:b8b5)
11:03:41 hmmmas joins (~chenqisu1@183.217.200.246)
11:08:59 × ubert quits (~Thunderbi@p200300ecdf259d37e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
11:13:21 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:14:14 <boxscape> anyone got any experience with ImpredicativeTypes? I'm wondering how to make this work https://paste.tomsmeding.com/ig2UQ1O0
11:16:27 chrysanthematic joins (~chrysanth@user/chrysanthematic)
11:17:57 adpRCCaLTxuh joins (~adpRCCaLT@88.155.39.126)
11:17:57 <adpRCCaLTxuh> Go bA(k tO FreEn0dE or n0rTH koReA nukeS YOu
11:17:57 × adpRCCaLTxuh quits (~adpRCCaLT@88.155.39.126) (Client Quit)
11:18:20 × nilof quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 268 seconds)
11:19:04 <boxscape> (it's trivial with a newtype but if ImpredicativeTypes works it might be a bit nicer)
11:20:20 <nitrix> ) Just closing the paren adpRCCaLTxhh left opened.
11:20:40 <boxscape> appreciated
11:20:41 <nitrix> Okay I feel better now.
11:23:06 ubert joins (~Thunderbi@p200300ecdf259d37e6b318fffe838f33.dip0.t-ipconnect.de)
11:27:24 × hmmmas quits (~chenqisu1@183.217.200.246) (Quit: Leaving.)
11:27:39 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
11:28:24 ddellacosta joins (~ddellacos@86.106.121.100)
11:28:52 × ubert quits (~Thunderbi@p200300ecdf259d37e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
11:30:09 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
11:32:21 hegstal joins (~hegstal@2a02:c7f:7604:8a00:1e4a:1cd5:4170:e3e0)
11:32:50 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds)
11:33:56 hmmmas joins (~chenqisu1@183.217.200.246)
11:34:17 × hmmmas quits (~chenqisu1@183.217.200.246) (Client Quit)
11:35:05 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
11:35:07 <teaSlurper> is there a function pattern for "match once first"
11:35:11 <teaSlurper> or do this first
11:36:29 nilof joins (~olofs@90-227-86-119-no542.tbcn.telia.com)
11:36:42 × Pickchea quits (~private@user/pickchea) (Ping timeout: 240 seconds)
11:37:10 <boxscape> teaSlurper hmm, it's not really clear to me what you're asking
11:37:29 <boxscape> maybe an example would help
11:37:46 <teaSlurper> i'm generating a bunch of fractionals
11:37:51 <teaSlurper> going down from n
11:38:14 trent joins (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
11:38:17 <teaSlurper> so n = 4, [1/4, 1/3, 1/2, 1/1]
11:38:42 × favonia quits (~favonia@user/favonia) (Ping timeout: 264 seconds)
11:40:36 <teaSlurper> i solved the problem is cool, but in a different way
11:41:33 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158)
11:41:53 lavaman joins (~lavaman@98.38.249.169)
11:41:54 geekosaur joins (~geekosaur@xmonad/geekosaur)
11:43:38 × allbery_b quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 252 seconds)
11:45:13 × Guest95 quits (~Guest95@202.36.179.107) (Ping timeout: 246 seconds)
11:45:54 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158) (Ping timeout: 240 seconds)
11:46:24 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
11:48:43 <kuribas> What's your opinion on testing on the REPL vs unit tests?
11:48:44 × azeem quits (~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it) (Read error: Connection reset by peer)
11:48:56 azeem joins (~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it)
11:49:17 <kuribas> I can see an advantage for unit tests (and property tests) when you have complicated algorithms or business logic, that may still evolve.
11:49:36 <kuribas> However is there a point in unit testing simple functions which do one thing, and can easily be tested on the REPL?
11:50:10 <teaSlurper> i don't know anything about unit-testing with haskell, but the idea is all your tests are automated
11:50:18 <teaSlurper> in general
11:50:26 <Morrow> You can have your cake and eat it too
11:50:26 <kuribas> well, you need to write them first :)
11:50:43 <Morrow> You can load up your test file in the REPL
11:50:49 <teaSlurper> unit testing acts as a form of documentation in a way aswell
11:51:12 <teaSlurper> and keeps a history of edge cases you've tested
11:51:30 <kuribas> they also take up time in CICD if you have a lot of them.
11:51:31 <teaSlurper> and catches bugs in regressions
11:51:44 <tomsmeding> kuribas: sounds to me like a lack of ergonomics in specifying tests; if writing the unit test would be just as easy as opening a repl and entering it there, then you wouldn't ask the question
11:51:47 <tomsmeding> perhaps doctests?
11:51:47 <Morrow> Especially with frameworks that have test caching
11:52:03 tomsmeding isn't sure how ergonomic the tooling around doctests is, but it exists
11:52:09 <kuribas> tomsmeding: doctests are nice :)
11:52:31 <kuribas> tomsmeding: tests are also code, which needs to be maintained.
11:52:58 <tomsmeding> also true
11:53:06 <teaSlurper> with repl you can only test if your code works now, oppose to against future changes which is what unit tests are for more than anything perhaps
11:53:34 hmmmas joins (~chenqisu1@183.217.200.246)
11:54:05 <teaSlurper> if 1 function stops working from a future change it could break 5 other unit tests
11:54:31 <teaSlurper> make em all green, then you know with more confidence your thing as a whole works
11:54:53 <kuribas> tomsmeding: I find unit tests in haskell quite ergonomic.
11:55:59 <tomsmeding> don't get me wrong, I'm quite bad at getting myself to write tests in the first place for anything but the most complicated code
11:56:40 Pickchea joins (~private@user/pickchea)
11:57:17 <kuribas> I don't think code quality is a measure of number of unit tests.
11:57:34 <kuribas> We hardly have any unit tests in our code, but the quality is quite high.
11:57:58 <kuribas> In another company we had more tests than code :) The code was aweful.
11:58:32 <kuribas> Although in one project (our REST API) we now have a large amount of tests.
11:58:43 <hpc> sometimes how hard it is to write tests is the test itself
11:58:58 <hpc> as soon as it becomes hard to test something, you know it has modularity problems
11:59:00 <kuribas> I feel I could write the same code with 1/10 the tests, and more confidence by doing it in haskell (vs clojure).
11:59:38 ddellacosta joins (~ddellacos@86.106.121.100)
11:59:41 <kuribas> hpc: certainly
11:59:48 <kuribas> but it can be easy and still tedious :)
11:59:51 <kuribas> to find all edge cases.
12:00:23 fizbin joins (~fizbin@c-68-83-100-68.hsd1.nj.comcast.net)
12:00:46 <kuribas> maybe property tests are better in that case;..
12:02:25 <tomsmeding> property tests take away one dimension of "finding edge cases", but sometimes there are more such dimensions
12:02:56 <hpc> they save you a lot of "basic" unit tests
12:03:06 <tomsmeding> which can sometimes also be covered with more generic generators, but not always
12:03:07 <hpc> you only have to write out the tricky cases by hand
12:04:00 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds)
12:04:13 <tomsmeding> I recently wrote tests for a tricky program transformation; property testing allowed me to leave selecting _inputs_ for the transformed programs to the randomiser, but generating random _programs_ is hard enough that I resolved to writing those by hand
12:04:43 × fizbin quits (~fizbin@c-68-83-100-68.hsd1.nj.comcast.net) (Ping timeout: 265 seconds)
12:05:37 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
12:09:13 <tomsmeding> (I did try generating programs for a bit, but then rediscovered how that's a hard problem :p)
12:10:53 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
12:13:13 × jneira_ quits (~jneira_@131.red-79-155-1.dynamicip.rima-tde.net) (Ping timeout: 268 seconds)
12:13:26 slowButPresent joins (~slowButPr@user/slowbutpresent)
12:19:49 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
12:23:43 notzmv joins (~zmv@user/notzmv)
12:26:49 × hmmmas quits (~chenqisu1@183.217.200.246) (Quit: Leaving.)
12:27:27 × wei2912 quits (~wei2912@112.199.250.21) (Quit: Lost terminal)
12:29:22 × nilof quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 265 seconds)
12:32:44 ddellacosta joins (~ddellacos@86.106.121.100)
12:34:54 fizbin joins (~fizbin@c-68-83-100-68.hsd1.nj.comcast.net)
12:37:20 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 258 seconds)
12:38:18 mpt joins (~tom@2a02:908:1862:49e0::2)
12:39:12 × fizbin quits (~fizbin@c-68-83-100-68.hsd1.nj.comcast.net) (Ping timeout: 252 seconds)
12:49:02 derelict joins (~derelict@user/derelict)
12:49:29 Hanicef joins (~gustaf@81-229-9-108-no92.tbcn.telia.com)
12:51:05 × mpt quits (~tom@2a02:908:1862:49e0::2) (Ping timeout: 265 seconds)
12:58:47 × elf_fortrez quits (~elf_fortr@adsl-64-237-239-58.prtc.net) (Quit: Client closed)
13:00:52 × chrysanthematic quits (~chrysanth@user/chrysanthematic) (Quit: chrysanthematic)
13:01:12 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
13:01:34 <maerwald> Property tests are only as good as your generators and writing good generators for non trivial data is very hard
13:02:29 <maerwald> I prefer unit tests, unless the data is simple or I have a genius idea about a good generator
13:06:44 <Rembane> I did my master thesis on generating random programs using QuickCheck and I can vouch that it is a hard problem. Pałka et al has a good paper on it though.
13:08:00 × trent quits (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 265 seconds)
13:08:29 ddellacosta joins (~ddellacos@86.106.121.100)
13:08:37 mpt joins (~tom@2a02:908:1862:49e0::2)
13:09:07 × hegstal quits (~hegstal@2a02:c7f:7604:8a00:1e4a:1cd5:4170:e3e0) (Remote host closed the connection)
13:09:22 ubert joins (~Thunderbi@p200300ecdf259d37e6b318fffe838f33.dip0.t-ipconnect.de)
13:11:31 favonia joins (~favonia@user/favonia)
13:12:41 <tomsmeding> Rembane: this one? https://dl.acm.org/doi/10.1145/1982595.1982615
13:12:59 <Rembane> tomsmeding: Bingo!
13:12:59 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 258 seconds)
13:13:28 nilof joins (~olofs@90-227-86-119-no542.tbcn.telia.com)
13:15:12 <Axman6> I have scoped type variables enabled, but I'm getting Could not deduce Parameter a0 from context Parameter a for this code, what am I missing?
13:15:13 <Axman6> elementMod :: forall a. Parameter a => Integer -> ElementMod a
13:15:14 <Axman6> elementMod n = ElementMod (n `mod` param' @a Proxy)
13:15:33 <Axman6> where class Parameter (a :: ParamName) where param' :: p a -> Integer
13:15:40 elf_fortrez joins (~elf_fortr@adsl-64-237-239-58.prtc.net)
13:15:49 × kuribas quits (~user@ptr-25vy0i7qpn0l1vseydq.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
13:16:29 <Axman6> and newtype ElementMod (n :: ParamName) = ElementMod Integer in case that's not clear
13:18:22 zebrag joins (~chris@user/zebrag)
13:18:26 <Axman6> uh actually, the error is in this:
13:18:27 <Axman6> param :: forall a. Parameter a => Integer
13:18:27 <Axman6> param = param' (Proxy :: Proxy a)
13:19:57 <Axman6> ok, I guess I don't need that function, problem solved
13:20:17 <tomsmeding> Axman6: are you sure that function gives an error while scopedtypevariables is enabled?
13:21:09 <tomsmeding> ooh right the problem is that the type 'Integer', in the type signature for 'param', does not mention the type variable 'a'
13:21:09 × mpt quits (~tom@2a02:908:1862:49e0::2) (Ping timeout: 268 seconds)
13:21:30 <tomsmeding> so in a usage of 'param' GHC will never (without an explicit type application) be able to infer with what type variable to instantiate that 'a'
13:22:18 <tomsmeding> to let ghc stop complaining and hence be forced to use an explicit type application, you can enable AllowAmbiguousTypes as the error says, but I strongly advise against that :p
13:24:28 <tomsmeding> if only because AllowAmbiguousTypes is a sledgehammer that is bound to give super weird effects in other places
13:26:05 fef joins (~thedawn@user/thedawn)
13:27:43 Ariakenom joins (~Ariakenom@2001:9b1:efb:fc00:5da5:d011:e09d:f192)
13:28:27 × chddr quits (~Thunderbi@31.148.23.125) (Ping timeout: 268 seconds)
13:28:58 <dminuoso> What super weird effects do you get?
13:29:44 ph88^ joins (~ph88@2a02:8109:9e00:7e5c:1960:9d14:60f8:23cf)
13:33:49 j0xaf joins (~j0xaf@p200300f7771750ed30afbc7d326d0573.dip0.t-ipconnect.de)
13:34:34 × oxide quits (~lambda@user/oxide) (Quit: oxide)
13:36:34 × favonia quits (~favonia@user/favonia) (Ping timeout: 268 seconds)
13:36:53 favonia joins (~favonia@user/favonia)
13:39:47 × HarveyPwca quits (~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06) (Quit: Leaving)
13:40:29 ddellacosta joins (~ddellacos@86.106.121.100)
13:40:53 <tomsmeding> you don't get any if you are flawless, but in my experience, making doing something wrong in the vicinity of ambiguous types with that extension on gives very odd type errors if you aren't prepared for it
13:41:04 <tomsmeding> but maybe my memory makes it worse than it was :p
13:41:10 × Pickchea quits (~private@user/pickchea) (Ping timeout: 252 seconds)
13:43:25 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158)
13:44:18 × favonia quits (~favonia@user/favonia) (Ping timeout: 240 seconds)
13:44:50 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds)
13:45:30 <dminuoso> I'm flawless, which is why I -fdefer-type-errors. GHC is just wrong.
13:46:56 <dminuoso> The GHC user manual at least suggests that AllowAmbiguousTypes can interact badly with RankNTypes sometimes
13:47:32 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158) (Ping timeout: 244 seconds)
13:47:33 <dminuoso> Interestingly the example listed seems like it might not even compile with simplified subsumption.
13:47:36 <dminuoso> https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/ambiguous_types.html
13:48:54 × ubert quits (~Thunderbi@p200300ecdf259d37e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
13:49:02 favonia joins (~favonia@user/favonia)
13:51:07 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
13:51:34 × awth13 quits (~user@user/awth13) (Read error: Connection reset by peer)
13:52:03 ubert joins (~Thunderbi@p200300ecdf259d37e6b318fffe838f33.dip0.t-ipconnect.de)
13:52:08 awth13 joins (~user@user/awth13)
13:52:08 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit)
13:52:30 dhil joins (~dhil@195.213.192.47)
13:57:31 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
14:01:01 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
14:02:03 × fabfianda quits (~fabfianda@net-109-116-251-109.cust.vodafonedsl.it) (Ping timeout: 272 seconds)
14:02:47 fabfianda joins (~fabfianda@mob-5-90-241-120.net.vodafone.it)
14:06:30 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
14:07:02 HarveyPwca joins (~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06)
14:07:02 × fabfianda quits (~fabfianda@mob-5-90-241-120.net.vodafone.it) (Ping timeout: 258 seconds)
14:07:53 jao joins (jao@gateway/vpn/protonvpn/jao)
14:08:19 lavaman joins (~lavaman@98.38.249.169)
14:08:41 fabfianda joins (~fabfianda@mob-5-90-241-140.net.vodafone.it)
14:11:46 fendor_ joins (~fendor@77.119.128.145.wireless.dyn.drei.com)
14:11:48 × ubert quits (~Thunderbi@p200300ecdf259d37e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
14:12:27 eight joins (~eight@user/eight)
14:12:47 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 258 seconds)
14:14:01 ddellacosta joins (~ddellacos@86.106.121.100)
14:14:27 × fendor_ quits (~fendor@77.119.128.145.wireless.dyn.drei.com) (Remote host closed the connection)
14:14:42 × fendor quits (~fendor@77.119.131.188.wireless.dyn.drei.com) (Ping timeout: 268 seconds)
14:14:42 × Ferdirand quits (~somebody@user/ferdirand) (Ping timeout: 264 seconds)
14:14:57 fendor_ joins (~fendor@77.119.128.145.wireless.dyn.drei.com)
14:16:21 × Deewiant quits (~deewiant@de1.ut.deewiant.iki.fi) (Quit: Switching servers)
14:16:45 Deewiant_ is now known as Deewiant
14:18:34 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds)
14:20:03 fendor_ is now known as fendor
14:20:15 Ferdirand joins (~somebody@2001:4c78:2012:5000::2)
14:20:42 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 264 seconds)
14:21:08 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
14:23:26 × xff0x quits (~xff0x@2001:1a81:5339:fe00:214:efbd:9851:b8b5) (Ping timeout: 268 seconds)
14:24:57 xff0x joins (~xff0x@185.65.135.235)
14:27:59 Pickchea joins (~private@user/pickchea)
14:29:01 chddr joins (~Thunderbi@31.148.23.125)
14:29:16 × xff0x quits (~xff0x@185.65.135.235) (Ping timeout: 258 seconds)
14:30:19 involans joins (~alex@cpc92718-cmbg20-2-0-cust157.5-4.cable.virginm.net)
14:31:09 xff0x joins (~xff0x@2001:1a81:5339:fe00:214:efbd:9851:b8b5)
14:37:51 × fabfianda quits (~fabfianda@mob-5-90-241-140.net.vodafone.it) (Read error: Connection reset by peer)
14:38:00 fabfianda joins (~fabfianda@net-109-116-251-109.cust.vodafonedsl.it)
14:39:48 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
14:40:23 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
14:40:49 × Hanicef quits (~gustaf@81-229-9-108-no92.tbcn.telia.com) (Quit: leaving)
14:41:37 bitmapper joins (uid464869@id-464869.tooting.irccloud.com)
14:41:47 × favonia quits (~favonia@user/favonia) (Ping timeout: 244 seconds)
14:42:11 favonia joins (~favonia@user/favonia)
14:43:46 AgentM joins (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net)
14:45:58 ddellacosta joins (~ddellacos@86.106.121.100)
14:46:04 × noddy quits (~user@user/noddy) (Quit: WeeChat 3.1)
14:49:10 noddy joins (~user@user/noddy)
14:50:53 byorgey joins (~byorgey@155.138.238.211)
14:56:35 × elf_fortrez quits (~elf_fortr@adsl-64-237-239-58.prtc.net) (Quit: Client closed)
14:56:41 × AkechiShiro quits (~licht@user/akechishiro) (Ping timeout: 252 seconds)
14:56:46 × favonia quits (~favonia@user/favonia) (Ping timeout: 244 seconds)
14:57:09 favonia joins (~favonia@user/favonia)
14:57:18 × Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 264 seconds)
14:57:34 AkechiShiro joins (~licht@user/akechishiro)
14:57:38 × nilof quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 258 seconds)
14:57:45 elf_fortrez joins (~elf_fortr@adsl-64-237-239-58.prtc.net)
14:58:39 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
14:58:42 aplainze1akind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
14:58:56 Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius)
15:00:05 Scotty_Trees joins (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net)
15:01:07 lavaman joins (~lavaman@98.38.249.169)
15:01:43 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3-dev)
15:01:51 × Pickchea quits (~private@user/pickchea) (Ping timeout: 258 seconds)
15:01:58 × fabfianda quits (~fabfianda@net-109-116-251-109.cust.vodafonedsl.it) (Read error: Connection reset by peer)
15:02:04 × Ariakenom quits (~Ariakenom@2001:9b1:efb:fc00:5da5:d011:e09d:f192) (Ping timeout: 265 seconds)
15:02:13 fabfianda joins (~fabfianda@mob-5-90-241-140.net.vodafone.it)
15:04:16 Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
15:05:42 × favonia quits (~favonia@user/favonia) (Ping timeout: 264 seconds)
15:06:13 × aplainze1akind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
15:08:07 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
15:08:37 <Lycurgus> retrie is copyright facebook, glad it's not part of anything that could go out the door
15:08:46 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
15:10:07 favonia joins (~favonia@user/favonia)
15:10:24 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
15:10:48 <phaazon> what’s the literal name of <$ / $> ?
15:11:05 <dminuoso> Of what?
15:11:12 <phaazon> mapping with const
15:11:12 <dminuoso> Oh. Haha. I read that as a single operator.
15:11:22 <phaazon> I’m implementing a similar thing in Rust
15:11:28 <phaazon> and since we don’t have custom operators… :D
15:11:34 <phaazon> I plan to call that const_map
15:11:36 <phaazon> but meh
15:11:38 <phaazon> too long!
15:12:14 <dminuoso> Mmm, I had never pondered about it. Personally, I might call it fconst perhaps.
15:12:18 <dminuoso> (both of them)
15:12:33 <dminuoso> Though I never used $> before. Just a lot of <$
15:12:54 Ariakenom joins (~Ariakenom@2001:9b1:efb:fc00:8d64:c14b:88a:5ff6)
15:13:06 × juhp quits (~juhp@128.106.188.66) (Quit: juhp)
15:13:08 Lycurgus thought / was part of the thing at first
15:13:20 juhp joins (~juhp@128.106.188.66)
15:13:23 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
15:13:27 acairncross joins (~aiken@33.2.143.150.dyn.plus.net)
15:13:35 <tomsmeding> @hoogle <$/$>
15:13:36 <lambdabot> No results found
15:13:41 tomsmeding is disappointed
15:14:22 <tomsmeding> phaazon: probably bad name, but in my mind I call it "replace"
15:14:30 × acairncross quits (~aiken@33.2.143.150.dyn.plus.net) (Client Quit)
15:15:00 nilof joins (~olofs@90-227-86-119-no542.tbcn.telia.com)
15:15:02 <tomsmeding> (possibly replace_with)
15:15:11 × hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1)
15:15:34 hendursaga joins (~weechat@user/hendursaga)
15:16:50 <phaazon> I’ll stick around const_map :P
15:17:05 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
15:17:06 × Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
15:17:36 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
15:19:23 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
15:19:57 × favonia quits (~favonia@user/favonia) (Ping timeout: 265 seconds)
15:20:57 favonia joins (~favonia@user/favonia)
15:25:18 johnli joins (~jl@c83-252-118-64.bredband.tele2.se)
15:27:14 × fef quits (~thedawn@user/thedawn) (Remote host closed the connection)
15:27:51 fef joins (~thedawn@user/thedawn)
15:29:26 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
15:32:58 Bartosz joins (~textual@24.35.90.211)
15:34:21 × noddy quits (~user@user/noddy) (Quit: WeeChat 3.2)
15:35:29 noddy joins (~user@user/noddy)
15:36:21 × mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 244 seconds)
15:44:01 ddellaco_ joins (~ddellacos@86.106.121.100)
15:44:38 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
15:45:02 × ezzieyguywuf quits (~Unknown@user/ezzieyguywuf) (Read error: No route to host)
15:47:18 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds)
15:49:08 × ddellaco_ quits (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds)
15:52:53 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158)
15:54:10 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
15:55:24 mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
15:56:37 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
15:57:13 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158) (Ping timeout: 244 seconds)
15:59:22 egoist joins (~egoist@186.235.85.86)
16:00:33 Hanicef joins (~gustaf@81-229-9-108-no92.tbcn.telia.com)
16:02:25 × fef quits (~thedawn@user/thedawn) (Ping timeout: 252 seconds)
16:02:32 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:05:16 × derelict quits (~derelict@user/derelict) (Ping timeout: 252 seconds)
16:11:25 fef joins (~thedawn@user/thedawn)
16:14:05 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Read error: Connection reset by peer)
16:14:09 aplainze1akind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
16:16:10 × fef quits (~thedawn@user/thedawn) (Ping timeout: 252 seconds)
16:16:34 kayprish joins (~kayprish@46.240.143.86)
16:16:35 econo joins (uid147250@user/econo)
16:18:05 × kayprish quits (~kayprish@46.240.143.86) (Remote host closed the connection)
16:18:58 chrysanthematic joins (~chrysanth@user/chrysanthematic)
16:19:04 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
16:19:57 × chrysanthematic quits (~chrysanth@user/chrysanthematic) (Client Quit)
16:22:40 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:23:19 chrysanthematic joins (~chrysanth@user/chrysanthematic)
16:23:27 <tomsmeding> is there an overview of which ghc language extensions imply which ones?
16:23:55 <dminuoso> tomsmeding: the GHC user manual.
16:24:24 <tomsmeding> also in transposed form? i.e. to check which extensions imply extension X
16:24:40 <tomsmeding> I know the user manual says which are implied _by_ X :)
16:25:10 <tomsmeding> oh wait the overview does seem to have that info
16:25:44 <dminuoso> tomsmeding: impliedXFlags in GHC/Driver/Session.hs
16:26:06 jakalx parts (~jakalx@base.jakalx.net) ()
16:26:10 <dminuoso> Though, at first glance that seems to diverse from the user manual strangely
16:26:32 jakalx joins (~jakalx@base.jakalx.net)
16:26:36 <dminuoso> Ah no, I just misread
16:26:39 <dminuoso> That's it
16:26:53 <tomsmeding> okay then extension implications apparently don't answer my core question which is: why the hell does ghc want me to set LANGUAGE PatternGuards to use pattern guards in one project but not the other
16:28:09 Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
16:28:16 <Melvar> Maybe one of them has PatternGuards as a default-extension in the cabal file (or equivalent)?
16:28:57 <geekosaur> one is implied language Haskell98?
16:29:15 <geekosaur> PG should be H2010
16:30:36 <dminuoso> NoPatternGuards seems to be implied by Haskell98
16:30:37 <tomsmeding> I explicitly have default-language: Haskell2010 in the project where I get the warning
16:33:15 tomsmeding is confused, hold on
16:34:34 <tomsmeding> somehow the default-language from the .cabal file is not getting read?
16:34:43 <tomsmeding> having LANGUAGE Haskell2010 _does_ silence the warning
16:36:11 <tomsmeding> MAN "Warning: ircbrowse.cabal:101:3: The field "default-language" is available only since the Cabal specification version 1.10. This field will be ignored."
16:36:22 <tomsmeding> please ignore my rambling my problem hath been solved
16:36:38 jonatan joins (~nate@h77-53-70-163.cust.a3fiber.se)
16:36:50 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
16:37:48 × jonatan quits (~nate@h77-53-70-163.cust.a3fiber.se) (Client Quit)
16:38:11 jonatan joins (~nate@h77-53-70-163.cust.a3fiber.se)
16:39:06 <tomsmeding> that's what I get for picking up a years-old project I guess
16:39:39 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
16:40:31 × Bartosz quits (~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:40:43 Sgeo joins (~Sgeo@user/sgeo)
16:41:06 × benin0369 quits (~benin@183.82.205.58) (Ping timeout: 264 seconds)
16:42:57 × Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
16:46:19 Bartosz joins (~textual@24.35.90.211)
16:49:59 warnz joins (~warnz@2600:1700:77c0:5610:d5d8:e36a:2948:a4e3)
16:50:43 benin0369 joins (~benin@183.82.205.58)
16:53:17 × qbt quits (~edun@user/edun) (Ping timeout: 252 seconds)
16:53:47 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 258 seconds)
16:54:12 × chddr quits (~Thunderbi@31.148.23.125) (Ping timeout: 265 seconds)
16:55:47 __monty__ joins (~toonn@user/toonn)
16:58:19 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
16:58:36 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
17:00:36 × ptrcmd quits (~ptrcmd@user/ptrcmd) (Ping timeout: 272 seconds)
17:00:52 ptrcmd joins (~ptrcmd@user/ptrcmd)
17:02:48 jneira[m] joins (~jneira@163.red-176-83-85.dynamicip.rima-tde.net)
17:05:27 Pickchea joins (~private@user/pickchea)
17:08:08 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158)
17:09:59 ezzieyguywuf joins (~Unknown@user/ezzieyguywuf)
17:12:27 L29Ah[XMPP] is now known as L29Ah
17:12:34 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158) (Ping timeout: 265 seconds)
17:17:38 × jneira[m] quits (~jneira@163.red-176-83-85.dynamicip.rima-tde.net) (Remote host closed the connection)
17:18:31 hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com)
17:19:56 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:20:40 × Bartosz quits (~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:23:18 × ezzieyguywuf quits (~Unknown@user/ezzieyguywuf) (Remote host closed the connection)
17:24:14 ezzieyguywuf joins (~Unknown@user/ezzieyguywuf)
17:25:20 × aplainze1akind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
17:25:45 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
17:26:35 × favonia quits (~favonia@user/favonia) (Ping timeout: 268 seconds)
17:27:00 favonia joins (~favonia@user/favonia)
17:29:26 × azeem quits (~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it) (Ping timeout: 258 seconds)
17:30:42 azeem joins (~azeem@176.200.221.31)
17:30:56 henninb joins (~user@63.226.174.157)
17:32:13 × azeem quits (~azeem@176.200.221.31) (Read error: Connection reset by peer)
17:33:37 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
17:33:51 × boxscape quits (~boxscape@user/boxscape) (Quit: Connection closed)
17:34:06 derelict joins (~derelict@user/derelict)
17:34:42 azeem joins (~azeem@dynamic-adsl-78-13-255-154.clienti.tiscali.it)
17:35:15 boxscape joins (~boxscape@user/boxscape)
17:36:34 machinedgod joins (~machinedg@24.105.81.50)
17:41:00 × chrysanthematic quits (~chrysanth@user/chrysanthematic) (Quit: chrysanthematic)
17:41:30 lavaman joins (~lavaman@98.38.249.169)
17:41:34 × derelict quits (~derelict@user/derelict) (Ping timeout: 265 seconds)
17:42:48 Deide joins (~Deide@wire.desu.ga)
17:42:48 × Deide quits (~Deide@wire.desu.ga) (Changing host)
17:42:48 Deide joins (~Deide@user/deide)
17:43:01 × egoist quits (~egoist@186.235.85.86) (Ping timeout: 265 seconds)
17:49:45 egoist joins (~egoist@186.235.85.100)
17:49:51 × kmetric quits (~karthik@49.206.9.195) (Ping timeout: 244 seconds)
17:52:51 pera joins (~pera@154.red-79-155-45.dynamicip.rima-tde.net)
17:53:15 pera is now known as Guest5562
17:53:41 × azeem quits (~azeem@dynamic-adsl-78-13-255-154.clienti.tiscali.it) (Ping timeout: 265 seconds)
17:53:57 azeem joins (~azeem@176.200.221.31)
17:56:44 <gentauro> tomsmeding: I have `default-language: Haskell98` in all of my .cabal files. Are you saying its not being read?
17:56:47 cuz joins (~user@2601:182:cc02:8b0:2101:5597:2ede:b8bf)
17:57:38 dyeplexer joins (~dyeplexer@user/dyeplexer)
17:57:45 Bartosz joins (~textual@24.35.90.211)
17:58:37 <geekosaur> <tomsmeding> MAN "Warning: ircbrowse.cabal:101:3: The field "default-language" is available only since the Cabal specification version 1.10. This field will be ignored."
17:58:52 <geekosaur> <tomsmeding> that's what I get for picking up a years-old project I guess
17:58:58 × awth13 quits (~user@user/awth13) (Ping timeout: 265 seconds)
17:59:30 leeb joins (~leeb@KD111239153103.au-net.ne.jp)
18:03:42 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
18:05:24 beka joins (~beka@104.193.170-244.PUBLIC.monkeybrains.net)
18:05:46 × azeem quits (~azeem@176.200.221.31) (Ping timeout: 265 seconds)
18:07:25 × favonia quits (~favonia@user/favonia) (Ping timeout: 244 seconds)
18:07:49 favonia joins (~favonia@user/favonia)
18:07:58 azeem joins (~azeem@176.200.221.31)
18:08:48 kayprish joins (~kayprish@cable-188-2-246-223.dynamic.sbb.rs)
18:09:12 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
18:09:14 × azeem quits (~azeem@176.200.221.31) (Read error: Connection reset by peer)
18:09:53 azeem joins (~azeem@dynamic-adsl-84-220-241-126.clienti.tiscali.it)
18:09:54 × hendursaga quits (~weechat@user/hendursaga) (Remote host closed the connection)
18:10:18 hendursaga joins (~weechat@user/hendursaga)
18:12:13 × pfurla_ quits (~pfurla@216.131.82.52) (Ping timeout: 268 seconds)
18:13:36 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
18:16:33 × henninb quits (~user@63.226.174.157) (Quit: ERC (IRC client for Emacs 27.2))
18:17:26 wootehfoot joins (~wootehfoo@c-772e524e.032-69-6762675.bbcust.telenor.se)
18:20:25 × Bartosz quits (~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:20:50 × kayprish quits (~kayprish@cable-188-2-246-223.dynamic.sbb.rs) (Remote host closed the connection)
18:21:45 AlexNoo_ joins (~AlexNoo@178.34.160.156)
18:22:58 pbrisbin joins (~patrick@pool-72-92-38-164.phlapa.fios.verizon.net)
18:23:50 × Alex_test quits (~al_test@178.34.151.147) (Ping timeout: 268 seconds)
18:24:38 × wootehfoot quits (~wootehfoo@c-772e524e.032-69-6762675.bbcust.telenor.se) (Quit: Leaving)
18:24:39 <tomsmeding> Yep thanks geekosaur, gentauro: it is being read, as long as your cabal version is specified to be >= 1.10
18:25:06 × AlexNoo quits (~AlexNoo@178.34.151.147) (Ping timeout: 240 seconds)
18:25:20 × azeem quits (~azeem@dynamic-adsl-84-220-241-126.clienti.tiscali.it) (Ping timeout: 252 seconds)
18:25:23 AlexZenon_2 joins (~alex@178.34.160.156)
18:25:31 × AlexZenon quits (~alex@178.34.151.147) (Ping timeout: 272 seconds)
18:25:49 AlexNoo_ is now known as AlexNoo
18:25:50 azeem joins (~azeem@176.200.221.31)
18:26:13 AlexZenon_2 is now known as AlexZenon
18:26:36 jneira_ joins (~jneira_@131.red-79-155-1.dynamicip.rima-tde.net)
18:27:08 Alex_test joins (~al_test@178.34.160.156)
18:28:34 wootehfoot joins (~wootehfoo@c-772e524e.032-69-6762675.bbcust.telenor.se)
18:29:23 <monochrom> IIRC if your cabal-version: field is high enough, the default becomes Haskell2010
18:29:56 × wootehfoot quits (~wootehfoo@c-772e524e.032-69-6762675.bbcust.telenor.se) (Changing host)
18:29:56 wootehfoot joins (~wootehfoo@user/wootehfoot)
18:30:24 × azeem quits (~azeem@176.200.221.31) (Read error: Connection reset by peer)
18:30:31 <monochrom> oops, default becomes whatever the compiler defaults to. https://cabal.readthedocs.io/en/3.4/file-format-changelog.html#cabal-version-3-4
18:30:38 azeem joins (~azeem@dynamic-adsl-84-220-237-222.clienti.tiscali.it)
18:31:13 × j0xaf quits (~j0xaf@p200300f7771750ed30afbc7d326d0573.dip0.t-ipconnect.de) (Quit: Client closed)
18:33:15 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:33:25 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
18:34:47 pavonia joins (~user@user/siracusa)
18:34:59 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
18:35:22 × dyeplexer quits (~dyeplexer@user/dyeplexer) (Remote host closed the connection)
18:35:58 × Guest5562 quits (~pera@154.red-79-155-45.dynamicip.rima-tde.net) (Ping timeout: 252 seconds)
18:36:12 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
18:37:37 × chexum_ quits (~chexum@gateway/tor-sasl/chexum) (Remote host closed the connection)
18:37:40 × jneira_ quits (~jneira_@131.red-79-155-1.dynamicip.rima-tde.net) (Ping timeout: 265 seconds)
18:37:48 chexum joins (~chexum@gateway/tor-sasl/chexum)
18:38:26 arjun joins (~user@user/arjun)
18:39:11 <arjun> hi! anyone here uses haskell-mode with emacs ?
18:39:36 × warnz quits (~warnz@2600:1700:77c0:5610:d5d8:e36a:2948:a4e3) (Remote host closed the connection)
18:39:50 × fendor quits (~fendor@77.119.128.145.wireless.dyn.drei.com) (Read error: Connection reset by peer)
18:40:08 warnz joins (~warnz@2600:1700:77c0:5610:d5d8:e36a:2948:a4e3)
18:40:08 <dminuoso> Yes.
18:40:58 <arjun> dminuoso: i am having issues with interactive part
18:41:15 qbt joins (~edun@user/edun)
18:41:20 <arjun> "Could not load module ‘Options.Applicative’
18:41:20 <arjun> It is a member of the hidden package ‘optparse-applicative-0.16.1.0’.
18:41:20 <arjun> Perhaps you need to add ‘optparse-applicative’ to the build-depends in your .cabal file.
18:41:20 <arjun> It is a member of the hidden package ‘optparse-applicative-0.15.1.0’.
18:41:23 <arjun> Perhaps you need to add ‘optparse-applicative’ to the build-depends in your .cabal file."
18:41:31 <arjun> when clearly it's in my cabal file ?
18:41:57 <dminuoso> Do you use stack/cabal/nix?
18:42:03 <arjun> cabal
18:42:10 <dminuoso> What is your haskell-process-type set to?
18:42:18 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
18:42:24 <arjun> auto -> cabal-repl ?
18:42:47 <dminuoso> It probably should be cabal-new-repl, try that one.
18:42:55 Bartosz joins (~textual@24.35.90.211)
18:43:04 <arjun> dminuoso: cabal-new-repl seems depriciated
18:44:11 × azeem quits (~azeem@dynamic-adsl-84-220-237-222.clienti.tiscali.it) (Ping timeout: 258 seconds)
18:44:14 <arjun> i am trying to load a file from a project into the repl with (C-c C-l)
18:44:26 azeem joins (~azeem@176.200.221.31)
18:44:42 <arjun> am i missing something here?
18:44:53 × warnz quits (~warnz@2600:1700:77c0:5610:d5d8:e36a:2948:a4e3) (Ping timeout: 265 seconds)
18:44:57 <dminuoso> arjun: Hold on, is optparse-applicative in your build-depends?
18:45:18 <arjun> sure
18:45:20 × Bartosz quits (~textual@24.35.90.211) (Client Quit)
18:45:40 <arjun> its the ghcup-hs repo
18:46:06 <dminuoso> Is there multiple components?
18:46:32 <arjun> dminuoso: looks like
18:46:32 <dminuoso> Ah there you go
18:46:36 <arjun> https://gitlab.haskell.org/haskell/ghcup-hs/-/blob/master/ghcup.cabal
18:46:37 × elf_fortrez quits (~elf_fortr@adsl-64-237-239-58.prtc.net) (Ping timeout: 246 seconds)
18:46:43 <dminuoso> `cabal repl` doesnt support multiple components (yet)
18:46:51 <dminuoso> It probably uses the "wrong" component
18:47:03 × azeem quits (~azeem@176.200.221.31) (Read error: Connection reset by peer)
18:47:06 × favonia quits (~favonia@user/favonia) (Ping timeout: 264 seconds)
18:47:15 <arjun> dminuoso: that must be it!
18:47:16 azeem joins (~azeem@dynamic-adsl-94-34-49-60.clienti.tiscali.it)
18:47:31 <dminuoso> Or hold on. No it doesnt suppport multiple projects
18:47:36 <dminuoso> What it does with multiple components, I have no clue
18:47:50 lisq_ is now known as lisq
18:48:03 <arjun> dminuoso: there's also a cabal.project file in there to spice it up more
18:48:13 <arjun> https://gitlab.haskell.org/haskell/ghcup-hs/-/blob/master/cabal.project
18:48:32 <dminuoso> That shouldnt matter
18:49:25 <arjun> dminuoso: when i go here -> https://gitlab.haskell.org/haskell/ghcup-hs/-/blob/master/app/ghcup/Main.hs
18:49:27 <tomsmeding> dminuoso: with multiple components, `cabal repl` errors out and asks you to specify a component
18:49:42 <arjun> and try to load the file with C-c C-l
18:49:55 <tomsmeding> Rembane: is that Palka paper the state of the art, or is there a less ad-hoc approach known? :P
18:49:59 <dminuoso> tomsmeding: Are you sure? Judging from the code it should work
18:50:09 <arjun> it builds some stuff and then pops up those hidden module errors : /
18:50:20 <tomsmeding> dminuoso: haven't looked at cabal's source, just user experience :p
18:50:25 notzmv joins (~zmv@user/notzmv)
18:50:26 favonia joins (~favonia@user/favonia)
18:50:29 <dminuoso> tomsmeding: you probably experienced multiple packages
18:50:42 <dminuoso> arjun: judging fom the source code `cabal repl`, if no target is specified, will default to:
18:50:47 jneira_ joins (~jneira_@131.red-79-155-1.dynamicip.rima-tde.net)
18:50:52 <dminuoso> 1. the library, if there's exactly one buildable library
18:51:10 <dminuoso> 2. the executable, if there's exactly one buildable executable
18:51:15 <tomsmeding> Hmm I might have, sorry for the noise then
18:51:37 <tomsmeding> Though in my case the cabal file has 2 executables
18:51:42 <dminuoso> arjun: so your `cabal repl` likely defaults to the (unnamed) library
18:51:58 <dminuoso> tomsmeding: Like I said above.
18:52:02 <arjun> dminuoso: that's probably it
18:52:10 <arjun> dminuoso: what do i do here?
18:52:34 <dminuoso> arjun: you can specify by running `cabal repl ghcup:exe:ghcup`
18:52:58 <arjun> dminuoso: from the terminal or emacs?
18:53:04 <dminuoso> Yes.
18:53:05 <arjun> pardon the noobness
18:53:23 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158)
18:53:34 <dminuoso> arjun: It doesnt matter. If you invoke `cabal repl` from the terminal, you should observe the same behavior. Can you verify?
18:53:36 chrysanthematic joins (~chrysanth@user/chrysanthematic)
18:53:38 is7s joins (~is7s@2a01:4b00:895f:3d00:ddd:ae00:86d4:d79c)
18:55:57 ddellacosta joins (~ddellacos@86.106.121.100)
18:55:57 <arjun> dminuoso: right. so it seemed it worked from terminal
18:56:06 × phma quits (phma@2001:5b0:210b:98b8:ef83:24f5:5460:8a3e) (Read error: Connection reset by peer)
18:56:11 <dminuoso> Mmm
18:56:26 <dminuoso> arjun: so `cabal repl` from terminal lets you import Options.Applicative?
18:56:31 × jneira_ quits (~jneira_@131.red-79-155-1.dynamicip.rima-tde.net) (Ping timeout: 265 seconds)
18:56:34 <dminuoso> Or did you run `cabal repl ghcup:exe:ghcup`?
18:56:41 <arjun> the second one
18:56:44 × Hanicef quits (~gustaf@81-229-9-108-no92.tbcn.telia.com) (Quit: leaving)
18:57:01 <arjun> caba repl whatyousaid
18:57:21 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
18:57:24 <dminuoso> arjun: for emacs, I believe it could be sufficient to: M-: (set haskell-process-args-cabal-repl "ghcup:exe:ghcup")
18:57:37 <dminuoso> this is very inconvenient obviously, but right now there's no other way
18:57:47 <dminuoso> err *setq
18:57:56 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158) (Ping timeout: 265 seconds)
18:59:19 <dminuoso> Ideally there should be a setting that if set, would read-string for the cabal target each time cabal commands are invoked.
19:00:32 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds)
19:00:38 <arjun> dminuoso: i restarted the process after setq'ing it
19:00:55 <arjun> i guess i messed up somewhere because eveyting is dying now : P
19:01:22 ubert joins (~Thunderbi@p200300ecdf259d37886351c709683887.dip0.t-ipconnect.de)
19:01:55 phma joins (phma@2001:5b0:210d:afc8:5ec1:374f:fafc:21e6)
19:03:17 <arjun> dminuoso: hang on. let me kill emacs and try again. maybe i found something
19:03:35 <arjun> i'd have to log back in here since i am on here with ERC : P
19:03:36 <arjun> brb
19:03:41 × arjun quits (~user@user/arjun) (Remote host closed the connection)
19:04:06 <Cajun> so i updated my GHC last night to 8.10.5 and im trying to install `friday` from cabal, but its complaining about `accelerate` among other things. i successfully installed `accelerate` yesterday so i have no idea why its complaining about it. output: https://paste.tomsmeding.com/w9xudI7Z
19:05:02 Bartosz joins (~textual@24.35.90.211)
19:05:13 × pbrisbin quits (~patrick@pool-72-92-38-164.phlapa.fios.verizon.net) (Ping timeout: 265 seconds)
19:05:36 <dminuoso> Cajun: So ideally just stop using `cabal install --lib`
19:06:08 arjun joins (~user@user/arjun)
19:06:20 <arjun> dminuoso: back
19:06:25 <arjun> ITS A WIN
19:06:29 <Cajun> in what other way should i go about installing the library?
19:06:31 <dminuoso> The problem has to do with the fact that each project you install produces fixed constraints. This quickly leads to unbuildable projects if you install one lib at a time.
19:06:57 <dminuoso> Cajun: Presumably you're writing some software project, right?
19:07:08 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
19:07:23 <arjun> dminuoso: so what you have to do is. first let it start in whatever target it starts. then you CHANGE the target with `haskell-session-change-target`
19:07:45 warnz joins (~warnz@2600:1700:77c0:5610:d5d8:e36a:2948:a4e3)
19:07:51 <dminuoso> arjun: Ah, that sounds better indeed.
19:08:01 <dminuoso> Im not familiar with haskell interactive mode, so Im just skimming the source
19:08:12 <arjun> dminuoso: you were a real help
19:08:13 <dminuoso> arjun: since you appear to be using haskell-mode yourself
19:08:17 <dminuoso> can you give me 5 minutes of your time?
19:08:27 <arjun> dminuoso: you have em.
19:08:31 <Cajun> dminuoso: working through the parallel/concurrent textbook and `repa-devil` for one of the examples is deprecated in favor of `friday`. i have no idea how to use cabal (i know more about stack, but stack just hates building this project) so adding it to the dependencies seems daunting
19:08:50 <dminuoso> arjun: Can you try and reproduce this one quickly? https://github.com/haskell/haskell-mode/issues/1751
19:08:56 <dminuoso> (please try both terminal and gui mode)
19:09:36 <dminuoso> Cajun: So the usual method is to set up a project directly, use `cabal init`, and then add all dependencies to the build-depends section
19:09:56 <dminuoso> Then, assuming you have a relatively recent version of cabal, you just `cabal build`, and it will automatically grab dependencies for you
19:10:24 <dminuoso> arjun: if you're on nix, dont use my nix expression.
19:10:33 amirouche joins (~amirouche@user/amirouche)
19:10:35 <amirouche> hello
19:10:56 <arjun> dminuoso: i am just reading through the issue now.
19:10:57 jneira_ joins (~jneira_@131.red-79-155-1.dynamicip.rima-tde.net)
19:11:06 <arjun> i was having similar scroll problems
19:11:16 <arjun> solved them by disabling lsp-ui-mode
19:11:33 <amirouche> what is the name of the relation between to predicates p1 and p2, for all x, p1(x) != p2(x)
19:11:34 <amirouche> ?
19:11:39 <amirouche> s/to/two/
19:11:42 <dminuoso> arjun: are you on graphical emacs or terminal?
19:11:53 × warnz quits (~warnz@2600:1700:77c0:5610:d5d8:e36a:2948:a4e3) (Ping timeout: 252 seconds)
19:12:02 × ubert quits (~Thunderbi@p200300ecdf259d37886351c709683887.dip0.t-ipconnect.de) (Quit: ubert)
19:12:08 <arjun> dminuoso: graphical. pgtk nativecomp at that : P
19:12:44 <dminuoso> arjun: then it likely wouldnt reproduce. but give it a run in both gui and terminal
19:12:48 <dminuoso> so far I can only reproduce in terminal
19:13:04 <arjun> i see.
19:13:09 <dminuoso> I havent quite figured out what makes terminal so special, because the underlying issue should be apparent in both
19:13:57 <Cajun> dminuoso: thanks a bunch, im new to cabal and adding it to the project dependencies went entirely over my head
19:14:43 <dminuoso> Cajun: It should be really straight forward. Feel free to present any issue you have
19:16:41 tomsmeding thought the thing of adding dependencies to the project instead of installing them globally worked that way with stack too
19:18:50 × eight quits (~eight@user/eight) (Remote host closed the connection)
19:19:27 × jneira_ quits (~jneira_@131.red-79-155-1.dynamicip.rima-tde.net) (Ping timeout: 258 seconds)
19:20:08 Ed901 joins (~Ed901@73.59.251.217)
19:21:01 × euandreh quits (~euandreh@2804:14c:33:9fe5:fa26:649a:e763:b306) (Quit: WeeChat 3.1)
19:21:11 rawles joins (~o@sputnik.rawles.net)
19:21:17 euandreh joins (~euandreh@2804:14c:33:9fe5:c617:f0e4:6f11:e3af)
19:22:03 darxun joins (sid504814@id-504814.tinside.irccloud.com)
19:22:03 <arjun> dminuoso: i think i do not get what i have to cut paste repeatedly?
19:22:09 <dminuoso> mmm
19:22:35 <arjun> the file is 11575 lines
19:22:56 <dminuoso> arjun: Yes. Go to the last definition of `info`
19:23:01 <dminuoso> And then cut everything below it
19:23:23 <arjun> did
19:23:26 <arjun> now ?
19:23:30 <dminuoso> yank it back in
19:23:32 <dminuoso> repeat 3-4 times
19:23:48 <arjun> undo it?
19:23:51 <dminuoso> No
19:23:53 <arjun> or cut it again?
19:24:00 <dminuoso> you shouldnt even have undo-tree-mode enabled :)
19:24:03 <dminuoso> cut it again
19:24:11 <arjun> yea, i read the instructions
19:24:14 <arjun> disabled it
19:24:36 <dminuoso> the idea is to simulate some editing by removing stuff and inserting it
19:26:23 <dminuoso> The size of chunk is just what I experimentally determined to work fast with just 3-4 cut and yank operations to make scrolling over the top part incredibly slow.
19:26:48 <arjun> dminuoso: can reproduce
19:27:00 <arjun> slow af after 5-6 cut/pastes
19:27:01 <dminuoso> arjun: just on terminal or gui too?
19:27:03 × Ed901 quits (~Ed901@73.59.251.217) (Quit: Client closed)
19:27:18 <arjun> fast af after i M-: (garbage-collect)
19:27:33 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:27:40 <arjun> dminuoso: this was on terminal (emacs -nw)
19:27:51 <dminuoso> Alright, this is good. can you make a not in the issue and include your emacs version, as well as the output of your `C-h v system-configuration-options`
19:28:19 <arjun> its the default terminal gnome emluator not something gpu accelerated like alacritty
19:28:30 <dminuoso> yeah thats fine
19:28:34 <arjun> dminuoso: i guess? give me a sec.
19:28:34 <dminuoso> its not related to the terminal
19:28:49 <dminuoso> Ive pinpointed the immediate cause of the slowness, I just dont know what triggers it
19:29:07 <dminuoso> there's something about the font locking code in haskell-mode that appears to introduce markers for each line inserted
19:29:25 <arjun> lsp-mode scrolling is also screwed up
19:29:30 × phma quits (phma@2001:5b0:210d:afc8:5ec1:374f:fafc:21e6) (Read error: Connection reset by peer)
19:29:37 ddellacosta joins (~ddellacos@86.106.121.100)
19:29:40 phma joins (~phma@host-67-44-209-29.hnremote.net)
19:29:40 <qrpnxz> how come Applicative and Monad are in Control, but Functor is in Data?
19:29:43 <arjun> which gets better after disabling lsp-ui-mode, i found out.
19:29:48 <dminuoso> qrpnxz: hysterical raisins
19:29:55 <qrpnxz> wut
19:30:16 <arjun> qrpnxz: he probably want's to say "historical reasons"
19:30:19 <dminuoso> It's a homophone on "historical reasons"
19:30:25 <geekosaur> "historical reasons" aka nobody really thought things out back then
19:30:30 <qrpnxz> lol
19:30:56 <boxscape> qrpnxz https://www.tweag.io/blog/2020-01-16-data-vs-control/
19:31:02 <qrpnxz> i thought maybe there was a deeper philosophical reason
19:31:04 <qrpnxz> ty box
19:31:17 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
19:32:10 <qrpnxz> oh boy it's bringing up linear types
19:32:12 <qrpnxz> hahaha
19:32:22 voldial joins (~user@195.179.201.175)
19:32:44 <dminuoso> boxscape: That seems more like a retroactive definition.
19:32:51 ormaaj is now known as iteratee
19:32:56 <boxscape> dminuoso ...yes, I suppose it is
19:33:55 <qrpnxz> even if it's retroactive it can be valid. If they put them in the correct modules by accident, it would still be correct xD
19:34:01 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 258 seconds)
19:34:08 <qrpnxz> and they coulda changed it
19:34:27 <boxscape> well, things change slowly in base
19:34:41 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
19:35:10 <boxscape> (for good reason, since you wouldn't want every package maintainer to have to change their import list for this change)
19:36:48 × voldial quits (~user@195.179.201.175) (Changing host)
19:36:48 voldial joins (~user@user/voldial)
19:38:27 <arjun> dminuoso: https://github.com/haskell/haskell-mode/issues/1751#issuecomment-864454402
19:39:02 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds)
19:39:03 iteratee is now known as ormaaj
19:40:29 <dminuoso> arjun: cheers, which exact version did you use?
19:40:52 <arjun> dminuoso: uhm, version of what?
19:41:36 <qrpnxz> interesting article box, thought i don't see how these linearly typed modifications relate to the actual fun, app, mon classes in base
19:41:47 <dminuoso> arjun: your emacs?
19:41:48 warnz joins (~warnz@2600:1700:77c0:5610:d5d8:e36a:2948:a4e3)
19:41:59 × ormaaj quits (~ormaaj@2001:470:69fc:105::35ca) (Quit: Reconnecting)
19:42:17 <arjun> dminuoso: This is GNU Emacs 28.0.50 (build 3, x86_64-pc-linux-gnu, GTK+ Version 3.24.29, cairo version 1.17.4)
19:42:17 <arjun> of 2021-06-04
19:42:18 <arjun> Copyright (C) 2021 Free Software Foundation, Inc.
19:42:18 ormaaj joins (~ormaaj@2001:470:69fc:105::35ca)
19:42:32 <dminuoso> Cheers, could you include that into your comment as well? That's it, you've been a big help./
19:42:53 <arjun> dminuoso: hey, you help people, you get helped. period.
19:43:13 <qrpnxz> nvm i think i get it
19:44:00 × Bartosz quits (~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:44:22 × benin0369 quits (~benin@183.82.205.58) (Ping timeout: 258 seconds)
19:44:32 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158)
19:44:41 <arjun> dminuoso: did the edit.
19:44:43 <arjun> see you around
19:44:43 × rawles quits (~o@sputnik.rawles.net) (Quit: -)
19:45:05 <qrpnxz> boxscape, is it the case then that all functor instances for monad instances are these kinds of linear control functors?
19:45:23 <qrpnxz> and likewise that data.applicatives don't have monad instances?
19:45:50 <boxscape> qrpnxz I believe so, though I haven't thought about it in detail
19:45:50 <qrpnxz> or rather "data.monad" lol
19:45:58 <qrpnxz> very very interesting
19:46:06 × warnz quits (~warnz@2600:1700:77c0:5610:d5d8:e36a:2948:a4e3) (Ping timeout: 244 seconds)
19:46:14 <qrpnxz> thx again
19:46:25 <boxscape> you're welcome
19:47:37 × arjun quits (~user@user/arjun) (Remote host closed the connection)
19:48:12 × fabfianda quits (~fabfianda@mob-5-90-241-140.net.vodafone.it) (Ping timeout: 252 seconds)
19:48:20 benin0369 joins (~benin@183.82.205.58)
19:49:10 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158) (Ping timeout: 265 seconds)
19:49:13 fabfianda joins (~fabfianda@net-109-116-251-109.cust.vodafonedsl.it)
19:49:45 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158)
19:51:53 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Quit: The Lounge - https://thelounge.chat)
19:57:11 zeenk joins (~zeenk@82.76.113.130)
20:00:49 ddellacosta joins (~ddellacos@86.106.121.100)
20:01:02 jneira_ joins (~jneira_@131.red-79-155-1.dynamicip.rima-tde.net)
20:04:15 rawles joins (~o@sputnik.rawles.net)
20:05:04 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds)
20:05:04 × juhp quits (~juhp@128.106.188.66) (Ping timeout: 258 seconds)
20:07:53 juhp joins (~juhp@128.106.188.66)
20:09:32 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
20:09:50 × jao quits (jao@gateway/vpn/protonvpn/jao) (Ping timeout: 252 seconds)
20:11:19 ddellacosta joins (~ddellacos@86.106.121.100)
20:11:52 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
20:12:48 <boxscape> ugh, the haskell report says "variables bound by let have fully polymorphic types while those defined by <-are lambda bound and are thus monomorphic" and then gives the identity laws for <- in terms of let
20:13:02 <boxscape> oh wait
20:13:15 <boxscape> I suppose the let defines a function, which is the same as a lambda
20:13:24 <boxscape> I guess that's the important bit
20:15:56 <boxscape> mainly I'm wondering if having `do {x <- ask; return x}` throw a compile time error, but `ask >>= \x -> return x` work in some situations constitutes a GHC bug or could be seen as expected behavior
20:17:30 warnz joins (~warnz@2600:1700:77c0:5610:d5d8:e36a:2948:a4e3)
20:19:28 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:19:39 × jneira_ quits (~jneira_@131.red-79-155-1.dynamicip.rima-tde.net) (Ping timeout: 265 seconds)
20:19:46 × Morrow quits (~MorrowM_@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 268 seconds)
20:19:49 <boxscape> (this is the example I'm looking at https://paste.tomsmeding.com/RNgN10f2 )
20:19:58 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
20:20:18 <dminuoso> boxscape: which GHC version?
20:20:22 <boxscape> HEAD
20:20:23 Morrow joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net)
20:20:33 <boxscape> (i.e. 9.3)
20:20:34 <dminuoso> Has quicklook been merged into that already?
20:20:37 <boxscape> yes
20:21:09 <dminuoso> Curious, what compilation error do you get?
20:21:22 <boxscape> right, I was going to include that, hold on
20:22:02 × warnz quits (~warnz@2600:1700:77c0:5610:d5d8:e36a:2948:a4e3) (Ping timeout: 265 seconds)
20:22:47 <boxscape> dminuoso https://paste.tomsmeding.com/h9KZpAeO
20:24:20 × stefan-_ quits (~cri@42dots.de) (Ping timeout: 244 seconds)
20:25:27 MorrowM joins (~MorrowM_@bzq-110-168-31-106.red.bezeqint.net)
20:25:30 <dminuoso> boxscape: Judging from the haskell report, your quoted section does seem to apply, no?
20:25:58 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
20:26:11 <boxscape> yes, but I would expect that this shouldn't make the two different? Since x is "lambda bound" in both
20:26:32 × blackbart quits (~sv@pool-173-63-177-191.nwrknj.fios.verizon.net) (Quit: leaving)
20:26:43 <boxscape> (Not sure if you were arguing for it being a bug or it being expected, actually)
20:27:01 <dminuoso> The term "lambda bound" is sadly not defined anywhere
20:27:58 derelict joins (~derelict@user/derelict)
20:28:22 stefan-_ joins (~cri@42dots.de)
20:29:06 × cuz quits (~user@2601:182:cc02:8b0:2101:5597:2ede:b8bf) (Ping timeout: 240 seconds)
20:30:42 <dminuoso> boxscape: but I guess you are right
20:32:17 <dminuoso> boxscape: out of curiosity, is this in GHCi or GHC?
20:32:22 <boxscape> ghci
20:32:58 <dminuoso> I stumbled over some fancy bits suggesting that there's some subtle differences in type checking depending on whether its in GHCi or not....
20:33:03 <dminuoso> o.o
20:33:12 <boxscape> huh, well, I'll try ghc
20:33:35 <boxscape> same thing
20:33:38 <dminuoso> boxscape: judging from the code its the other way around
20:33:42 <dminuoso> ghci admits slightly more
20:33:46 <boxscape> I see
20:36:38 <boxscape> dminuoso it could be that due to RankNTypes variables bound by lambdas can be polymorphic (during checking, but not inference) but that this doesn't extend to variables bound by <-. Which would not need to be covered by the report since it doesn't have RankNTypes
20:38:31 <boxscape> I wonder if I can find an example of this that doesn't need ImpredicativeTypes, but RankNTypes
20:39:19 × xff0x quits (~xff0x@2001:1a81:5339:fe00:214:efbd:9851:b8b5) (Ping timeout: 244 seconds)
20:39:53 Guest9 joins (~Guest9@103.250.137.22)
20:40:27 xff0x joins (~xff0x@2001:1a81:5339:fe00:6f23:db32:56d4:ea84)
20:41:21 × ml90864 quits (~ml90864@81-204-103-231.fixed.kpn.net) (Quit: Lost terminal)
20:45:45 jneira_ joins (~jneira_@131.red-79-155-1.dynamicip.rima-tde.net)
20:45:53 <dminuoso> boxscape: what about `newtype F = F (forall s. s)` and `do { F s <- ... }`?
20:46:18 × MoC quits (~moc@user/moc) (Quit: Konversation terminated!)
20:48:03 <boxscape> dminuoso ah, interesting, that doesn't produce a compile error, and s is indeed polymorphic
20:49:10 <boxscape> I suppose I'll report it as a bug then
20:51:21 × bitmapper quits (uid464869@id-464869.tooting.irccloud.com) (Quit: Connection closed for inactivity)
20:53:50 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 252 seconds)
20:59:08 × neceve quits (~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130) (Ping timeout: 252 seconds)
21:03:49 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
21:04:51 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving)
21:05:14 wootehfoot joins (~wootehfoo@user/wootehfoot)
21:06:34 <boxscape> turns out the Reader newtype isn't necessary, the same thing happens without it, but *only* if ImpredicativeTypes is on, otherwise neither version will compile
21:07:50 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
21:08:05 × jonathanx_ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
21:08:24 jonathanx_ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
21:09:54 × hueso quits (~root@user/hueso) (Ping timeout: 264 seconds)
21:11:19 chazza joins (~igloo@94.5.6.23)
21:12:59 × chazza quits (~igloo@94.5.6.23) (Remote host closed the connection)
21:14:06 hueso joins (~root@user/hueso)
21:15:16 pbrisbin joins (~patrick@pool-72-92-38-164.phlapa.fios.verizon.net)
21:17:48 ddellaco_ joins (~ddellacos@86.106.121.100)
21:20:02 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 265 seconds)
21:20:35 × boxscape quits (~boxscape@user/boxscape) (Quit: Connection closed)
21:21:26 boxscape joins (~boxscape@user/boxscape)
21:23:04 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
21:23:48 × Guest9 quits (~Guest9@103.250.137.22) (Quit: Connection closed)
21:24:37 img joins (~img@user/img)
21:24:47 × xff0x quits (~xff0x@2001:1a81:5339:fe00:6f23:db32:56d4:ea84) (Ping timeout: 244 seconds)
21:24:48 × chrysanthematic quits (~chrysanth@user/chrysanthematic) (Quit: chrysanthematic)
21:25:39 xff0x joins (~xff0x@2001:1a81:5339:fe00:b030:ca5c:f625:5fbb)
21:26:06 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
21:26:48 × ph88^ quits (~ph88@2a02:8109:9e00:7e5c:1960:9d14:60f8:23cf) (Ping timeout: 265 seconds)
21:27:26 × cercerilla quits (~rebecca@024-178-254-009.res.spectrum.com) (Quit: WeeChat 3.2)
21:27:41 bilegeek joins (~bilegeek@2600:1008:b017:63a6:c26d:d119:faaa:a6d7)
21:27:43 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving)
21:37:50 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
21:38:02 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
21:38:20 × finsternis quits (~Y@23.226.237.192) (Remote host closed the connection)
21:39:28 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
21:40:29 <qrpnxz> eh, bind is kind of like traverse. If i map kleisi over a monad and then join it, that's bind. Likewise if i map a "normal" func over a traversal and then sequence it, that's traverse.
21:40:49 <qrpnxz> they both kind of "collapse"
21:40:51 <dminuoso> qrpnxz: not quite
21:41:09 <qrpnxz> what's not quite what
21:41:20 × qbt quits (~edun@user/edun) (Ping timeout: 265 seconds)
21:41:25 <dminuoso> % :t sequence
21:41:26 <yahb> dminuoso: (Traversable t, Monad m) => t (m a) -> m (t a)
21:41:27 <dminuoso> % :t join
21:41:27 <yahb> dminuoso: Monad m => m (m a) -> m a
21:41:53 <qrpnxz> yes
21:41:57 <dminuoso> qrpnxz: sequence sort of "flips" these two around (which amounts to running the effects in some structure, in sequence, while putting the results back in)
21:42:02 <dminuoso> There's no "collapse"
21:42:55 <dminuoso> Let's set t ~ [], m ~ IO and a ~ Int for arguments sake:
21:43:02 <dminuoso> [IO Int] -> IO [Int]
21:43:09 <dminuoso> See how the list is still there at the end?
21:43:12 × Morrow quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 258 seconds)
21:43:38 <qrpnxz> ya know i put scare quotes on that for a reason lol
21:43:46 <qrpnxz> point is they are kinda similar
21:44:04 ddellacosta joins (~ddellacos@86.106.121.100)
21:44:08 <dminuoso> only in the sense that `sequence` uses `join/bind` internally
21:44:14 × egoist quits (~egoist@186.235.85.100) (Ping timeout: 265 seconds)
21:44:15 <dminuoso> but that's the extend of it.
21:44:16 × ddellacosta quits (~ddellacos@86.106.121.100) (Remote host closed the connection)
21:44:22 × ddellaco_ quits (~ddellacos@86.106.121.100) (Read error: Connection reset by peer)
21:44:33 <dminuoso> strictly speaking, it doesnt even need join/bin, applicative is enough
21:44:38 <dminuoso> % :t sequenceA
21:44:39 <yahb> dminuoso: (Traversable t, Applicative f) => t (f a) -> f (t a)
21:45:04 <qrpnxz> i think the idea that there's a map of a certain kind of function and then the results has a magical transformation is what i'm drawn to
21:45:27 <dminuoso> well sure, there's a sort of visual similarity between
21:45:31 <dminuoso> % :t (=<<)
21:45:32 <yahb> dminuoso: Monad m => (a -> m b) -> m a -> m b
21:45:35 <dminuoso> % :t traverse
21:45:36 <yahb> dminuoso: (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b)
21:47:30 <qrpnxz> (=<<) f = join . fmap f and traverse f = sequence . fmap f
21:48:25 <qrpnxz> so then i wonder like monad is a thing in category theory, i wonder if then also traversal has a kind of thing in cat theory as well that is simple idk
21:49:43 <qrpnxz> I think i read somewhere that if you can form a kleisli category for your type then it's a monad. I wonder if there's something like that for tranverse
21:49:55 <qrpnxz> *traverse
21:50:27 <dminuoso> So Im looking at a paper that introduces the notion of a "traversable functor" defined as
21:51:05 <qrpnxz> would that be to traversable as applicative is to monads?
21:51:35 <qrpnxz> sorry i'll let you finish
21:51:44 <dminuoso> T : Set -> Set, equipped with a family of natural transfomrations δ_f_x : TFX - > FTX natural in F and respecting the monoidal structure of applicative functor composition.
21:52:17 <qrpnxz> that's beyond me lol
21:52:25 <qrpnxz> i'll look into it tho
21:52:25 Morrow_ joins (~MorrowM_@bzq-110-168-31-106.red.bezeqint.net)
21:52:59 ph88^ joins (~ph88@2a02:8109:9e00:7e5c:1960:9d14:60f8:23cf)
21:53:10 Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
21:54:11 <dminuoso> Well I guess this really is just a traversable functor
21:54:20 <dminuoso> It's a 1:1 mapping of the traversable laws
21:54:25 <qrpnxz> yes
21:54:33 <dminuoso> If we consider
21:54:37 <dminuoso> traverse (Compose . fmap g . f) = Compose . fmap (traverse g) . traverse f
21:54:40 <dminuoso> traverse Identity = Identity
21:55:06 <dminuoso> Identity being the identity element with respect to functor composition
21:55:28 × MorrowM quits (~MorrowM_@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 258 seconds)
21:55:45 <dminuoso> qrpnxz: but really, its different from monad in a lot of ways
21:56:28 egoist joins (~egoist@186.235.85.100)
21:56:35 <dminuoso> In some way you can think of traversal as being able to update with sequenced effects, but that is independent of which monad being used.
21:56:42 <qrpnxz> Yeah they are for totally different things afaict. It just seemed neat that they kind of "rhyme"
21:57:07 <dminuoso> qrpnxz: If you care for such pleasantries, you might perhaps be interested in the inner workings on `lens` perhaps.
21:57:52 <qrpnxz> i've been looking into lens a lot yeah. The traversal class in particular. The author made a really nice presentation on it that kind of blew my mind and i have to watch it again xd
21:58:09 <dminuoso> Lenses are coalgebras of the costate comonad.
21:58:15 <dminuoso> :)
21:58:19 × Melvar quits (~melvar@dslb-088-066-199-085.088.066.pools.vodafone-ip.de) (Quit: WeeChat 3.0.1)
21:58:25 <qrpnxz> 😂️
21:59:00 <qrpnxz> i'm reading through The Essence of the Iterator Pattern right now thought, because i want better foundation in my head for traversable before i can look more into traversal
21:59:36 chrysanthematic joins (~chrysanth@user/chrysanthematic)
22:01:13 cuz joins (~user@c-24-2-210-18.hsd1.ma.comcast.net)
22:01:16 lavaman joins (~lavaman@98.38.249.169)
22:01:25 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158) (Remote host closed the connection)
22:01:29 × chrysanthematic quits (~chrysanth@user/chrysanthematic) (Client Quit)
22:05:05 laguneucl joins (~Pitsikoko@2a02:587:dc0b:ff00:91aa:a5de:def3:b2bc)
22:05:49 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 258 seconds)
22:05:59 × pbrisbin quits (~patrick@pool-72-92-38-164.phlapa.fios.verizon.net) (Ping timeout: 265 seconds)
22:06:22 sheepduck joins (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com)
22:06:43 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158)
22:08:18 × chomwitt quits (~Pitsikoko@athedsl-351576.home.otenet.gr) (Ping timeout: 268 seconds)
22:09:54 × laguneucl quits (~Pitsikoko@2a02:587:dc0b:ff00:91aa:a5de:def3:b2bc) (Ping timeout: 264 seconds)
22:10:20 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:11:16 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158) (Ping timeout: 265 seconds)
22:11:22 × teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection)
22:12:13 teaSlurper joins (~chris@81.96.113.213)
22:12:37 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 268 seconds)
22:12:42 × jneira_ quits (~jneira_@131.red-79-155-1.dynamicip.rima-tde.net) (Quit: Ping timeout (120 seconds))
22:16:32 ddellacosta joins (~ddellacos@86.106.121.100)
22:16:33 × teaSlurper quits (~chris@81.96.113.213) (Ping timeout: 258 seconds)
22:17:57 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158)
22:19:22 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
22:19:22 jneira_ joins (~jneira_@131.red-79-155-1.dynamicip.rima-tde.net)
22:21:09 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 258 seconds)
22:21:24 Morrow joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net)
22:26:54 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 258 seconds)
22:27:17 × chexum quits (~chexum@gateway/tor-sasl/chexum) (Remote host closed the connection)
22:27:30 chexum joins (~chexum@gateway/tor-sasl/chexum)
22:28:36 × amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
22:29:29 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
22:30:37 × berberman_ quits (~berberman@user/berberman) (Ping timeout: 272 seconds)
22:31:05 berberman joins (~berberman@user/berberman)
22:33:48 × jneira_ quits (~jneira_@131.red-79-155-1.dynamicip.rima-tde.net) (Ping timeout: 258 seconds)
22:40:16 × Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
22:41:46 warnz joins (~warnz@2600:1700:77c0:5610:d5d8:e36a:2948:a4e3)
22:42:55 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:43:22 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
22:45:54 × warnz quits (~warnz@2600:1700:77c0:5610:d5d8:e36a:2948:a4e3) (Ping timeout: 244 seconds)
22:46:38 × sayola quits (~vekto@dslc-082-082-145-205.pools.arcor-ip.net) (Ping timeout: 268 seconds)
22:48:18 jneira_ joins (~jneira_@131.red-79-155-1.dynamicip.rima-tde.net)
22:51:33 ddellacosta joins (~ddellacos@86.106.121.100)
22:56:15 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 265 seconds)
22:57:35 × Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 244 seconds)
22:59:52 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
23:02:34 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
23:02:52 <janus> how can i make a cabal script with {- cabal: ... -} use a dependency from my local system?
23:04:00 finsternis joins (~X@23.226.237.192)
23:05:09 Maxdamantus joins (~Maxdamant@user/maxdamantus)
23:06:30 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3-dev)
23:08:41 × jneira_ quits (~jneira_@131.red-79-155-1.dynamicip.rima-tde.net) (Ping timeout: 258 seconds)
23:10:29 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
23:10:52 <geekosaur> I think both cabal and stack scripts are intended to be "quick and dirty" and don't support things like that
23:11:29 <geekosaur> unless maybe you have distinct versions for local dependencies
23:14:08 × Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 265 seconds)
23:15:35 × jonathanx_ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
23:15:55 jonathanx_ joins (~jonathan@h-178-174-176-109.a357.priv.bahnhof.se)
23:17:07 Maxdamantus joins (~Maxdamant@user/maxdamantus)
23:18:10 hpotsirhc joins (~hpotsirhc@200116b80297f5000cbde6f1c629c814.dip.versatel-1u1.de)
23:20:52 × favonia quits (~favonia@user/favonia) (Ping timeout: 265 seconds)
23:22:41 elf_fortrez joins (~elf_fortr@adsl-64-237-239-58.prtc.net)
23:22:44 × euandreh quits (~euandreh@2804:14c:33:9fe5:c617:f0e4:6f11:e3af) (Quit: WeeChat 3.1)
23:23:46 euandreh joins (~euandreh@2804:14c:33:9fe5:c617:f0e4:6f11:e3af)
23:23:59 × euandreh quits (~euandreh@2804:14c:33:9fe5:c617:f0e4:6f11:e3af) (Client Quit)
23:24:18 × sm2n quits (~sm2n@user/sm2n) (Ping timeout: 264 seconds)
23:24:39 euandreh joins (~euandreh@2804:14c:33:9fe5:c617:f0e4:6f11:e3af)
23:25:25 × zeenk quits (~zeenk@82.76.113.130) (Quit: Konversation terminated!)
23:26:30 × bilegeek quits (~bilegeek@2600:1008:b017:63a6:c26d:d119:faaa:a6d7) (Quit: Leaving)
23:27:53 sm2n joins (~sm2n@user/sm2n)
23:28:16 × grnman_ quits (~gandalf@c-73-49-209-161.hsd1.fl.comcast.net) (Ping timeout: 244 seconds)
23:30:25 ddellacosta joins (~ddellacos@86.106.121.100)
23:34:22 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
23:34:53 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 265 seconds)
23:35:48 grnman_ joins (~gandalf@c-73-49-209-161.hsd1.fl.comcast.net)
23:37:35 <janus> all right
23:40:50 × yoctocell quits (~yoctocell@h87-96-130-155.cust.a3fiber.se) (Ping timeout: 252 seconds)
23:42:08 favonia joins (~favonia@user/favonia)
23:43:35 × ph88^ quits (~ph88@2a02:8109:9e00:7e5c:1960:9d14:60f8:23cf) (Ping timeout: 265 seconds)
23:45:48 lavaman joins (~lavaman@98.38.249.169)
23:46:49 × cuz quits (~user@c-24-2-210-18.hsd1.ma.comcast.net) (Read error: Connection reset by peer)
23:47:54 × favonia quits (~favonia@user/favonia) (Ping timeout: 244 seconds)
23:48:13 favonia joins (~favonia@user/favonia)
23:49:58 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 244 seconds)
23:51:51 waleee joins (~waleee@h-98-128-228-119.NA.cust.bahnhof.se)
23:54:58 × elf_fortrez quits (~elf_fortr@adsl-64-237-239-58.prtc.net) (Ping timeout: 246 seconds)
23:55:33 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
23:57:05 howdy joins (~user@2001:8003:2432:d501:71e9:d3d3:3664:52d2)
23:58:12 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
23:59:22 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)

All times are in UTC on 2021-06-19.