Home liberachat/#haskell: Logs Calendar

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

00:00:13 × warnz quits (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 250 seconds)
00:02:34 Axman6 joins (~Axman6@user/axman6)
00:03:04 × kayprish quits (~kayprish@46.240.143.86) (Remote host closed the connection)
00:03:49 × trufas quits (~trufas@177.240.218.218) (Ping timeout: 258 seconds)
00:04:50 trufas joins (~trufas@177.240.218.218)
00:08:07 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
00:08:10 × LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
00:08:20 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:08:53 notzmv joins (~zmv@user/notzmv)
00:09:59 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
00:16:09 machinedgod joins (~machinedg@24.105.81.50)
00:17:25 Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
00:17:31 × xff0x quits (~xff0x@2001:1a81:533e:6d00:cffe:3614:284d:42ae) (Ping timeout: 268 seconds)
00:18:10 xff0x joins (~xff0x@2001:1a81:533e:6d00:1:e6c4:7154:755f)
00:21:49 dunkeln joins (~dunkeln@94.129.65.28)
00:23:04 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
00:27:23 × dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 268 seconds)
00:29:41 × Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
00:32:44 × oxide quits (~lambda@user/oxide) (Ping timeout: 272 seconds)
00:34:08 × myShoggoth quits (~myShoggot@75.164.51.64) (Ping timeout: 265 seconds)
00:34:27 oxide joins (~lambda@user/oxide)
00:36:24 × Axman6 quits (~Axman6@user/axman6) (Ping timeout: 246 seconds)
00:36:29 Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
00:38:42 delYsid parts (~user@84-115-55-45.cable.dynamic.surfer.at) (ERC (IRC client for Emacs 27.1.50))
00:41:09 fluorescent joins (~fluoresce@41337027.cst.lightpath.net)
00:42:52 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
00:43:11 × Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
00:43:59 <qrpnxz> hm, you can implement first with app
00:44:10 <qrpnxz> with app and arr
00:46:22 × thelounge92306 quits (~thelounge@cpe-75-85-161-60.san.res.rr.com) (Ping timeout: 258 seconds)
00:48:48 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
00:49:42 <qrpnxz> i feel like the hierarchy should be flipped even. What does arrow even *mean* if not "a thing you can apply something to and get something back". arr utterly couples arrows to haskell functions, doesn't seems right
00:50:58 warnz joins (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f)
00:51:38 LukeHoersten joins (~LukeHoers@user/lukehoersten)
00:55:26 <geekosaur> methinks you're just discovering why arrows aren't used much
00:55:33 × warnz quits (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 272 seconds)
00:56:13 <qrpnxz> lol
01:01:35 <monochrom> Right, apart from arr, arrows would be great.
01:04:06 Axman6 joins (~Axman6@user/axman6)
01:06:30 mpt joins (~tom@2a02:908:1862:49e0::6)
01:08:12 neurocyte573 joins (~neurocyte@92.119.8.247)
01:08:12 × neurocyte573 quits (~neurocyte@92.119.8.247) (Changing host)
01:08:12 neurocyte573 joins (~neurocyte@user/neurocyte)
01:10:49 × neurocyte57 quits (~neurocyte@user/neurocyte) (Ping timeout: 268 seconds)
01:10:50 neurocyte573 is now known as neurocyte57
01:12:31 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection)
01:16:46 ph88^ joins (~ph88@2a02:8109:9e00:7e5c:3597:9a37:1bda:731e)
01:16:51 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
01:19:48 × ph88 quits (~ph88@2a02:8109:9e00:7e5c:c945:8dbe:9ded:42d1) (Ping timeout: 268 seconds)
01:21:04 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds)
01:21:54 × xff0x quits (~xff0x@2001:1a81:533e:6d00:1:e6c4:7154:755f) (Ping timeout: 272 seconds)
01:22:36 <qrpnxz> i wonder of doing `arr :: (b -> c) -> a b' c'` would be enough
01:23:22 xff0x joins (~xff0x@2001:1a81:537a:a200:2e28:d841:9fa1:9dcc)
01:29:29 <qrpnxz> or really it should be from an arrow to another arrow?
01:36:07 × derelict quits (~derelict@user/derelict) (Quit: WeeChat 3.2)
01:36:24 derelict joins (~derelict@user/derelict)
01:37:06 × renzhi quits (~xp@2607:fa49:655f:a700::3902) (Ping timeout: 272 seconds)
01:37:52 × hegstal quits (~hegstal@2a02:c7f:7604:8a00:c6b4:633:2502:e963) (Remote host closed the connection)
01:46:08 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
01:47:17 <qrpnxz> nah, arr may be alright after all
01:47:22 khumba joins (~khumba@user/khumba)
01:48:33 <nshepperd> arr would be alright as an entirely separate typeclass for arrows that embed all functions
01:54:31 matsurago joins (~matsurago@nttkyo1752111.tkyo.nt.ngn.ppp.infoweb.ne.jp)
01:57:07 sheepduck joins (~sheepduck@user/sheepduck)
01:57:35 wei2912 joins (~wei2912@112.199.250.21)
02:01:44 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 268 seconds)
02:03:05 machinedgod joins (~machinedg@24.105.81.50)
02:07:19 lavaman joins (~lavaman@98.38.249.169)
02:12:44 × norias quits (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 265 seconds)
02:13:07 × Deide1 quits (~Deide@wire.desu.ga) (Quit: Seeee yaaaa)
02:13:27 × mpt quits (~tom@2a02:908:1862:49e0::6) (Ping timeout: 268 seconds)
02:13:30 norias joins (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net)
02:13:35 Deide joins (~Deide@wire.desu.ga)
02:13:36 × Deide quits (~Deide@wire.desu.ga) (Changing host)
02:13:36 Deide joins (~Deide@user/deide)
02:14:20 <fluorescent> i'm reading haskell from first principles and am struggling on writing the applicative instance for this: newtype Compose f g a = Compose { getCompose :: f (g a) }
02:14:23 <fluorescent> any pointers on how to start?
02:14:36 <fluorescent> the book gives us the type: (<*>) :: Compose f g (a -> b) -> Compose f g a -> Compose f g b
02:14:54 <fluorescent> i know it should be (Compose f) <*> (Compose a) = Compose $ something
02:15:11 <fluorescent> where the type of something should be f (g b), but i'm not sure how to get there
02:15:52 × bilegeek quits (~bilegeek@2600:1008:b015:3e96:6f34:1a42:6ac5:3b86) (Quit: Leaving)
02:17:51 <Axman6> fluorescent: it's worth trying to first write: fmap2 :: (a -> b) -> f (g a) -> f (g b) -- things to take note of are; do yuo have a function with this type? (g a -> g b) -> f (g a) -> f (g b)? what about a function of type (a -> b) -> g a -> g b?
02:18:20 <Axman6> uh, misread a bit, one sec
02:18:34 <fluorescent> if you have the book, it's page 989 :P
02:18:36 × egoist quits (~egoist@186.235.82.105) (Quit: WeeChat 3.2)
02:18:41 <Axman6> do you have a function with the type g (a -> b) -> g a -> g b?
02:19:12 <fluorescent> yeah, f and g are applicative instances
02:19:25 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
02:19:53 <fluorescent> so i am trying to get from f (g (a -> b)) and f (g a) to f (g b)
02:22:46 <c_wraith> are you familiar with liftA2?
02:23:17 <fluorescent> i am not
02:24:30 <fluorescent> but now that i search it up i guess i can just do liftA2 <*>
02:25:02 <c_wraith> :t liftA2
02:25:04 <lambdabot> Applicative f => (a -> b -> c) -> f a -> f b -> f c
02:25:44 <c_wraith> Now, can you see how to implement liftA2 ?
02:27:22 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 272 seconds)
02:28:00 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 272 seconds)
02:28:19 <fluorescent> hmm why is (Compose f) <*> (Compose a) = Compose $ (liftA2 <*>) f a not working
02:28:35 <c_wraith> You need parens around <*>
02:28:38 <Axman6> liftA2 (<*>)
02:28:57 ph88 joins (~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de)
02:29:53 Erutuon joins (~Erutuon@user/erutuon)
02:30:42 <fluorescent> i have no idea how liftA2 is implemented
02:30:58 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:30:58 FinnElija is now known as Guest3750
02:30:58 × Guest3750 quits (~finn_elij@user/finn-elija/x-0085643) (Killed (tin.libera.chat (Nickname regained by services)))
02:30:58 finn_elija is now known as FinnElija
02:31:20 <c_wraith> It only uses (<$>) and (<*>). I bet you can figure it out
02:31:49 <Axman6> note that its type is actually : liftA2 (a -> (b -> c)) -> f a -> (f b -> (f b -> f c))
02:31:57 × ph88^ quits (~ph88@2a02:8109:9e00:7e5c:3597:9a37:1bda:731e) (Ping timeout: 268 seconds)
02:32:00 <Axman6> uh
02:32:03 <Axman6> close
02:33:19 <fluorescent> oh i guess you can do liftA2 f x y = ((fmap f) x) <*> y
02:33:31 <fluorescent> that was a struggle
02:33:33 <fluorescent> lol
02:34:44 <qrpnxz> f <$> x <*> :)
02:35:00 × shredder quits (~user@user/shredder) (Quit: quitting)
02:35:08 × peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 252 seconds)
02:36:25 × eight quits (~eight@user/eight) (Quit: Lost terminal)
02:36:50 shredder joins (~user@user/shredder)
02:37:30 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 272 seconds)
02:38:31 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
02:38:57 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
02:41:28 dunkeln joins (~dunkeln@94.129.65.28)
02:44:12 Guest0 joins (~Guest0@117.230.138.247)
02:45:45 lavaman joins (~lavaman@98.38.249.169)
02:46:22 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
02:46:43 × fluorescent quits (~fluoresce@41337027.cst.lightpath.net) (Ping timeout: 246 seconds)
02:48:30 warnz joins (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f)
02:48:57 <Axman6> f <$> x <*> y -- *
02:50:13 × Guest0 quits (~Guest0@117.230.138.247) (Quit: Client closed)
02:50:34 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 272 seconds)
02:50:55 × td_ quits (~td@94.134.91.75) (Ping timeout: 265 seconds)
02:52:26 td_ joins (~td@muedsl-82-207-238-133.citykom.de)
02:52:42 × dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 272 seconds)
02:53:07 × warnz quits (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 250 seconds)
02:58:35 sekun joins (~sekun@180.190.208.125)
03:02:30 × LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: Textual IRC Client: www.textualapp.com)
03:02:50 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 272 seconds)
03:03:09 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
03:05:12 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
03:06:38 pottsy joins (~pottsy@2400:4050:b560:3700:3771:db3b:d61e:48f1)
03:09:48 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 272 seconds)
03:13:16 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
03:14:05 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
03:14:54 Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
03:17:05 × Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Client Quit)
03:17:24 × acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 272 seconds)
03:17:24 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
03:21:04 Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
03:21:43 × Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Remote host closed the connection)
03:22:00 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 258 seconds)
03:35:43 lavaman joins (~lavaman@98.38.249.169)
03:40:47 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
03:40:50 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
03:42:09 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds)
03:42:09 Lord_of_Life_ is now known as Lord_of_Life
03:45:05 × TranquilEcho quits (~grom@user/tranquilecho) (Quit: WeeChat 2.8)
03:47:11 × sekun quits (~sekun@180.190.208.125) (Ping timeout: 268 seconds)
03:50:45 × norias quits (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 258 seconds)
03:52:54 lavaman joins (~lavaman@98.38.249.169)
03:53:49 × Deide quits (~Deide@user/deide) (Quit: Seeee yaaaa)
03:55:37 × haykam1 quits (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
03:55:51 haykam1 joins (~haykam@static.100.2.21.65.clients.your-server.de)
03:57:40 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
03:59:46 × haykam1 quits (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
04:00:01 haykam1 joins (~haykam@static.100.2.21.65.clients.your-server.de)
04:02:57 × Scotty_Trees quits (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Quit: Leaving)
04:04:26 myShoggoth joins (~myShoggot@75.164.51.64)
04:09:30 sekun joins (~sekun@180.190.208.125)
04:10:14 dunkeln joins (~dunkeln@94.129.65.28)
04:31:03 × acidjnk quits (~acidjnk@p200300d0c72b954690af9c130fd8a450.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
04:34:40 × dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 272 seconds)
04:36:28 ph88^ joins (~ph88@2a02:8109:9e00:7e5c:c022:72e6:8fe0:a81f)
04:39:36 × ph88 quits (~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds)
04:40:25 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
04:43:06 cjb joins (~cjb@user/cjb)
04:49:04 takuan joins (~takuan@178-116-218-225.access.telenet.be)
04:50:07 warnz joins (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f)
04:53:34 × pavonia quits (~user@user/siracusa) (Read error: Connection reset by peer)
04:53:43 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
04:54:42 × warnz quits (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 272 seconds)
04:56:06 chris_ joins (~chris@81.96.113.213)
04:58:02 dunkeln joins (~dunkeln@188.71.193.140)
04:58:05 × chris_ quits (~chris@81.96.113.213) (Read error: Connection reset by peer)
04:58:35 chris_ joins (~chris@81.96.113.213)
05:03:37 v01d4lph4 joins (~v01d4lph4@122.160.65.250)
05:03:37 × v01d4lph4 quits (~v01d4lph4@122.160.65.250) (Changing host)
05:03:37 v01d4lph4 joins (~v01d4lph4@user/v01d4lph4)
05:04:16 pavonia joins (~user@user/siracusa)
05:07:06 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving)
05:09:36 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:11:17 jay-invariant joins (~jay@c-24-4-6-169.hsd1.ca.comcast.net)
05:12:08 elf_fortrez joins (~elf_fortr@adsl-72-50-6-18.prtc.net)
05:12:29 × elf_fortrez quits (~elf_fortr@adsl-72-50-6-18.prtc.net) (Write error: Broken pipe)
05:13:56 × myShoggoth quits (~myShoggot@75.164.51.64) (Ping timeout: 258 seconds)
05:17:22 × oxide quits (~lambda@user/oxide) (Ping timeout: 265 seconds)
05:18:57 × alx741 quits (~alx741@181.196.69.41) (Quit: alx741)
05:19:16 × dolio quits (~dolio@130.44.130.54) (Read error: Connection reset by peer)
05:20:31 dolio joins (~dolio@130.44.130.54)
05:21:33 jneira joins (~jneira@212.8.115.226)
05:21:51 warnz joins (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f)
05:25:04 × ham quits (~ham4@user/ham) (Ping timeout: 256 seconds)
05:26:37 × warnz quits (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 272 seconds)
05:35:15 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 265 seconds)
05:35:38 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
05:37:47 × derelict quits (~derelict@user/derelict) (Ping timeout: 250 seconds)
05:44:20 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
05:44:21 × dunkeln quits (~dunkeln@188.71.193.140) (Ping timeout: 268 seconds)
05:46:00 × xff0x quits (~xff0x@2001:1a81:537a:a200:2e28:d841:9fa1:9dcc) (Ping timeout: 272 seconds)
05:46:32 xff0x joins (~xff0x@2001:1a81:537a:a200:fe39:8213:7a70:2cd1)
05:48:34 derelict joins (~derelict@user/derelict)
05:49:58 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
05:50:22 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
05:51:08 xsperry joins (~as@user/xsperry)
05:51:48 ec2-user joins (~ec2-user@94.147.62.201)
05:53:30 warnz joins (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f)
05:54:48 chomwitt joins (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4)
05:55:04 × xff0x quits (~xff0x@2001:1a81:537a:a200:fe39:8213:7a70:2cd1) (Quit: xff0x)
05:55:46 ham joins (~ham4@user/ham)
05:57:43 × warnz quits (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 250 seconds)
05:58:59 lavaman joins (~lavaman@98.38.249.169)
05:59:07 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
06:03:47 × acid quits (~acid@user/acid) (Ping timeout: 250 seconds)
06:03:50 xff0x joins (~xff0x@2001:1a81:537a:a200:78:fec8:4e97:b67d)
06:04:26 acid joins (~acid@user/acid)
06:08:08 chele joins (~chele@user/chele)
06:08:59 × derelict quits (~derelict@user/derelict) (Ping timeout: 250 seconds)
06:09:21 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Quit: Quit)
06:09:35 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
06:11:34 × sheepduck quits (~sheepduck@user/sheepduck) (Ping timeout: 272 seconds)
06:15:22 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
06:16:25 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 268 seconds)
06:17:40 × Feuermagier quits (~Feuermagi@user/feuermagier) (Ping timeout: 272 seconds)
06:18:44 Gurkenglas joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
06:21:49 ec2-user parts (~ec2-user@94.147.62.201) ()
06:23:39 × matsurago quits (~matsurago@nttkyo1752111.tkyo.nt.ngn.ppp.infoweb.ne.jp) (Quit: Leaving)
06:24:33 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 265 seconds)
06:29:48 lavaman joins (~lavaman@98.38.249.169)
06:31:35 × khumba quits (~khumba@user/khumba) ()
06:31:43 fef joins (~thedawn@user/thedawn)
06:31:50 dunkeln joins (~dunkeln@188.71.193.140)
06:31:51 trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net)
06:34:22 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
06:39:47 CookE[] joins (~thedawn@user/thedawn)
06:41:50 × fef quits (~thedawn@user/thedawn) (Ping timeout: 244 seconds)
06:46:31 × CookE[] quits (~thedawn@user/thedawn) (Remote host closed the connection)
06:48:15 CookE[] joins (~thedawn@user/thedawn)
06:50:53 michalz joins (~michalz@185.246.204.125)
06:53:40 biberu\ joins (~biberu@user/biberu)
06:54:13 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
06:57:24 × biberu quits (~biberu@user/biberu) (Ping timeout: 268 seconds)
06:57:24 biberu\ is now known as biberu
06:59:03 zeenk joins (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3)
06:59:07 fef joins (~thedawn@user/thedawn)
06:59:28 Feuermagier joins (~Feuermagi@user/feuermagier)
07:00:52 derelict joins (~derelict@user/derelict)
07:00:57 × CookE[] quits (~thedawn@user/thedawn) (Ping timeout: 244 seconds)
07:01:37 nerdypepper is now known as np
07:04:05 × finsternis quits (~X@23.226.237.192) (Remote host closed the connection)
07:07:56 mastarija joins (~mastarija@31.217.22.187)
07:09:03 × hololeap quits (hololeap@user/hololeap) (Ping timeout: 244 seconds)
07:11:55 × xsperry quits (~as@user/xsperry) (Ping timeout: 265 seconds)
07:13:39 × derelict quits (~derelict@user/derelict) (Ping timeout: 272 seconds)
07:15:56 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
07:18:32 Feuermagier_ joins (~Feuermagi@213.178.26.41)
07:19:22 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
07:19:40 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds)
07:21:20 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
07:21:29 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
07:22:24 × Feuermagier quits (~Feuermagi@user/feuermagier) (Ping timeout: 268 seconds)
07:25:14 neo joins (~neo3@cpe-292712.ip.primehome.com)
07:28:13 × cjb quits (~cjb@user/cjb) ()
07:29:24 acidjnk joins (~acidjnk@p200300d0c72b954690af9c130fd8a450.dip0.t-ipconnect.de)
07:30:10 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:31:39 xsperry joins (~as@user/xsperry)
07:33:25 × neo quits (~neo3@cpe-292712.ip.primehome.com) (Remote host closed the connection)
07:35:27 × lemmih quits (~lemmih@2406:3003:2072:44:9bcd:6adc:313d:18f9) (Remote host closed the connection)
07:35:46 lemmih joins (~lemmih@2406:3003:2072:44:61f9:9ae9:351e:ea66)
07:37:42 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
07:41:03 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:53:24 jumper149 joins (~jumper149@80.240.31.34)
07:57:32 cfricke joins (~cfricke@user/cfricke)
07:58:03 × notzmv quits (~zmv@user/notzmv) (Read error: Connection reset by peer)
08:06:10 gehmehgeh joins (~user@user/gehmehgeh)
08:06:19 hendursaga joins (~weechat@user/hendursaga)
08:06:24 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
08:08:38 × hendursa1 quits (~weechat@user/hendursaga) (Ping timeout: 244 seconds)
08:11:07 × chomwitt quits (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) (Ping timeout: 268 seconds)
08:13:55 test joins (~test@i16-les04-th2-62-35-126-255.sfr.lns.abo.bbox.fr)
08:14:02 × test quits (~test@i16-les04-th2-62-35-126-255.sfr.lns.abo.bbox.fr) (Client Quit)
08:14:49 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
08:16:20 img joins (~img@user/img)
08:17:27 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
08:17:52 geekosaur joins (~geekosaur@xmonad/geekosaur)
08:19:32 kuribas joins (~user@ptr-25vy0i7mfgcwzzv9qdq.18120a2.ip6.access.telenet.be)
08:19:41 × img quits (~img@user/img) (Client Quit)
08:21:17 img joins (~img@user/img)
08:24:11 <Arahael> For the following type: getContentType :: Monad m => m a -> ContentType; can I actually /use/ that `Monad m` argument at all?
08:25:08 <Arahael> Eg, lets say if a is Int, how can I return a specific content type if the value is 42?
08:25:18 × amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
08:25:25 <shachaf> What value?
08:26:34 <Arahael> I'm trying to implement: https://hackage.haskell.org/package/yesod-core-1.6.20.2/docs/Yesod-Core-Content.html#t:HasContentType
08:26:48 <Arahael> And I can implement it, I think, but only by ignoring that argument.
08:27:12 <Arahael> (That is, I'm trying to make an instance of HasContentType)
08:28:29 <Arahael> Every implementation I can find for an instance seems to ignore that argument.
08:28:32 <kritzefitz> Arahael, the point is, that you don't need to exclusively rely on the `Monad m` instance. If you implement that class e.g. for `instance HasContentType Foo` you know what what type `Foo` actually is and can do things that are specific to that type.
08:28:55 <Arahael> kritzefitz: Yeah... Thing is, I wanted to have a type 'Image', which knows whether it's a jpeg, gif, png, etc.
08:28:57 <kritzefitz> So you're not trying to implement `Monad m => m a -> ContentType` but you're trying to implement `Foo a -> ContentType`.
08:29:13 <Arahael> And I'm thinking I need to define a whole set of different Image types instead of having the one.
08:29:38 <tomsmeding> kritzefitz: note: the m is universally quantified; the instance is for 'a'
08:29:50 <kritzefitz> tomsmeding, oops, right.
08:29:59 <tomsmeding> Arahael: since you only know about 'm' that it's a monad, you're not going to be able to do anything with it :p
08:30:01 <tomsmeding> you're right
08:30:15 tomsmeding was also confused for a while
08:30:16 <int-e> Arahael: you're not going to use m nor a. The function is supposed to return a content type that describes `a`. instance HasContentType Javascript where getContentType _ = "text/javascript; charset=utf-8"
08:31:00 <tomsmeding> Arahael: what you could do, if you don't want to define multiple different Image data types (possibly with newtypes), is have a single Image type that takes a phantom type parameter indicating its "kind of image"
08:31:02 <int-e> Well, the *type* `a` is used, but the value is just a proxy.
08:31:19 <Arahael> tomsmeding: That might work, actually!
08:31:39 <tomsmeding> (you'll need FlexibleInstances to define those instances then, but that's fine I guess)
08:31:53 <int-e> That makes the Monad m => constraint a bit weird though.
08:31:56 boxscape_ joins (~boxscape_@p4ff0b158.dip0.t-ipconnect.de)
08:32:36 <kritzefitz> int-e, yeah, I'm also wondering why they didn't just use `proxy a` wuthout a constraint. That would have been so much more clear.
08:33:01 <int-e> a historic accident, maybe
08:33:45 <Arahael> tomsmeding: Yep, flexible instances is fine.
08:34:09 <Arahael> int-e: The odd thing, though, is that I don't think it even needs it at all - I have to define a type class instance anyway.
08:36:02 ubert joins (~Thunderbi@p200300ecdf259d13a4bb62e26735ec02.dip0.t-ipconnect.de)
08:36:46 × ph88^ quits (~ph88@2a02:8109:9e00:7e5c:c022:72e6:8fe0:a81f) (Quit: Leaving)
08:38:11 Scotty_Trees joins (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net)
08:41:44 <tomsmeding> Arahael: if the type 'a' didn't occur in the type signature of the function, then it wouldn't be callable
08:41:48 <Profpatsch> Can we please have Applicative constructor syntax
08:42:12 <Arahael> tomsmeding: Aha, so they really wanted some sort of proxy.
08:42:14 <Profpatsch> Foo { field1 <- fieldA, field2 <- fieldB }
08:42:24 <tomsmeding> Arahael: that's what it also sounds like to me
08:42:37 × Feuermagier_ quits (~Feuermagi@213.178.26.41) (Read error: Connection reset by peer)
08:42:37 <tomsmeding> Profpatsch: Foo <$> fieldA <*> fieldB ?
08:42:43 <Arahael> tomsmeding: Maybe they just happened to be using it in a monad context and thought "Hey, a Monad m will do!"
08:42:47 Feuermagier joins (~Feuermagi@user/feuermagier)
08:43:05 <tomsmeding> probably, hence int-e's interpretation as a historic accident :)
08:43:11 <Arahael> Makes sense. :)
08:43:42 <Profpatsch> tomsmeding: that’s a non-feature, because position dependence
08:43:54 samhh joins (~samhh@90.252.127.54)
08:44:12 <tomsmeding> non-feature is too strong a word (it's very very useful in a lot of places), but indeed that doesn't cover position-independent construciton
08:44:23 × boxscape_ quits (~boxscape_@p4ff0b158.dip0.t-ipconnect.de) (Quit: Connection closed)
08:44:26 <merijn> Profpatsch: Eh, ApplicativeDo exists? :p
08:44:27 <tomsmeding> Profpatsch: you might check out the ApplicativeDo extension
08:44:27 <Profpatsch> I’m using applicativeDo combined with NamedFieldPuns, but A) it’s verbose and B) it’s too easy to accidentally get monadic
08:44:35 tomsmeding high-5's merijn
08:44:50 <merijn> Profpatsch: Yeah, I don't really like ApplicativeDo for that reason
08:45:00 <merijn> SHE, maybe?
08:45:06 <merijn> That has proper idiom brackets, no?
08:45:21 <Profpatsch> In that case, it will give a nice error message cause I’m using Validation from validation-selective and Kowainik has a Monad instance with a nice “Validation doesn’t support Monads” error
08:46:57 Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
08:47:23 <Profpatsch> I mean I’m probably missing some GHC parser cons here, but { field <- fieldA } looks like the obvious syntax to me that should just work
08:47:53 chomwitt joins (~Pitsikoko@athedsl-16082.home.otenet.gr)
08:47:54 × fef quits (~thedawn@user/thedawn) (Ping timeout: 244 seconds)
08:48:46 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
08:48:47 <merijn> I don't agree, tbh
08:49:08 <merijn> That only looks obvious if you handwave all the very crucial details of "wtf is that even supposed to mean?"
08:49:21 <Profpatsch> syntactic sugar for
08:49:37 <Profpatsch> field <- fieldA >>= \field -> Foo { field }
08:49:47 <merijn> Right, but then it's monadic
08:49:54 <merijn> And you wanted Applicative
08:49:56 <Profpatsch> ah blab
08:49:59 <Profpatsch> yes
08:50:12 <Profpatsch> however applicativeDo generates it
08:50:23 delYsid joins (~user@user/delYsid)
08:50:27 <merijn> "dark heuristic voodoo"
08:50:32 <merijn> Which is bad
08:50:36 <Profpatsch> With the Monad part disabled
08:50:41 <Profpatsch> Just the applicative part
08:50:43 <merijn> And really has no place in a proper compiler, imo
08:50:52 <Profpatsch> I tend to agree
08:51:18 <Profpatsch> heuristics like that in a compiler are kind of horrifying when it might degrade from parallel to linear without notice
08:51:19 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:7930:a54c:f178:5c1a) (Remote host closed the connection)
08:51:36 <Profpatsch> I mean you can do it
08:51:49 <Profpatsch> deriving newtype (Applicative) -- no Monad
08:51:50 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e)
08:52:09 <Profpatsch> And then use your wrapped type instead
08:52:26 <Profpatsch> But applicative do should at least have introduced ado or something
08:52:57 <Profpatsch> Purescript did it right
08:53:14 dhil joins (~dhil@195.213.192.47)
08:53:25 × alex3 quits (~alex3@BSN-77-82-41.static.siol.net) (Ping timeout: 244 seconds)
08:54:17 × chomwitt quits (~Pitsikoko@athedsl-16082.home.otenet.gr) (Ping timeout: 268 seconds)
08:54:23 nshepperd . o O (ado x <- foo; y <- bar in f x y)
08:54:47 <Hecate> ado . ken
08:55:07 boxscape_ joins (~boxscape_@p4ff0b158.dip0.t-ipconnect.de)
08:55:15 × boxscape_ quits (~boxscape_@p4ff0b158.dip0.t-ipconnect.de) (Client Quit)
08:56:15 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) (Ping timeout: 250 seconds)
09:00:07 <tomsmeding> Profpatsch: (\a b c d e f -> Foo e a f b d c) <$> fieldE <*> fieldA <*> fieldF <*> fieldB <*> fieldD <*> fieldC
09:00:43 <tomsmeding> merijn: if the syntax would support exactly only <- arrows, then this would be a perfectly unambiguous desugaring
09:01:18 <tomsmeding> but at that point it's literally syntactic sugar, which I guess could still be nice
09:01:39 × hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
09:01:44 alex3 joins (~alex3@BSN-77-82-41.static.siol.net)
09:01:45 boxscape_ joins (~boxscape_@p4ff0b158.dip0.t-ipconnect.de)
09:02:03 <merijn> tbh, I'm not a big fan of cramming new stuff into Haskell's existing syntax. I'd rather see a number of bigger syntax changes turned into a coherent new grammar and see someone implement a new GHC front-end for this new "non-Haskell" language
09:02:10 lavaman joins (~lavaman@98.38.249.169)
09:02:24 <Profpatsch> ptyhon3 but even worse
09:02:27 <merijn> This insistence of programmers to keep adding new syntax to languages that weren't designed with it in mind is toxic
09:02:43 <merijn> Profpatsch: Repeatedly adding stuff into new languages just converges to the clusterfuck that is C++
09:02:50 <merijn> And Haskell is already headed there
09:03:05 <tomsmeding> in some senses it's already surpassed c++ :p
09:03:20 <merijn> tomsmeding: I disagree, C++ is *really* bad
09:03:23 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
09:03:27 <merijn> Much, much worse than most people think
09:04:07 <Profpatsch> merijn: well, most syntax additions are sugar and can be trivially transformed back
09:04:09 <tomsmeding> -XTransformListComp
09:05:01 <merijn> tomsmeding: See, that one doesn't even really count, because the language was designed with monadic comprehensions and only *later* did they restrict them to lists
09:05:01 <Profpatsch> The surface language should be easy for the human to write
09:05:16 <merijn> Profpatsch: The surface language should be easy for the human to *read*
09:05:19 <delYsid> Profpatsch: Java, then? :-)
09:05:22 <tomsmeding> merijn: not talking about -XMonadComprehensions :p
09:05:24 <merijn> Which means it should be relatively consistent
09:05:25 <Profpatsch> (In favor of removing list comprehensions)
09:05:29 × boxscape_ quits (~boxscape_@p4ff0b158.dip0.t-ipconnect.de) (Changing host)
09:05:29 boxscape_ joins (~boxscape_@user/boxscape)
09:05:31 <merijn> tomsmeding: Yeah, but that's just a generalisation
09:05:31 <tomsmeding> this is the sql-like oddness
09:06:29 <merijn> 50 different special case syntaxes for specific cases doesn't make it easier to write stuff
09:06:32 <merijn> Just look a YAML
09:06:45 <merijn> It has a billion special cases to "be easy for the human to write"
09:06:56 <merijn> With the end result that no sane person even understands what anything means
09:07:00 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
09:07:05 <Profpatsch> <*> and <$> are not syntactic but still an antipattern
09:07:17 <tomsmeding> it's hard, though; if you keep adding special cases to an existing language you end up with c++; if you split languages you get python3; if you do nothing you get... what, exactly?
09:07:25 <merijn> Profpatsch: Disagree, those are just functions
09:07:26 <Profpatsch> Takes hours to learn how they stick together, errors suck, and they aren’t even position-independent
09:07:47 <Profpatsch> merijn: yes, but constructor ordering is plain wrong
09:07:51 <Profpatsch> relying on it
09:07:58 <tomsmeding> that's opinion :p
09:08:24 <merijn> Profpatsch: It's not wrong, it's the only sensible option
09:08:33 <tomsmeding> in the same vein you would be against supporting non-record constructors wholesale, I think
09:08:36 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
09:08:52 × jespada quits (~jespada@90.254.247.46) (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:08:58 <Profpatsch> I mean we can disagree
09:09:01 <merijn> tomsmeding: Oh, that reminds me, is NoFieldSelectors in yet
09:09:14 <Profpatsch> don’t want to list the amount of times somebody was lazy and mixed up fields
09:09:19 <Profpatsch> which were both text
09:09:21 <merijn> Profpatsch: You are free to propose an alternative to constructor ordering that does *not* use "a random heuristic guess"
09:09:30 <merijn> Profpatsch: But I don't think you will be able to
09:09:46 <tomsmeding> merijn: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0160-no-toplevel-field-selectors.rst ("Implemented: 9.2")
09:09:49 <merijn> Profpatsch: Shouldn't use Text as type, imo
09:09:52 <merijn> tomsmeding: \o/
09:09:55 <Profpatsch> merijn: Disallow using constructors in that way in the surface
09:10:02 <merijn> Profpatsch: You can already do that
09:10:03 jespada joins (~jespada@90.254.247.46)
09:10:09 <Profpatsch> merijn: how?
09:10:09 <merijn> Profpatsch: Just don't export the constructor
09:10:18 <merijn> That's what I do for a lot of code
09:10:26 <Profpatsch> then you can’t construct the record?
09:10:36 <Profpatsch> Data.Lens in 3 2 1
09:10:42 <merijn> I don't use lens
09:10:55 <merijn> Haven't had a need for it in the past decade, tbh
09:11:29 <merijn> Profpatsch: I export either parsers/explicit construction functions/etc. from the module defining the record and only use those
09:11:42 <Profpatsch> so builder pattern
09:11:44 <merijn> And aggressively newtype things like Text, Int, etc.
09:11:58 <Profpatsch> Thing is: that’s the verbose thing
09:12:05 <Profpatsch> And the nonverbose thing is the bad thing
09:12:10 <Profpatsch> Which is bad language design
09:12:40 <merijn> Profpatsch: What alternative do you propose that does not involve magic?
09:12:42 <Profpatsch> I mean that train has left the station, but we can at least give some good new defaults
09:12:54 <merijn> It's easy to say "that's bad language design" if you don't have to come up with something better
09:13:03 <merijn> I'm not convinced something better can exist
09:13:21 <Profpatsch> like a linter that disallows construction by field order
09:13:26 <merijn> All the languages that attempt to do "better" seem to settle on "convoluted implicit magic"
09:13:39 warnz joins (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f)
09:13:56 <tomsmeding> record construction syntax seems to be a way that Profpatsch approves of
09:13:59 <Profpatsch> Or maybe even a compiler warning by default
09:14:09 <Profpatsch> Unless it’s a newtype
09:14:31 <merijn> tomsmeding: Everyone's excited about these terrible complicated extensions like LinearHaskell, but me? I'm *hyped* for NoFieldSelectors :>
09:14:55 <tomsmeding> am I excited about LinearHaskell? cool!
09:15:12 <merijn> tomsmeding: Terror is a form of excitement ;)
09:16:11 <Profpatsch> merijn: Ah, nice, NoFieldSelectors sounds like a step in the right direction
09:16:16 <boxscape_> doesn't the same argument apply to function application without keyword args?
09:16:28 <boxscape_> i.e. disallowing positional arguments
09:16:29 <tomsmeding> yes
09:16:41 <Profpatsch> boxscape_: yes
09:16:44 <boxscape_> okay
09:17:27 <merijn> The solution to that problem is: Use a record as function argument, imo
09:17:34 <Unhammer> can I {- HLINT ignore "some hint" -} only in a specific function?
09:17:36 <merijn> Which is something I've been doing *a lot* in my code
09:17:51 <Profpatsch> merijn: yeah, as soon as your function isn’t plumbing, that’s the way to go
09:18:02 <Profpatsch> I just want RowType & Anonymous records :(
09:18:22 <merijn> Profpatsch: That's not happening in Haskell as we know it
09:18:25 × warnz quits (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 272 seconds)
09:18:30 <merijn> Profpatsch: Maybe switch to Ur/Web? ;)
09:18:42 <Profpatsch> Conflicts with inference too much?
09:18:54 tomsmeding . o O ( Unrestricted Web? )
09:19:08 <merijn> tomsmeding: You don't know Ur/Web?
09:19:14 × yauhsien quits (~yauhsien@61-231-57-141.dynamic-ip.hinet.net) (Ping timeout: 268 seconds)
09:19:19 <tomsmeding> heard of it at some point
09:19:19 <Profpatsch> merijn: thanks, I prefer to stick with general purpose langs :)
09:19:47 <merijn> tomsmeding: Imagine if the PHP inventor was actually competent at PL design and fell into a cauldron of type theory as a baby... ;)
09:20:09 <tomsmeding> lol
09:20:12 <Unhammer> oh {- HLINT ignore haveFun "some hint" -} works :)
09:20:15 <merijn> tomsmeding: It's quite cool, but to call it "niche" would be an understatement :p
09:20:18 <merijn> tomsmeding: http://www.impredicative.com/ur/
09:20:26 <boxscape_> merijn: what about https://github.com/ghc-proposals/ghc-proposals/pull/180 ? Or would that not qualify as "as we know it"?
09:20:41 <boxscape_> (tbh it's been a year since I looked at that proposal so I don't remember it very well)
09:21:35 <merijn> boxscape_: That's not even close to a prototype or worked-out implementation
09:21:42 <boxscape_> that's fair
09:22:15 <Profpatsch> merijn: you never know when some company decides that’s what they should put $1M into
09:22:22 <Profpatsch> And then it happens within 5 years
09:22:34 <Profpatsch> Like it happened with linear types
09:22:41 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:23:03 <Profpatsch> Although that’s probably closer to $3–5M at this point
09:23:25 × zeenk quits (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) (Quit: Konversation terminated!)
09:23:33 × azeem quits (~azeem@dynamic-adsl-94-34-9-28.clienti.tiscali.it) (Ping timeout: 250 seconds)
09:23:52 <merijn> I wouldn't consider LinearHaskell "Haskell as we know it" either
09:24:11 azeem joins (~azeem@176.201.40.58)
09:24:23 <Profpatsch> I’m not married to the language as I know it
09:24:35 <Profpatsch> It’s a local maximum at best
09:24:43 <merijn> Oh, agreed
09:24:57 <merijn> But I don't believe *adding stuff* will make it better
09:25:09 <merijn> I think we can do much better than Haskell now
09:25:28 <merijn> I don't believe trying to that *within Haskell* is viable without making the language *worse*
09:26:03 <merijn> I understand the pragmatic reasons why people don't want to create a new language...but that seems like a silly problem, because they're making a new language *anyway*
09:26:03 fendor joins (~fendor@178.165.168.249.wireless.dyn.drei.com)
09:26:45 <Lycurgus> how baked is this thing that's gonna replace haskell?
09:26:53 <merijn> You can't truly use LinearHaskell or DependentHaskell without it spreading throughout your entire code (and dependencies)
09:27:09 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
09:27:27 <merijn> And if you're gonna have to adjust/update/etc. everything drastically anyway, why are we tying ourselves to limitations from the past design of Haskell
09:27:53 <boxscape_> it does solve the coordination problem though, getting people to use a new language is hard, getting people to use new features of the language they already use it much easier
09:28:04 <merijn> boxscape_: Sure
09:28:12 <merijn> boxscape_: And then you converge on C++
09:28:18 <boxscape_> could be
09:28:35 <merijn> boxscape_: I understand *why* it happens as a result of pragmatism
09:28:52 <merijn> boxscape_: That doesn't mean I have to like it
09:29:00 <boxscape_> very true
09:29:21 <merijn> I think it's a stupid mistake that will set us back in the future, the same way C++'s backwards compat is setting it back
09:29:33 <delYsid> merijn: When I saw PureScript for the first time, I was sad for months, because I wanted that, instead of Num and other haskell legacies...
09:29:46 <merijn> It's trading "convenience now" for "how sane this will be 30 years from now"
09:30:00 <boxscape_> Fixing Num is comparatively easy, you only need a new Prelude, not a new language
09:30:22 <Lycurgus> rio
09:30:25 <merijn> Designing a fixed Num is hard, though
09:30:34 <delYsid> Totally easy, so which of the alternative Preludes has managed to gain significant market share? :-)
09:30:40 <merijn> I'm not convinced PureScript's is practically better
09:30:59 <boxscape_> delYsid just because it's comparatively easy doesn't mean it's easy :P
09:31:10 <merijn> delYsid: Most Prelude don't provide enough benefit to justify the cost
09:31:34 <tdammers> at this point, I would like to mention Python 3
09:32:44 <kuribas> Are GADTs worth it for serialized expressions? You are just shifting the type checking from evaluation time to (de)serialisation time...
09:33:48 <merijn> tdammers: Python 3 was mistake for different reasons
09:34:05 <merijn> tdammers: It didn't change enough to be a new language, but *also* didn't provide forward compat
09:34:26 <merijn> Python3 wouldn't have been such a huge clusterfuck if they had provided a way to write 2.7 code that was *also* valid 3.x
09:34:36 <tdammers> merijn: yes, my point is that it paid the cost of breaking changes without enough benefit
09:34:44 <merijn> kuribas: It Depends
09:34:59 <tdammers> merijn: and I believe that "fixing Num" would be a similar breaking change
09:35:00 <merijn> tdammers: Right, but I fear that's the lot of LinearHaskell and DependentHaskell too, tbh
09:35:11 <merijn> tdammers: I think fixing Num is nice in theory
09:35:30 <merijn> tdammers: But I haven't seen any proposals for a fixed Num that's practical enough to justify any changes
09:35:46 <tdammers> exactly. fixing Num is one thing, fixing it without ruining everything for everyone is another
09:35:54 <merijn> We could start by extending Num with bounds checked conversion
09:36:19 <tdammers> I'm thinking maybe a better approach would be introducing a separate, parallel typeclass hierarchy
09:36:21 <merijn> tdammers: I am not even convinced any of the proposed fixes I've seen are actually fixes
09:36:31 <Profpatsch> merijn: You have to keep in mind that it took us 20 years to get to the current state of HAskell
09:36:31 peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
09:36:34 <Profpatsch> GHC haskell
09:36:35 <tdammers> well, the question is of course where you draw the line
09:36:55 <tdammers> Num is arguably too large, and instance Num Double is useful but wrong
09:37:00 <tdammers> but how far do you take it
09:37:12 <merijn> Profpatsch: Eh, you mean 30ish :p
09:37:45 <Profpatsch> so what makes you think the next lang won’t take 30
09:37:46 <merijn> tdammers: "Num Double is wrong" <- see, I don't even necessarily agree with the people whining about that
09:37:53 <merijn> Profpatsch: I'm not saying it wont'
09:38:05 <merijn> Profpatsch: So better start 10 years ago
09:38:40 <Profpatsch> merijn: but that’s after my work life
09:38:40 × Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
09:38:44 <merijn> But, if not 10 years ago, *now* is as good a time at any
09:38:55 <Profpatsch> Idris, Agda etc
09:39:07 <merijn> Agda isn't a programming language, imo
09:39:09 <tdammers> merijn: of course, whether it's "wrong" depends on which semantics and laws you subscribe to in the first place
09:39:13 <merijn> Idris is interesting enough :)
09:39:26 <merijn> tdammers: The real mistake is imagining "lawful math" for Num
09:39:36 <merijn> tdammers: Lawful math is rarely useful on computers, imo
09:39:39 <boxscape_> is IEEE754 + associative?
09:39:45 <merijn> boxscape_: No
09:39:48 <boxscape_> nice
09:40:02 <tdammers> merijn: the "laws" need not be the same as in Math, mind you.
09:40:47 <merijn> boxscape_: IEEE754 guarantees that for any pair of "x `op` y" the result is "the closest representible value to the mathematical ideal result"
09:40:54 <boxscape_> I see
09:41:22 <merijn> boxscape_: But the difference between actual and "mathematical ideal" can be different for 2 pairs of numbers, obviously
09:41:44 <boxscape_> right
09:42:01 <merijn> so "a + (b + c)" first rounds "b + c" to closest representible, then adds 'a', then rounds again. Which may be different from (a + b) + c
09:42:11 <boxscape_> okay, that makes sense
09:43:14 __monty__ joins (~toonn@user/toonn)
09:43:16 <merijn> Contrary to popular opinion on the internet IEEE754 itself is actually well thought out to make it deterministic and possible to reason about accuracy, so there is a coherent system, it just doesn't quite conform to reals
09:43:26 <merijn> So you just gotta abandon the idea of floats being reals
09:44:39 <merijn> boxscape_: For example, associativity and stuff all hold for "integer values below 2^53" (since those are all perfectly representible)
09:45:09 <boxscape_> oka
09:45:10 <boxscape_> y
09:46:09 <merijn> (in general, all laws on the reals hold for any values that are representible, it's only irrepresentible values that introduce errors)
09:46:52 <nshepperd2> which are unfortunately most of them
09:46:55 <kuribas> and then there is rounding modes, how much the implementation adheres to the standard...
09:47:25 <kuribas> It's *very difficult* to make a completely standard complient implementation.
09:47:28 <merijn> kuribas: All languages use the hardware anyway, so that's a moot issue 99% of the time
09:47:54 <merijn> nshepperd2: I mean, most numbers are problematic anyway :p
09:48:10 × mastarija quits (~mastarija@31.217.22.187) (Ping timeout: 272 seconds)
09:48:20 <merijn> nshepperd2: Once you move past the rationals they're all terrible
09:48:54 <nshepperd2> the worst numbers you will ever meet
09:49:15 <nshepperd2> imo the real problem with Num is the inclusion of signum, abs
09:49:48 <nshepperd2> i have written abs = undefined far too many times
09:50:08 <merijn> nshepperd2: Sounds like you should make less Num instances >.>
09:50:37 <kuribas> merijn: rounding modes matter for hardware also.
09:50:40 <merijn> In fact, as a rule of thumb, if you're name isn't edwardk, probably best not be making any Num instances
09:50:58 <merijn> kuribas: Fortunately the OS sets the rounding mode to default when a thread is created
09:51:00 <kuribas> merijn: especially if you want calculations to be reproducable.
09:51:07 <merijn> kuribas: So unless you are explicitly fucking it up, it's fine
09:51:43 <kuribas> merijn: or a library you call?
09:51:51 <merijn> kuribas: That sounds more like you're getting bitten by gcc and it's tendency to use x87 extended precision registers, rather than float rounding
09:52:02 <merijn> kuribas: I've never encountered any libraries that touch rounding mode
09:52:11 <kuribas> right :)
09:52:22 <merijn> So, I dunno, get less shit dependencies if they are touching that? :p
09:52:48 <kuribas> I don't know why floating point gets so much hate. You just have to know how to use it...
09:55:11 <kuribas> obviously don't use it for monitary calculations.
09:56:18 <Rembane> Maybe it's because people are ignorant fools?
09:56:42 <merijn> Rembane: This holds true for most problems :p
09:57:02 <Profpatsch> I never understood why people do number things with haskell
09:57:19 <Profpatsch> Like, everything is working against you.
09:57:38 <Profpatsch> Num, Boxed by default, strange conversion primitives
09:58:04 <Rembane> merijn: Yup. :D
09:58:14 <Rembane> Profpatsch: Maybe they like pain?
09:58:22 <kuribas> Profpatsch: the one advantage is that you can abstract low level primitives, and still get good performance.
09:58:24 nschoe joins (~quassel@178.251.84.79)
09:59:14 notzmv joins (~zmv@user/notzmv)
09:59:37 <Rembane> You don't have to fall back to C
09:59:51 <Profpatsch> I wouldn’t do number things in C either
09:59:51 <kuribas> Working over Vector instead of doing indexed loops.
10:00:15 <boxscape_> what would you use for number things
10:00:23 <Profpatsch> idk, not a number thing person
10:00:34 <Profpatsch> Probably some language that is made for number things
10:00:56 <kuribas> Profpatsch: which one?
10:01:06 <Profpatsch> > idk, not a number thing person
10:01:08 <lambdabot> <hint>:1:4: error: parse error on input ‘,’
10:01:30 <Profpatsch> Ada looks pretty cool for number things
10:01:33 <Profpatsch> GNAT is at hing
10:01:40 pfurla_ joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
10:02:20 <kuribas> I'd like to know of a language that allows me to operate on a (chunked) list of numbers, and emit very efficient assembly code for it.
10:02:51 <kuribas> for example: delta x = zipWith (-) (0:x) x
10:03:06 × Feuermagier quits (~Feuermagi@user/feuermagier) (Read error: Connection reset by peer)
10:03:44 <Rembane> kuribas: APL
10:04:18 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 252 seconds)
10:04:29 × xsperry quits (~as@user/xsperry) (Remote host closed the connection)
10:04:30 <Profpatsch> i mean I guess if you just need to *generate* said number code then Haskell sounds like a sweet deal
10:04:50 <Profpatsch> Unless there’s some frameworks that do that for you in other languages
10:04:52 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
10:04:53 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
10:05:06 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
10:05:23 ChaiTRex joins (~ChaiTRex@user/chaitrex)
10:11:35 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Read error: Connection reset by peer)
10:12:10 × juhp quits (~juhp@bb116-14-48-29.singnet.com.sg) (Quit: juhp)
10:12:14 × azeem quits (~azeem@176.201.40.58) (Ping timeout: 272 seconds)
10:12:23 juhp joins (~juhp@bb116-14-48-29.singnet.com.sg)
10:15:24 azeem joins (~azeem@176.201.40.58)
10:15:35 × neurocyte57 quits (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
10:16:25 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
10:16:46 ChaiTRex joins (~ChaiTRex@user/chaitrex)
10:17:29 neurocyte57 joins (~neurocyte@92.119.8.247)
10:17:29 × neurocyte57 quits (~neurocyte@92.119.8.247) (Changing host)
10:17:29 neurocyte57 joins (~neurocyte@user/neurocyte)
10:22:35 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
10:23:00 × azeem quits (~azeem@176.201.40.58) (Ping timeout: 272 seconds)
10:23:14 azeem joins (~azeem@176.201.40.58)
10:25:49 × amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
10:31:36 Feuermagier joins (~Feuermagi@user/feuermagier)
10:36:02 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
10:37:00 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:42:38 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
10:42:53 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:44:06 × phma quits (phma@2001:5b0:210b:cb38:f3d6:7570:d8d:dd96) (Read error: Connection reset by peer)
10:45:00 phma joins (phma@2001:5b0:211c:8948:6f8b:5fd0:dc14:21f2)
10:50:23 × neurocyte57 quits (~neurocyte@user/neurocyte) (Quit: Ping timeout (120 seconds))
10:50:52 × azeem quits (~azeem@176.201.40.58) (Ping timeout: 272 seconds)
10:53:00 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e)
10:56:45 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
10:57:36 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) (Ping timeout: 272 seconds)
10:57:36 azeem joins (~azeem@176.201.40.58)
10:58:28 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
10:59:11 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:02:06 DNH joins (~DNH@8.43.122.6)
11:02:24 TranquilEcho joins (~grom@user/tranquilecho)
11:03:02 × HotblackDesiato quits (~HotblackD@gateway/tor-sasl/hotblackdesiato) (Remote host closed the connection)
11:03:12 neurocyte57 joins (~neurocyte@92.119.8.247)
11:03:12 × neurocyte57 quits (~neurocyte@92.119.8.247) (Changing host)
11:03:12 neurocyte57 joins (~neurocyte@user/neurocyte)
11:03:33 neurocyte57 is now known as neurocyte
11:03:34 lavaman joins (~lavaman@98.38.249.169)
11:03:35 HotblackDesiato joins (~HotblackD@gateway/tor-sasl/hotblackdesiato)
11:04:48 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
11:05:00 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:06:30 AlexNoo_ joins (~AlexNoo@178.34.161.92)
11:08:08 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 258 seconds)
11:08:25 × Alex_test quits (~al_test@178.34.163.142) (Ping timeout: 250 seconds)
11:09:00 × AlexZenon quits (~alzenon@178.34.163.142) (Ping timeout: 272 seconds)
11:09:44 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
11:10:03 × AlexNoo quits (~AlexNoo@178.34.163.142) (Ping timeout: 258 seconds)
11:11:07 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
11:13:06 matsurago joins (~matsurago@p0446064-vcngn.tkyo.nt.ngn.ppp.ocn.ne.jp)
11:13:52 Alex_test joins (~al_test@178.34.161.92)
11:14:05 AlexZenon joins (~alzenon@178.34.161.92)
11:16:35 × amk quits (~amk@176.61.106.150) (Remote host closed the connection)
11:20:37 delYsid parts (~user@user/delYsid) (ERC (IRC client for Emacs 27.1.50))
11:23:30 × neurocyte quits (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
11:24:51 neo joins (~neo3@cpe-292712.ip.primehome.com)
11:25:42 hegstal joins (~hegstal@2a02:c7f:7604:8a00:ac06:25a4:7233:bcc6)
11:26:50 neo1 joins (~neo3@cpe-292712.ip.primehome.com)
11:27:10 × neo quits (~neo3@cpe-292712.ip.primehome.com) (Client Quit)
11:27:42 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
11:31:18 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
11:32:40 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
11:32:44 neurocyte joins (~neurocyte@92.119.8.247)
11:32:44 × neurocyte quits (~neurocyte@92.119.8.247) (Changing host)
11:32:44 neurocyte joins (~neurocyte@user/neurocyte)
11:34:01 sekun_ joins (~sekun@180.190.223.119)
11:35:44 × sekun quits (~sekun@180.190.208.125) (Ping timeout: 258 seconds)
11:36:45 × fendor quits (~fendor@178.165.168.249.wireless.dyn.drei.com) (Remote host closed the connection)
11:37:30 mastarija joins (~mastarija@31.217.22.187)
11:38:07 × boxscape_ quits (~boxscape_@user/boxscape) (Quit: Connection closed)
11:39:20 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
11:39:52 fendor joins (~fendor@178.165.168.249.wireless.dyn.drei.com)
11:40:10 × Gurkenglas quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 268 seconds)
11:41:37 × dunkeln quits (~dunkeln@188.71.193.140) (Ping timeout: 265 seconds)
11:43:43 dunkeln joins (~dunkeln@188.71.193.140)
11:46:30 Guest33 joins (~textual@c-107-4-204-12.hsd1.mn.comcast.net)
11:54:25 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e)
11:56:56 × ubert quits (~Thunderbi@p200300ecdf259d13a4bb62e26735ec02.dip0.t-ipconnect.de) (Remote host closed the connection)
11:57:14 ubert joins (~Thunderbi@p200300ecdf259d13a4bb62e26735ec02.dip0.t-ipconnect.de)
11:59:00 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) (Ping timeout: 268 seconds)
12:04:56 renzhi joins (~xp@2607:fa49:655f:a700::3902)
12:06:24 × azeem quits (~azeem@176.201.40.58) (Ping timeout: 258 seconds)
12:06:39 azeem joins (~azeem@176.201.40.58)
12:07:47 safinaskar joins (~safinaska@109-252-90-89.nat.spd-mgts.ru)
12:09:49 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
12:12:59 <safinaskar> I want some logical framework, which can handle arbitrary logics. Ideally, description format for logics should be as close as possible to what we see in mathematical papers (for example, see how simply typed lam. cal. defined here: https://en.wikipedia.org/wiki/Simply_typed_lambda_calculus ). In other words, description format should be similar to
12:13:00 <safinaskar> what we have in ott-lang. Now let me say what I don't like in existing logical frameworks. Ott-lang - this is not logical framework, nor a prover, it simply converts its input to other forms, and ott's docs warn users that this conversion is unreliable. Automath, Twelf - too simple, i think all its features can be simply replaced by haskell's or
12:13:00 <safinaskar> agda's GADTs
12:13:51 <Arahael> Is Apple M1 still "not supported"?
12:14:51 <safinaskar> boxscape: ok, thanks for answer!
12:15:48 <Hecate> Arahael: https://www.haskell.org/ghc/blog/20210309-apple-m1-story.html
12:17:00 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 272 seconds)
12:17:47 × acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 268 seconds)
12:18:04 <Arahael> Hecate: Ah, so not /quite/ yet, but "soon"! Thanks for the link, though, it was a good read.
12:18:29 <Hecate> Arahael: you're welcome. :) You can thank bgamari & angerman
12:19:50 <Arahael> For sure. Looks like there's been a _huge_ amount of work involved.
12:19:58 <angerman> Arahael: actually it *is* supported.
12:20:32 <angerman> 8.10.5 has support for it via LLVM. But there are some issues with 8.10.5, so there will be a 8.10.6 release.
12:20:51 <angerman> Arahael: 9.2 will come with a NCG for aarch64-darwin.
12:23:27 <angerman> Arahael: for some recent fun debugging GHC on aarch64-darwin (M1) see https://twitter.com/angerman_io/status/1409459100463734792
12:24:06 <Arahael> angerman: Ah, awesome. The website probably needs to be updated, then?
12:24:46 <angerman> I guess I should pressure Ben into adding an update :-)
12:25:22 <Arahael> angerman: You should! :D
12:26:11 <angerman> Arahael: we’ll the summary kinda says that 8.10.5 will have M1 support. And that 9.2.1 will come an NCG ;-)
12:26:57 <Arahael> angerman: I just saw that it was "not supported" right on https://www.haskell.org/downloads/#linux-mac-freebsd
12:26:59 <angerman> It doesn’t really help that apple calls aarch64 “arm64” and then went overboard with thr M1 branding :-/
12:27:30 <angerman> Ohh lovely yet another page :-)
12:27:46 <Arahael> angerman: Yeah, well, I can understand the M1 branding - supposedly it features a memory mode that lets them emulate the x86 code more efficiently.
12:28:15 <Arahael> angerman: I just literally went: haskell.org -> Downloads -> Linux, OS X and Free BSD!
12:28:27 <Arahael> I must be the only one who uses teh main website in this community! :D
12:28:32 <angerman> Arahael: completely understandable
12:29:09 <Arahael> :)
12:29:12 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
12:29:21 <angerman> Arahael: I just build all my compilers from source anyway, I believe your path is taken by quite a few actually.
12:30:22 <angerman> Arahael: yes. The M1 comes with some features that make Rosetta easier. But when people ask for M1 support they usually mean “native” AArch64/darwin :-)
12:31:02 oxide joins (~lambda@user/oxide)
12:31:53 × berberman quits (~berberman@user/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
12:32:50 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
12:32:54 berberman joins (~berberman@user/berberman)
12:33:10 × Feuermagier quits (~Feuermagi@user/feuermagier) (Ping timeout: 252 seconds)
12:33:19 <Arahael> angerman: Indeed. :)
12:33:55 <Arahael> angerman: Yeah, I prefer to grab binaries for the most part. I flit from language to language and arch too often. :(
12:35:04 <angerman> Perfectly fine. Arahael, maerwald’s ghcup might be for you :-)
12:36:17 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
12:36:22 <Arahael> Nice - interesting, so that works with macos as well? I should get to be.
12:36:23 <Arahael> *bed.
12:37:38 <Arahael> Thanks for the links though, I'll be reading the off-by-one error in particular :)
12:37:40 jakalx joins (~jakalx@base.jakalx.net)
12:37:47 chomwitt joins (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4)
12:39:02 × dunkeln quits (~dunkeln@188.71.193.140) (Ping timeout: 268 seconds)
12:39:39 berberman_ joins (~berberman@user/berberman)
12:40:32 dunkeln joins (~dunkeln@188.71.193.140)
12:40:36 × berberman quits (~berberman@user/berberman) (Ping timeout: 268 seconds)
12:41:04 × haykam1 quits (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
12:41:18 haykam1 joins (~haykam@static.100.2.21.65.clients.your-server.de)
12:47:48 × azeem quits (~azeem@176.201.40.58) (Ping timeout: 258 seconds)
12:47:54 <dminuoso> 14:46:54 boxscape_ | [10:00:15] what would you use for number things
12:48:00 <dminuoso> Potentially FORTRAN.
12:48:15 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
12:48:36 <dminuoso> BLAS or LAPACK are neat for linear algebra
12:49:10 <dminuoso> FORTRAN has this weird habit of still being used widely in lots of number crunching for having quite a few high performance libraries.
12:51:17 × trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection)
12:51:54 trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net)
12:52:24 Feuermagier joins (~Feuermagi@user/feuermagier)
12:52:29 pbrisbin joins (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net)
12:53:01 azeem joins (~azeem@176.201.40.58)
12:53:32 × Reyu[M] quits (~reyureyuz@matrix.reyuzenfold.com) (Remote host closed the connection)
12:54:17 Reyu[M] joins (~reyureyuz@matrix.reyuzenfold.com)
12:54:50 jolly joins (~jolly@208.180.97.158)
12:54:55 × trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Read error: Connection reset by peer)
12:55:27 trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net)
12:56:42 × qoelet quits (~kumo@139.180.144.166) (Ping timeout: 240 seconds)
12:59:47 × cheater quits (~Username@user/cheater) (Ping timeout: 250 seconds)
12:59:48 × Scotty_Trees quits (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Quit: Leaving)
13:00:08 hmmmas joins (~chenqisu1@183.217.200.246)
13:00:28 cheater joins (~Username@user/cheater)
13:01:12 alx741 joins (~alx741@181.196.69.41)
13:05:06 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Read error: No route to host)
13:05:08 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 272 seconds)
13:05:32 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
13:05:55 × jneira quits (~jneira@212.8.115.226) (Quit: Client closed)
13:07:17 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
13:10:06 berberman joins (~berberman@user/berberman)
13:11:26 × berberman_ quits (~berberman@user/berberman) (Ping timeout: 268 seconds)
13:12:12 chris_ joins (~chris@81.96.113.213)
13:12:30 × juhp quits (~juhp@bb116-14-48-29.singnet.com.sg) (Quit: juhp)
13:12:45 juhp joins (~juhp@bb116-14-48-29.singnet.com.sg)
13:14:38 × cheater quits (~Username@user/cheater) (Ping timeout: 258 seconds)
13:15:07 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
13:15:10 cheater joins (~Username@user/cheater)
13:15:16 warnz joins (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f)
13:16:08 safinaskar parts (~safinaska@109-252-90-89.nat.spd-mgts.ru) ()
13:16:22 xsperry joins (~as@user/xsperry)
13:16:22 × dunkeln quits (~dunkeln@188.71.193.140) (Ping timeout: 268 seconds)
13:18:28 × berberman quits (~berberman@user/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
13:19:26 berberman joins (~berberman@user/berberman)
13:19:37 × hmmmas quits (~chenqisu1@183.217.200.246) (Quit: Leaving.)
13:20:06 × warnz quits (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 272 seconds)
13:20:13 × jespada quits (~jespada@90.254.247.46) (Ping timeout: 265 seconds)
13:23:04 jespada joins (~jespada@90.254.247.46)
13:25:00 × azeem quits (~azeem@176.201.40.58) (Ping timeout: 268 seconds)
13:25:17 × berberman quits (~berberman@user/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
13:25:44 <tomsmeding> can I add an additional version constraint to a `stack build` invocation
13:25:45 tam joins (~alpha@163.172.215.78)
13:26:11 berberman joins (~berberman@user/berberman)
13:26:12 <tomsmeding> some dependency depends on a package X with a >= bound but I specifically want the solver to choose a very new version
13:26:27 <tomsmeding> don't need to override anything, just tighten some bounds
13:27:21 azeem joins (~azeem@176.201.40.58)
13:29:16 × cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds)
13:29:29 Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
13:29:54 cheater joins (~Username@user/cheater)
13:34:14 × Feuermagier quits (~Feuermagi@user/feuermagier) (Ping timeout: 265 seconds)
13:34:54 × azeem quits (~azeem@176.201.40.58) (Ping timeout: 272 seconds)
13:37:53 azeem joins (~azeem@176.201.40.58)
13:38:06 × peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 265 seconds)
13:40:30 <tomsmeding> so what might complicate matters is that this package X is a build-tool, namely c2hs
13:40:53 <tomsmeding> can't I just tell stack "whenever you need c2hs for anything, take version 0.28.8"
13:41:07 Sgeo joins (~Sgeo@user/sgeo)
13:41:07 <dminuoso> tomsmeding: Cant you just shadow it with packages?
13:41:30 <dminuoso> You cant just specify arbitrary constraints to pin a version from stackage, because stackage only has curated versions available in the first place.
13:42:25 <tomsmeding> dminuoso: I regularly successfully use arbitrary versions of packages with stack, on stackage and not, by adding an entry in extra-deps
13:42:36 <dminuoso> Mmm
13:42:39 <tomsmeding> I'll try shadowing it but I don't think that will work as it's only an indirect dependency
13:43:52 <dminuoso> See, with nix this is trivial! :D
13:44:03 <tomsmeding> nope the shadowing doesn't seem to work
13:44:12 <tomsmeding> and with cabal it's too :p
13:44:16 <dminuoso> tomsmeding: By indirect you mean a transitive dependency
13:44:19 <dminuoso> Right?
13:44:20 <tomsmeding> sorry, yes
13:44:30 <tomsmeding> my project P depends on A, and A uses c2hs as a build-tool
13:45:20 × v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Remote host closed the connection)
13:47:07 <tomsmeding> thing is, stack is an imposed choice on me :p
13:47:26 <dminuoso> Vendor the package then
13:47:47 <tomsmeding> and change its bound in the cabal file
13:48:39 <tomsmeding> so what I did is clone the package A locally, change its c2hs bound in its cabal file, added that in the 'packages' block in my own stack.yaml, and rebuilt; but it doesn't seem to work
13:49:02 <tomsmeding> though I haven't checked whether the issue is really that this vendoring doesn't help or that c2hs just has _another_ problem
13:49:24 <tomsmeding> (context: c2hs doesn't like gcc 11 https://github.com/haskell/c2hs/issues/268 )
13:49:45 derelict joins (~derelict@user/derelict)
13:51:31 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds)
13:52:43 <boxscape> @pl (\a b c d e f -> Foo e a f b d c) <$> fieldE <*> fieldA <*> fieldF <*> fieldB <*> fieldD <*> fieldC
13:52:43 <lambdabot> ((flip . ((flip . (flip .)) .) . flip . (flip .)) .) . flip . (flip .) . flip Foo <$> fieldE <*> fieldA <*> fieldF <*> fieldB <*> fieldD <*> fieldC
13:52:44 <boxscape> merijn: what about https://github.com/ghc-proposals/ghc-proposals/pull/180 ? Or would that not qualify as "as we know it"?
13:52:45 <boxscape> it does solve the coordination problem though, getting people to use a new language is hard, getting people to use new features of the language they already use it much easier
13:53:20 <tomsmeding> aaargh and now the one package where the vendoring appeared to work earlier, stops working
13:53:33 <tomsmeding> boxscape: flippin' beautiful
13:54:45 × boxscape quits (~boxscape@user/boxscape) (Quit: Reconnecting)
13:56:21 boxscape joins (~boxscape@user/boxscape)
13:56:51 × ormaaj quits (~ormaaj@user/ormaaj) (Quit: Reconnecting)
13:57:01 × Guest33 quits (~textual@c-107-4-204-12.hsd1.mn.comcast.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:58:20 × mastarija quits (~mastarija@31.217.22.187) (Ping timeout: 272 seconds)
13:58:42 warnz joins (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f)
14:00:30 lbseale joins (~lbseale@user/ep1ctetus)
14:02:25 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Quit: mikoto-chan)
14:05:11 MQ-17J joins (~MQ-17J@8.21.10.15)
14:07:07 × trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection)
14:07:17 dunkeln joins (~dunkeln@188.71.193.140)
14:10:29 mastarija joins (~mastarija@31.217.22.187)
14:11:24 fendor_ joins (~fendor@77.119.197.237.wireless.dyn.drei.com)
14:12:02 × acidjnk quits (~acidjnk@p200300d0c72b954690af9c130fd8a450.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
14:13:44 <tomsmeding> apparently I can't even properly influence the cpp executable that c2hs is using, so even giving up and using the gcc-10 that I apparently also have installed requires making a new directory, symlinking cpp-10 there as cpp, and then putting that in PATH before running `stack build`
14:13:50 tomsmeding is annoyed
14:13:52 ormaaj joins (~ormaaj@2001:470:69fc:105::35ca)
14:14:48 × fendor quits (~fendor@178.165.168.249.wireless.dyn.drei.com) (Ping timeout: 272 seconds)
14:14:58 × berberman quits (~berberman@user/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
14:15:27 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
14:15:28 amk joins (~amk@176.61.106.150)
14:15:45 berberman joins (~berberman@user/berberman)
14:16:27 × polux quits (~polux@51.15.169.172) (Quit: The Lounge - https://thelounge.github.io)
14:16:51 polux joins (~polux@51.15.169.172)
14:19:45 norias joins (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net)
14:19:48 × yahb quits (xsbot@user/mniip/bot/yahb) (Ping timeout: 258 seconds)
14:22:01 × azeem quits (~azeem@176.201.40.58) (Ping timeout: 268 seconds)
14:23:06 azeem joins (~azeem@176.201.40.58)
14:25:11 × mniip quits (mniip@libera/staff/mniip) (Quit: This page is intentionally left blank.)
14:26:03 × lbseale quits (~lbseale@user/ep1ctetus) (Read error: Connection reset by peer)
14:28:37 ubert1 joins (~Thunderbi@p200300ecdf259d13e6b318fffe838f33.dip0.t-ipconnect.de)
14:29:09 lbseale joins (~lbseale@user/ep1ctetus)
14:30:01 × sqrt2_ quits (~ben@tunnel330957-pt.tunnel.tserv6.fra1.ipv6.he.net) (Quit: ZNC - http://znc.in)
14:30:12 sqrt2 joins (~ben@tunnel330957-pt.tunnel.tserv6.fra1.ipv6.he.net)
14:31:57 Guest2530 joins (~Guest25@8.21.216.235)
14:32:20 boxscape_ joins (~boxscape_@vpn-44-171.hq.eso.org)
14:33:07 × Guest2530 quits (~Guest25@8.21.216.235) (Client Quit)
14:34:40 <boxscape_> well, apparently the matrix bridge started sending the messages I sent hours ago around half an hour ago, hence my contextless messages previously :)
14:34:53 <tomsmeding> :D
14:38:47 × warnz quits (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Remote host closed the connection)
14:39:58 × azeem quits (~azeem@176.201.40.58) (Ping timeout: 265 seconds)
14:41:38 cheater1__ joins (~Username@user/cheater)
14:43:15 azeem joins (~azeem@176.201.40.58)
14:43:19 × cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds)
14:43:20 cheater1__ is now known as cheater
14:43:33 finsternis joins (~X@23.226.237.192)
14:43:42 yahb joins (xsbot@user/mniip/bot/yahb)
14:43:45 mniip joins (mniip@libera/staff/mniip)
14:43:56 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 268 seconds)
14:43:56 × nschoe quits (~quassel@178.251.84.79) (Ping timeout: 272 seconds)
14:44:05 nschoe joins (~quassel@2a04:cec0:1046:3438:9225:4581:e2d4:35d5)
14:44:51 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
14:45:36 AlexNoo_ is now known as AlexNoo
14:48:15 × chomwitt quits (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) (Ping timeout: 268 seconds)
14:49:38 sander joins (~sander@user/sander)
14:51:43 hexfive joins (~eric@50.35.83.177)
14:51:47 × hexfive quits (~eric@50.35.83.177) (Client Quit)
14:52:04 × mastarija quits (~mastarija@31.217.22.187) (Quit: Leaving)
14:52:37 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
14:53:24 slowButPresent joins (~slowButPr@user/slowbutpresent)
14:53:41 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Client Quit)
14:55:18 slowButPresent joins (~slowButPr@user/slowbutpresent)
14:55:49 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Quit: mikoto-chan)
14:56:01 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e)
14:58:49 Guest33 joins (~textual@c-107-4-204-12.hsd1.mn.comcast.net)
14:59:39 acidjnk joins (~acidjnk@p200300d0c72b9537492df79c17753059.dip0.t-ipconnect.de)
14:59:46 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
15:00:09 Gurkenglas joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
15:00:15 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) (Ping timeout: 250 seconds)
15:04:50 × dunkeln quits (~dunkeln@188.71.193.140) (Ping timeout: 272 seconds)
15:04:51 lavaman joins (~lavaman@98.38.249.169)
15:04:59 myShoggoth joins (~myShoggot@75.164.51.64)
15:05:11 × azeem quits (~azeem@176.201.40.58) (Ping timeout: 268 seconds)
15:05:39 × boxscape_ quits (~boxscape_@vpn-44-171.hq.eso.org) (Changing host)
15:05:39 boxscape_ joins (~boxscape_@user/boxscape)
15:08:08 azeem joins (~azeem@176.201.40.58)
15:09:18 warnz joins (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f)
15:09:22 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
15:09:33 mastarija joins (~mastarija@31.217.22.187)
15:10:27 × nschoe quits (~quassel@2a04:cec0:1046:3438:9225:4581:e2d4:35d5) (Ping timeout: 268 seconds)
15:10:34 shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net)
15:10:44 nschoe joins (~quassel@178.251.84.79)
15:13:17 xkuru joins (~xkuru@user/xkuru)
15:14:09 × warnz quits (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 268 seconds)
15:15:15 × sekun_ quits (~sekun@180.190.223.119) (Ping timeout: 265 seconds)
15:15:43 zava joins (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de)
15:16:01 <zava> hey I'm having issues with a parsec homework. It needs a final touch. Would you guys humor me pls?
15:16:52 × azeem quits (~azeem@176.201.40.58) (Read error: Connection reset by peer)
15:17:17 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:17:24 <jophish> final touches are probably an appropriate part of homework to help with
15:17:50 <c_wraith> you also tend to get better results by just asking your question than you do from asking if you can ask your question
15:17:57 azeem joins (~azeem@dynamic-adsl-94-34-9-28.clienti.tiscali.it)
15:21:28 × xkuru quits (~xkuru@user/xkuru) (Quit: Unvirtualizing)
15:21:35 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e)
15:21:59 <zava> ok thanks you're right c_wraith
15:22:25 peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
15:24:21 <zava> https://controlc.com/4ab86ca3
15:24:50 <zava> the only test failing is sample5
15:25:27 <zava> i want it to throw an error but I don't know how to make haskell check if there's any letter that isn't hexadecimal in there instead of just ignoring it
15:25:39 Erutuon joins (~Erutuon@user/erutuon)
15:26:28 × ormaaj quits (~ormaaj@2001:470:69fc:105::35ca) (Changing host)
15:26:28 ormaaj joins (~ormaaj@user/ormaaj)
15:26:47 <c_wraith> is there a requirement to not use do notation? Because that'd be a lot easier to read with it.
15:26:48 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
15:28:26 <zava> it wasn't mentioned in the lecture + documentation thereof
15:28:33 <zava> I've seen it a lot though
15:28:41 boxscape_89 joins (~boxscape_@p4ff0b158.dip0.t-ipconnect.de)
15:29:41 × DNH quits (~DNH@8.43.122.6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:31:25 × boxscape_ quits (~boxscape_@user/boxscape) (Ping timeout: 268 seconds)
15:32:13 <c_wraith> as a side note, you could benefit from using string instead of char multiple times, when matching the prefix
15:33:54 <c_wraith> anyway... you pass test 6, but fail test 5? that's unusual
15:34:07 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1)
15:35:18 <c_wraith> oh, I see, test 6 fails on the prefix. Missed that.
15:35:33 <zava> oh yes true
15:36:01 <c_wraith> ok. first thing I'd do is add sample7 = "0xag" and add it to your test suite
15:36:08 warnz joins (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f)
15:36:14 <c_wraith> see if that is failing the same way as sample5
15:36:23 <c_wraith> if it is, you know both branches have the same problem
15:36:54 dunkeln joins (~dunkeln@188.71.193.140)
15:37:49 <zava> expected "" but got "0xa"
15:39:11 <c_wraith> Ok, I just checked... the problem isn't your grammar, exactly. It's how runParsec/runP work :)
15:39:45 <c_wraith> runParser (string "ab") () "" "abc" --> Right "ab"
15:39:53 <zava> y
15:40:16 <zava> runP (string "ab") () "" "cab" --> Left ...
15:40:44 <c_wraith> as long as the parser succeeds, it doesn't care if there was extra input
15:40:57 × warnz quits (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 272 seconds)
15:41:16 <c_wraith> I think in parsec, your best way of handling this is to use eof
15:41:35 <zava> oh yes I saw that somewhere in the lecture
15:41:44 DNH joins (~DNH@8.44.0.30)
15:41:51 <zava> do you have an usecaseexample?
15:41:53 <c_wraith> runParser (string "ab" >> eof) () "" "abc" --> Left ...
15:42:17 <zava> cool let me try
15:42:25 <merijn> Classic mistake :)
15:42:48 <c_wraith> to be honest, ignoring extra input is a weird default
15:42:51 <merijn> <- adds eof at the end of every parser out of paranoid habit :p
15:43:00 <merijn> c_wraith: It makes sense when you wanna compose things
15:43:24 <merijn> c_wraith: You'd just expect a convenient "parseFinal x = runParser (x >> eof)" to exist
15:43:31 <c_wraith> but runParser doesn't return anything you can use to compose.
15:43:50 <zava> ((char '0' >>= \s -> char 'x' >>= \t -> many1 hexDigit >>= \u >> eof -> return (Hex ([s,t] ++u))) like this I get a parseerror for ">>". changing it to "->" didnt work either
15:44:14 <c_wraith> You should add the eof in your call to runP, not as part of hexParser
15:45:17 <c_wraith> err, parseHex
15:45:35 <c_wraith> If you put it in parseHex, you break the ability to compose parseHex with other parsers
15:46:37 <zava> hmm I'm sorry I'm stuck
15:46:48 <zava> I tried putting it behind parseHex in the parse method
15:46:54 <zava> brb 5 min
15:47:10 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:50:49 <c_wraith> oh. I see, the problem is that >> means the parser is returning ()
15:51:01 <c_wraith> you could change that to <* instead of >>
15:52:08 <c_wraith> or if you're unfamiliar with that operator, you could do the standard dance (parseHex >>= \h -> eof >> return h)
15:52:22 <c_wraith> Those do the same thing
15:53:20 × ubert1 quits (~Thunderbi@p200300ecdf259d13e6b318fffe838f33.dip0.t-ipconnect.de) (Quit: ubert1)
15:53:33 <zava> lol now it works
15:53:35 <zava> thanks a lot!
15:53:39 lavaman joins (~lavaman@98.38.249.169)
15:53:51 <zava> (parseHex <* eof) did the trick
15:54:19 × Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
15:54:23 <c_wraith> yeah, that operator means "do the left argument, do the right argument, return the value returned by the left argument"
15:54:51 <c_wraith> which is what was breaking things with (>>) - it was returning the value returned by the right argument
15:55:36 <zava> so what it does it checks that after those hexDigits there are no other digits anymore
15:55:53 <c_wraith> it checks that it used the entire input string
15:56:00 <c_wraith> so yes
15:56:07 <zava> and since there is g it fails. thanks a lot :) my friend just solved it with -> notFollowedBy alphaNum >> return...
15:56:36 hololeap joins (hololeap@user/hololeap)
15:56:36 <c_wraith> yeah, if you check the docs for eof, it mentions that it's implemented with notFollowedBy
15:56:48 <c_wraith> https://hackage.haskell.org/package/parsec-3.1.14.0/docs/Text-Parsec.html#v:eof
15:57:26 <zava> ah now it all falls into place
15:57:33 × MQ-17J quits (~MQ-17J@8.21.10.15) (Ping timeout: 258 seconds)
15:58:00 × hololeap quits (hololeap@user/hololeap) (Client Quit)
15:58:51 <zava> thanks again!
15:59:44 hololeap joins (~hololeap@user/hololeap)
16:01:28 maex is now known as mstruebing
16:02:16 × jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.1)
16:02:35 × ubert quits (~Thunderbi@p200300ecdf259d13a4bb62e26735ec02.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
16:05:19 jneira[m] joins (~jneira@211.red-176-87-26.dynamicip.rima-tde.net)
16:06:25 eight joins (~eight@user/eight)
16:08:44 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
16:09:26 pavonia joins (~user@user/siracusa)
16:11:01 warnz joins (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f)
16:13:21 × samhh quits (~samhh@90.252.127.54) (Quit: samhh)
16:14:16 × neurocyte quits (~neurocyte@user/neurocyte) (Read error: Connection reset by peer)
16:14:50 neurocyte joins (~neurocyte@92.119.8.247)
16:14:50 × neurocyte quits (~neurocyte@92.119.8.247) (Changing host)
16:14:50 neurocyte joins (~neurocyte@user/neurocyte)
16:15:24 Guest9 joins (~Guest9@103.250.145.230)
16:15:32 × warnz quits (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 272 seconds)
16:19:06 safinaskar joins (~safinaska@109.252.90.89)
16:19:22 <safinaskar> give me some examples of logical frameworks, please
16:19:32 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 265 seconds)
16:19:39 <safinaskar> i am already aware of metamath, automath, twelf, isabelle/pure
16:19:49 × jneira[m] quits (~jneira@211.red-176-87-26.dynamicip.rima-tde.net) (Remote host closed the connection)
16:19:54 <safinaskar> and ott-lang
16:20:43 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) (Remote host closed the connection)
16:22:07 <janus> safinaskar: did you see this table? https://en.wikipedia.org/wiki/Proof_assistant#System_comparison
16:22:45 <janus> doesn't really focus on the libraries though...
16:22:59 <safinaskar> janus: this is provers, i need logical frameworks
16:23:11 <safinaskar> i. e. systems, where i can describe my own logic
16:26:37 <janus> safinaskar: but you can describe your own logic upon any consistent logical calculus, no?
16:26:44 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
16:27:19 <safinaskar> janus: yes, but i want special features for working with arbitrary logics
16:27:37 <safinaskar> janus: for example, proof search, at least for syntax-directed rules
16:28:44 <janus> proof search, isn't that just another word for "code generation" ? ;)
16:29:39 <safinaskar> possibly
16:29:57 <safinaskar> is there some way to find at least one inhabitant of given GADT? GADTs are essentially logics, for example, this GADT https://paste.debian.net/1202729/ (written in agda, but can be trivially rewritten in haskell) represent implicational logic. is there some tool to search inhabitants of such GADTs? (This would mean proof search for arbitrary
16:29:58 <safinaskar> logics)
16:30:19 warnz joins (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f)
16:30:44 × haykam1 quits (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
16:30:56 haykam1 joins (~haykam@static.100.2.21.65.clients.your-server.de)
16:31:42 × haykam1 quits (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
16:31:51 yoctocell joins (~user@h87-96-130-155.cust.a3fiber.se)
16:31:52 <dolio> That is an undecidable problem in general.
16:33:22 <safinaskar> yes, but for syntax-directed logics we can do it
16:33:40 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
16:33:41 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
16:33:52 mekeor joins (~user@2001:a61:3430:c01:f86:cca7:c1fe:e2b4)
16:35:19 <safinaskar> is there some article on equivalence of GADTs and logics?
16:36:15 <safinaskar> it seems, i can proof isomorphism of two logics by giving functions for converting between GADTs. is there some article (say, blog) on this? am i really first to notice this? :)
16:37:38 × wei2912 quits (~wei2912@112.199.250.21) (Quit: Lost terminal)
16:38:41 × chele quits (~chele@user/chele) (Remote host closed the connection)
16:38:42 × azeem quits (~azeem@dynamic-adsl-94-34-9-28.clienti.tiscali.it) (Read error: Connection reset by peer)
16:38:49 <dolio> I don't know exactly what you mean, but e.g. the proof search in Twelf is just like a logic programming language. It has ways of proving that a search will terminate, but not all searches will be provably terminating. Likely even some searches that do terminate won't be provably terminating in its system.
16:38:58 hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com)
16:40:58 chomwitt joins (~Pitsikoko@athedsl-16082.home.otenet.gr)
16:42:45 <safinaskar> dolio: thanks, i will look at it
16:43:17 × matsurago quits (~matsurago@p0446064-vcngn.tkyo.nt.ngn.ppp.ocn.ne.jp) (Quit: Leaving)
16:44:06 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e)
16:44:19 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
16:45:52 fresheyeball joins (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net)
16:48:07 killsushi joins (~killsushi@user/killsushi)
16:48:46 × MidAutumnMoon quits (~MidAutumn@user/midautumnmoon) (Quit: Leaving for a break - theLounge)
16:49:22 MidAutumnMoon joins (~MidAutumn@user/midautumnmoon)
16:49:47 × DNH quits (~DNH@8.44.0.30) (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:49:50 × neurocyte quits (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
16:50:51 DNH joins (~DNH@2a09:bac0:67::82c:1e)
16:53:26 × xff0x quits (~xff0x@2001:1a81:537a:a200:78:fec8:4e97:b67d) (Ping timeout: 268 seconds)
16:53:32 neurocyte joins (~neurocyte@92.119.8.247)
16:53:32 × neurocyte quits (~neurocyte@92.119.8.247) (Changing host)
16:53:32 neurocyte joins (~neurocyte@user/neurocyte)
16:54:10 xff0x joins (~xff0x@2001:1a81:537a:a200:e696:8622:74d:d095)
16:55:34 azeem joins (~azeem@dynamic-adsl-94-34-9-28.clienti.tiscali.it)
16:55:57 haykam1 joins (~haykam@static.100.2.21.65.clients.your-server.de)
16:56:17 × DNH quits (~DNH@2a09:bac0:67::82c:1e) (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:56:18 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
16:56:18 son0p joins (~ff@181.136.122.143)
16:56:31 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:57:28 kayprish joins (~kayprish@46.240.143.86)
16:59:50 chris_ joins (~chris@81.96.113.213)
17:02:01 neo joins (~neo3@136.144.35.93)
17:03:41 DNH joins (~DNH@2a09:bac0:48::82b:7a06)
17:04:32 × chris_ quits (~chris@81.96.113.213) (Ping timeout: 272 seconds)
17:04:45 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
17:04:58 × neo1 quits (~neo3@cpe-292712.ip.primehome.com) (Ping timeout: 265 seconds)
17:05:40 MQ-17J joins (~MQ-17J@8.21.10.15)
17:07:04 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
17:08:31 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:10:25 chris_ joins (~chris@81.96.113.213)
17:12:40 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.1)
17:13:24 × mastarija quits (~mastarija@31.217.22.187) (Ping timeout: 272 seconds)
17:14:38 × neo quits (~neo3@136.144.35.93) (Ping timeout: 265 seconds)
17:14:55 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
17:15:21 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
17:17:09 × nschoe quits (~quassel@178.251.84.79) (Ping timeout: 268 seconds)
17:17:40 × alx741 quits (~alx741@181.196.69.41) (Ping timeout: 258 seconds)
17:18:01 × MQ-17J quits (~MQ-17J@8.21.10.15) (Ping timeout: 265 seconds)
17:19:06 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
17:20:19 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:22:45 × kuribas quits (~user@ptr-25vy0i7mfgcwzzv9qdq.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
17:24:03 Sherin joins (~Sherin@184.22.66.254)
17:24:04 <Sherin> There is war between Libera/Freenode. Don't suffer come to irc freenode chat <== new network for only chat.
17:24:05 <Sherin> Come fast register your channel, first come, first serve basis.
17:24:12 × DNH quits (~DNH@2a09:bac0:48::82b:7a06) (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:24:20 ChanServ sets mode +o monochrom
17:24:25 monochrom sets mode +b *!*@184.22.66.254
17:24:25 Sherin is kicked by monochrom (Sherin)
17:25:47 chris_ joins (~chris@81.96.113.213)
17:26:07 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
17:26:15 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:26:45 <Hecate> thanks monochrom
17:26:47 MQ-17J joins (~MQ-17J@8.21.10.15)
17:27:04 <maerwald> Sherin is the name of a german beauty vlogger afair
17:27:17 <Hecate> yeah it's a fairly common north-african name as well
17:27:43 <maerwald> I guess it's not her though ;p
17:28:25 chris__ joins (~chris@81.96.113.213)
17:28:43 <janus> in absense of better evidence, i will apply occams razor and assume it was the vlogger
17:28:56 × chris_ quits (~chris@81.96.113.213) (Read error: Connection reset by peer)
17:30:21 alx741 joins (~alx741@186.178.109.202)
17:31:40 mastarija joins (~mastarija@31.217.22.187)
17:31:46 <maerwald> reasonable
17:31:46 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
17:31:58 <Hecate> janus: hahaha
17:32:03 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:32:52 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:33:26 × whiteline quits (~whiteline@c-cda8d954.54725-0-757473696b74.bbcust.telenor.se) (Ping timeout: 272 seconds)
17:35:31 DNH joins (~DNH@2a09:bac0:48::82b:7a06)
17:37:28 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
17:37:33 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
17:37:57 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:40:01 × ziman quits (~ziman@user/ziman) (Ping timeout: 272 seconds)
17:40:25 y04nn joins (~y04nn@91.193.4.106)
17:41:27 × xff0x quits (~xff0x@2001:1a81:537a:a200:e696:8622:74d:d095) (Ping timeout: 250 seconds)
17:41:45 xff0x joins (~xff0x@185.65.135.235)
17:41:49 × MQ-17J quits (~MQ-17J@8.21.10.15) (Ping timeout: 268 seconds)
17:42:07 safinaskar parts (~safinaska@109.252.90.89) ()
17:44:27 × chris__ quits (~chris@81.96.113.213) (Remote host closed the connection)
17:45:44 dwt_ joins (~dwt_@c-98-200-58-177.hsd1.tx.comcast.net)
17:46:00 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
17:46:07 chris_ joins (~chris@81.96.113.213)
17:47:22 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:47:24 <fresheyeball> any advice on finding missed fusion?
17:48:14 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
17:49:33 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
17:49:40 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:50:14 chris_ joins (~chris@81.96.113.213)
17:52:04 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
17:56:33 ubert joins (~Thunderbi@p200300ecdf259d13a4bb62e26735ec02.dip0.t-ipconnect.de)
17:57:01 × killsushi quits (~killsushi@user/killsushi) (Read error: Connection reset by peer)
17:57:37 xcmw joins (~textual@50.93.222.105)
17:58:07 killsushi joins (~killsushi@cpef0f249442b03-cmf0f249442b00.cpe.net.cable.rogers.com)
17:58:07 × killsushi quits (~killsushi@cpef0f249442b03-cmf0f249442b00.cpe.net.cable.rogers.com) (Changing host)
17:58:07 killsushi joins (~killsushi@user/killsushi)
17:58:22 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
17:59:29 chris_ joins (~chris@81.96.113.213)
17:59:52 shapr fires up the cold fusion reactor
18:00:46 v01d4lph4 joins (~v01d4lph4@user/v01d4lph4)
18:01:16 × xff0x quits (~xff0x@185.65.135.235) (Ping timeout: 268 seconds)
18:01:36 × derelict quits (~derelict@user/derelict) (Ping timeout: 268 seconds)
18:01:50 × fendor_ quits (~fendor@77.119.197.237.wireless.dyn.drei.com) (Read error: Connection reset by peer)
18:02:56 xff0x joins (~xff0x@2001:1a81:537a:a200:e696:8622:74d:d095)
18:03:24 fendor joins (~fendor@77.119.197.237.wireless.dyn.drei.com)
18:04:04 × chris_ quits (~chris@81.96.113.213) (Ping timeout: 272 seconds)
18:09:16 ec joins (~ec@gateway/tor-sasl/ec)
18:09:37 × ubert quits (~Thunderbi@p200300ecdf259d13a4bb62e26735ec02.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
18:10:55 Ariakenom joins (~Ariakenom@c83-255-154-140.bredband.tele2.se)
18:12:15 × Guest33 quits (~textual@c-107-4-204-12.hsd1.mn.comcast.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:12:25 × xcmw quits (~textual@50.93.222.105) (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:13:39 × hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 244 seconds)
18:18:54 × Ariakenom quits (~Ariakenom@c83-255-154-140.bredband.tele2.se) (Quit: Leaving)
18:19:04 cyclosa joins (~cyclosa@2603-6011-4a41-8ada-0000-0000-0000-0eaa.res6.spectrum.com)
18:19:40 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
18:19:57 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
18:20:40 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
18:20:48 chris_ joins (~chris@81.96.113.213)
18:22:36 whiteline joins (~whiteline@c-cda8d954.54725-0-757473696b74.bbcust.telenor.se)
18:22:43 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
18:24:20 × peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 272 seconds)
18:24:38 × v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Remote host closed the connection)
18:25:10 v01d4lph4 joins (~v01d4lph4@user/v01d4lph4)
18:25:29 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
18:26:20 safinaskar joins (~safinaska@109.252.90.89)
18:26:39 derelict joins (~derelict@user/derelict)
18:26:41 <safinaskar> https://www.haskell.org/ghc/blog/20210309-apple-m1-story.html says that ghc native code generator is faster on x86_64 than llvm
18:26:45 <safinaskar> why it is faster?
18:28:38 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
18:29:04 <geekosaur> because it can't pass the right information to llvm for it to handle CPS-transformed code, so llvm pessimizes it
18:29:20 × haykam1 quits (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
18:29:23 <geekosaur> it would require llvm changes to do it right
18:29:34 × v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Ping timeout: 252 seconds)
18:29:48 chris_ joins (~chris@81.96.113.213)
18:30:00 haykam1 joins (~haykam@static.100.2.21.65.clients.your-server.de)
18:30:57 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:31:24 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
18:31:40 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:32:03 trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net)
18:32:07 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
18:32:08 <safinaskar> but ghc can output good assembly. why it cannot output good llvm?
18:32:23 <geekosaur> because llvm is not assembly
18:32:50 <safinaskar> is there some blog article on this?
18:32:53 <geekosaur> it's an intermediate representation which gets translated to assembly later on. and that transl;ation is what gets pessimized when the IR is CPS-transformed
18:33:04 <geekosaur> probably but you'll need to go back a few years
18:33:06 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
18:34:29 × trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Client Quit)
18:34:34 × chris_ quits (~chris@81.96.113.213) (Ping timeout: 268 seconds)
18:35:07 × lbseale quits (~lbseale@user/ep1ctetus) (Remote host closed the connection)
18:35:33 lbseale joins (~lbseale@user/ep1ctetus)
18:35:42 × alx741 quits (~alx741@186.178.109.202) (Quit: alx741)
18:36:03 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
18:38:16 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
18:40:47 ec joins (~ec@gateway/tor-sasl/ec)
18:40:51 <safinaskar> geekosaur: thanks
18:40:56 safinaskar parts (~safinaska@109.252.90.89) ()
18:42:02 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
18:42:09 <zzz> i wish length/size belonged to a Sizeable class or something
18:42:13 hendursaga joins (~weechat@user/hendursaga)
18:42:48 alx741 joins (~alx741@186.178.109.202)
18:43:25 <tomsmeding> more general than Foldable?
18:43:40 × alx741 quits (~alx741@186.178.109.202) (Client Quit)
18:44:01 alx741 joins (~alx741@186.178.109.202)
18:44:02 × yoctocell quits (~user@h87-96-130-155.cust.a3fiber.se) (Quit: ERC (IRC client for Emacs 28.0.50))
18:44:11 P1RATEZ joins (piratez@user/p1ratez)
18:44:41 <zzz> wait a minute...
18:44:46 <tomsmeding> :t length
18:44:47 <lambdabot> error:
18:44:47 <lambdabot> Ambiguous occurrence ‘length’
18:44:47 <lambdabot> It could refer to
18:44:57 <tomsmeding> :t Data.Foldable.length
18:44:58 <lambdabot> Foldable t => t a -> Int
18:45:12 geekosaur joins (~geekosaur@xmonad/geekosaur)
18:46:35 <zzz> tomsmeding: thank you for your rubber ducking services
18:46:46 ziman joins (~ziman@c25-5.condornet.sk)
18:48:41 <tomsmeding> zzz: I have a small collection of them so glad to serve
18:48:56 <zzz> :) i could have sworn i couldn't do length on Sets
18:49:20 <geekosaur> once upon a time you couldn't,, then came Foldable
18:49:48 × DNH quits (~DNH@2a09:bac0:48::82b:7a06) (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:51:07 × neurocyte quits (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
18:51:36 <tomsmeding> is ,, what happens when you merge , and ... ?
18:52:02 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) (Remote host closed the connection)
18:52:17 × ziman quits (~ziman@c25-5.condornet.sk) (Changing host)
18:52:17 ziman joins (~ziman@user/ziman)
18:52:20 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:52:57 × mekeor quits (~user@2001:a61:3430:c01:f86:cca7:c1fe:e2b4) (Ping timeout: 250 seconds)
18:53:05 <geekosaur> roughly
18:54:37 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
18:57:55 <janus> zzz: in idris length is for lists only, weirdly enough. would have expected it to be the other way around between haskell and idris
18:58:43 <janus> fresheyeball: i think you're supposed to look at the rule firings in ghc logs
18:59:31 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
19:01:10 <geekosaur> safinaskar, I think you want to read up on LLVM IR and what happens to it. LLVM follows known patterns in IR to optimally translate it to native assembler, but it doesn't understand ghc's CPS-transformed patterns so it outputs conservative assembler instead of optimized.
19:03:24 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
19:14:17 <monochrom> zzz: (shameless plug) My course notes on Foldable: file:///home/trebla/courses-taught/2021-5/CSCC24/web/05-haskell-fold.html#foldable-part-1
19:14:24 thelounge92306 joins (~thelounge@cpe-75-85-161-60.san.res.rr.com)
19:15:29 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 250 seconds)
19:15:31 <monochrom> Also thank you for asking about length. That inspired me a much needed midterm test question. And the midterm test is in 2 hours.
19:15:48 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
19:16:20 <tomsmeding> I hope that midterm doesn't need to get approved by some board or other :p
19:18:10 × dunkeln quits (~dunkeln@188.71.193.140) (Ping timeout: 272 seconds)
19:18:33 × cyclosa quits (~cyclosa@2603-6011-4a41-8ada-0000-0000-0000-0eaa.res6.spectrum.com) (Quit: computer broke)
19:21:31 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
19:21:54 × mastarija quits (~mastarija@31.217.22.187) (Quit: Leaving)
19:24:33 favonia joins (~favonia@user/favonia)
19:25:25 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
19:27:30 <zzz> monochrom: got an http link for that?
19:27:45 <janus> monochrom: i don't have your home folder mounted... yet
19:27:47 DNH joins (~DNH@8.43.122.6)
19:28:06 × fendor quits (~fendor@77.119.197.237.wireless.dyn.drei.com) (Remote host closed the connection)
19:29:26 zeenk joins (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3)
19:29:45 dunkeln joins (~dunkeln@188.71.193.140)
19:31:39 sh9 joins (~sh9@softbank060116136158.bbtec.net)
19:32:23 × DNH quits (~DNH@8.43.122.6) (Ping timeout: 265 seconds)
19:32:35 <janus> hmm the 404 page for vex.net is redirecting ... so annoying...
19:33:36 ubert joins (~Thunderbi@p548c937f.dip0.t-ipconnect.de)
19:35:45 <monochrom> Oh oops I see haha
19:36:00 <monochrom> http://www.cs.utoronto.ca/~trebla/CSCC24-2021-Summer/05-haskell-fold.html#foldable-part-1
19:36:49 Pickchea joins (~private@user/pickchea)
19:38:44 <DigitalKiwi> weird, the first link works for me
19:38:51 × norias quits (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Quit: Leaving)
19:40:28 × Guest9 quits (~Guest9@103.250.145.230) (Quit: Connection closed)
19:40:41 neurocyte joins (~neurocyte@user/neurocyte)
19:41:10 × zava quits (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds)
19:42:13 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:43:48 peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
19:48:39 × AgentM quits (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.)
19:51:02 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds)
19:51:28 MQ-17J joins (~MQ-17J@2607:fb90:888a:8184:61c1:5559:6114:eee0)
19:52:31 Deide joins (~Deide@user/deide)
19:52:32 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e)
19:52:33 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
19:53:01 <tomsmeding> dual personality?
19:56:05 safinaskar joins (~safinaska@109.252.90.89)
19:56:10 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
19:56:51 <safinaskar> why ghc uses llvm as one of its backends? llvm is so buggy! https://sci-hub.do/10.1145/3062341.3062343
19:57:01 <safinaskar> and https://www.cs.utah.edu/~regehr/oopsla18.pdf
19:57:12 <Rembane> Most probably to see if it was possible.
19:57:27 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) (Ping timeout: 272 seconds)
19:59:21 <safinaskar> this articles show that llvm authors don't care about soundness at all
19:59:26 <shapr> it also offloads a bunch of work to use LLVM
19:59:46 <safinaskar> did somebody came up with sound llvm alternative?
19:59:58 <Rembane> Yeah, which is why we've had a Cambrian explosion of programming languages the last ten years.
20:00:19 <shapr> safinaskar: ei
20:01:22 <safinaskar> Rembane: "which is why we've had a Cambrian explosion of programming languages the last ten years" - you mean this languages rely on llvm? or attempt to replace it?
20:01:39 <Rembane> safinaskar: Rely on. It seems to go quite well for them.
20:01:51 <dminuoso> I think you are mischaracterizing LLVM and the authors skillset.
20:01:59 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
20:02:13 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
20:02:18 <safinaskar> shapr: what is "ei"?
20:02:49 <shapr> Finnish, sorry
20:03:04 <safinaskar> dminuoso: this articles show the authors didn't attempt to create sound theory before creating llvm (as opposed to haskell authors)
20:03:10 <shapr> safinaskar: Yeah, there are plenty of soundness concerns with computers
20:03:53 <shapr> safinaskar: any thoughts on how to improve the whole mess?
20:03:56 <Vq> shapr: You speak finnish as well?
20:03:58 <dminuoso> safinaskar: Yes, sometimes software models have bugs. What is your point?
20:04:05 <shapr> Vq: nej tack
20:04:09 Vq is the impressed
20:04:11 <dminuoso> safinaskar: And dont make the mistaken assumption that Haskell is perfect.
20:04:17 <dminuoso> Just take a long look at the GHC bug tracker.
20:04:24 <shapr> Vq: my girfriend is taking Finnish classes and it's starting to come back to me a bit
20:04:26 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
20:04:33 <safinaskar> shapr: "any thoughts on how to improve the whole mess" - at least implement ideas it that two papers
20:04:41 <dminuoso> GHC is so bug ridden, it's dangerous to assume that GHC generates correct code merely on the basis it compiled your code.
20:05:05 <safinaskar> shapr: write document with rigid semantics of llvm
20:05:24 <safinaskar> shapr: improve c standard (it is mess, too)
20:05:49 <shapr> Vq: I'm trying to sign up for Swedish classes, I sent the nearby school some emails in Swedish asking what level I should take. I've had no reply, sadly.
20:06:03 <shapr> safinaskar: sounds good to me
20:06:19 <shapr> also, thanks for these links, I'll read anything John Regehr has co-authored.
20:06:22 <dsal> "improve c standard" is a non-starter.
20:06:27 × dunkeln quits (~dunkeln@188.71.193.140) (Ping timeout: 268 seconds)
20:06:31 <shapr> dsal: one more won't hurt!
20:06:32 <dolio> Yeah, it's already perfect.
20:06:36 <dsal> Just turn off the machine keeping C alive.
20:06:52 <dminuoso> safinaskar: Go sign up to get on those committees and contribute then. There's no value in coming into #haskell and making wild accusations that these folks have no clue what they are doing.
20:06:58 <shapr> Is there a better bootstrapping language than C?
20:07:07 <dminuoso> safinaskar: The problems you mentioned have been brought up to the LLVM team and addressed in an accepted RFC as far as I know.
20:07:18 <dsal> shapr: C is good for what it does, just not for what people use it for.
20:07:23 <safinaskar> dminuoso: "What is your point?" - ghc should not use llvm
20:07:24 <shapr> dminuoso: oh, which RFC?
20:07:27 <dminuoso> Issues in models of all kinds arise all the time. They are not proof that the authors were incompetent, just that its very hard to miss things.
20:07:59 <DigitalKiwi> shapr: your gf is going to charm school? sus
20:08:04 <dminuoso> shapr: Sorry, *proposal
20:08:07 <dsal> safinaskar: I'm excited to see your replacement, but I suspect it's going to be a lot of work.
20:08:16 <shapr> DigitalKiwi: Nah, law school and taking Finnish classes
20:08:18 <DigitalKiwi> https://en.wikipedia.org/wiki/Finishing_school
20:08:20 <DigitalKiwi> ;p
20:08:24 <shapr> DigitalKiwi: you so funny
20:08:31 shapr hugs DigitalKiwi
20:08:33 <DigitalKiwi> ikr, once upon a time i did standup!
20:08:54 <shapr> safinaskar: I think there are other working backends for GHC, what do you think about those?
20:09:06 <DigitalKiwi> everyone laughed a lot; i'd like to think they were laughing with me
20:09:13 <Vq> Torvalds is the only Fin that got sent to charm school.
20:09:16 <geekosaur> some of which have their own bugs
20:09:22 <shapr> I'm funding https://github.com/grin-compiler/ghc-grin on patreon
20:09:34 <shapr> DigitalKiwi: as long as everyone was having fun, it's all good
20:09:49 <dolio> Vq: Wow, it worked great.
20:10:15 <shapr> safinaskar: I don't think anything is bug free, and I've rarely seen massive rewrites succeed (though it has happened!)
20:10:24 <Vq> dolio: It really did
20:10:28 <safinaskar> shapr: you will like this link, too. http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1637.pdf
20:12:34 <dminuoso> safinaskar: GHC itself a lot of adhoc code that doesn't properly respect the models you imagine. There's neither a formalization of denotational semantics of Haskell, nor a proof that GHC adheres to any particular semantics. This is why GHC has a total of 18,668 reported issues, out of which 4,482 are open.
20:12:36 <shapr> safinaskar: the only approach I think might improve the soundness of a whole system would be to start with one of the bootstrapping efforts
20:12:48 Rembane waves around CakeML
20:12:51 <dminuoso> safinaskar: On the same basis of your reasoning, you shouldn't use GHC since it's an unsound bag of mess.
20:12:53 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection)
20:13:29 <dsal> There's a part of the learning curve of computers where you from "how does this work?" to "ooh, I understand now" and then look further and you're back to "how does any of this work?" Some areas are slightly better than others, but it's lucky garbage stacks all the way down.
20:13:48 <dminuoso> safinaskar: So on the scale of "
20:13:53 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
20:14:05 <dminuoso> "how is llvm so buggy", ghc can compete quite well... like any other complex piece of software.
20:14:46 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
20:15:08 <safinaskar> dsal: " "improve c standard" is a non-starter " - there is ongoing work. for example, here http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2676.pdf folks try to give clear definition to pointer provenance, i hope they succeed
20:16:06 × hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
20:17:06 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e)
20:18:14 <safinaskar> "I think there are other working backends for GHC, what do you think about those?" - i don't know much about them
20:18:15 <dsal> it just seems like we're really far past the point of trying to have a meaningful impact on software in general by making C a little better, but the idea seems kind of neat there.
20:19:29 <dsal> I don't want to discourage anyone from making things better. I'm just generally surprised every time I open a box at how bad the contents are. heh
20:23:20 × MQ-17J quits (~MQ-17J@2607:fb90:888a:8184:61c1:5559:6114:eee0) (Read error: Connection reset by peer)
20:23:37 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
20:24:19 <safinaskar> shapr: "the only approach I think might improve the soundness of a whole system would be to start with one of the bootstrapping efforts" - i agree. see http://bootstrappable.org/ (they have libera chat irc), https://www.gnu.org/software/mes/ , https://github.com/oriansj/stage0
20:28:43 <shapr> safinaskar: do you have a blog or other means of publishing your thoughts about this?
20:30:15 aerona joins (~aerona@2600:6c54:4600:f300:1ad6:7928:ce15:e184)
20:31:12 hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com)
20:31:50 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds)
20:32:15 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
20:35:59 <shapr> safinaskar: once the bootstrapping works, then maybe hardware could be more reliable. I'd like to see ECC ram in every computer.
20:37:03 <safinaskar> shapr: "do you have a blog or other means of publishing your thoughts about this?" - no. i have technical blog in russian at habr.com
20:37:47 <safinaskar> shapr: well, i like http://bootstrappable.org project, but i don't participate, i hope i will join this project in next live :)
20:38:59 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
20:40:00 <safinaskar> shapr: you may read this: https://kukuruku.co/post/the-collapse-of-the-unix-philosophy/ . this is my post on unix, translated from russian by unknown human translator. (translation introduces small typos in shell commands)
20:41:13 <zzz> thanks for the notes, monochrom
20:42:16 jumper149 joins (~jumper149@80.240.31.34)
20:45:34 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 272 seconds)
20:45:51 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
20:46:17 <safinaskar> shapr: also i have accounts on github, sourcehut and hackage (with 1 package)
20:47:07 × kayprish quits (~kayprish@46.240.143.86) (Remote host closed the connection)
20:50:35 × polux quits (~polux@51.15.169.172) (Quit: The Lounge - https://thelounge.github.io)
20:50:56 polux joins (~polux@51.15.169.172)
20:51:19 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:54:31 sleym joins (~sleym@23.81.181.4)
20:54:38 × bitmapper quits (uid464869@id-464869.tooting.irccloud.com) (Quit: Connection closed for inactivity)
20:57:36 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 272 seconds)
20:57:53 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
20:58:48 bilegeek joins (~bilegeek@2600:1008:b015:3e96:6f34:1a42:6ac5:3b86)
20:59:03 × acidjnk quits (~acidjnk@p200300d0c72b9537492df79c17753059.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
21:04:03 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:04:19 × sleym quits (~sleym@23.81.181.4) (Quit: sleym)
21:04:42 × cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds)
21:05:05 cheater joins (~Username@user/cheater)
21:10:57 × jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.1)
21:11:43 safinaskar parts (~safinaska@109.252.90.89) ()
21:14:23 × warnz quits (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Remote host closed the connection)
21:14:36 Guest33 joins (~textual@c-107-4-204-12.hsd1.mn.comcast.net)
21:19:41 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds)
21:19:42 × Guest33 quits (~textual@c-107-4-204-12.hsd1.mn.comcast.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:20:00 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
21:20:24 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
21:20:26 × myShoggoth quits (~myShoggot@75.164.51.64) (Ping timeout: 252 seconds)
21:21:37 × derelict quits (~derelict@user/derelict) (Quit: WeeChat 3.2)
21:22:53 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
21:24:49 Sgeo_ joins (~Sgeo@ool-18b9875e.dyn.optonline.net)
21:26:29 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
21:27:51 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds)
21:28:00 chronon joins (~chronon@user/chronon)
21:28:08 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
21:28:38 × Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 272 seconds)
21:31:22 × chronon quits (~chronon@user/chronon) (Client Quit)
21:31:52 nkatte joins (~nkatte@2804:14c:7980:8c9a::a542)
21:31:54 × hegstal quits (~hegstal@2a02:c7f:7604:8a00:ac06:25a4:7233:bcc6) (Remote host closed the connection)
21:32:50 chronon joins (~chronon@user/chronon)
21:32:52 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
21:36:13 × ormaaj quits (~ormaaj@user/ormaaj) (Quit: Reconnecting)
21:38:17 × toppler quits (~user@mtop.default.momentoftop.uk0.bigv.io) (Remote host closed the connection)
21:39:06 × boxscape_89 quits (~boxscape_@p4ff0b158.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
21:39:59 GIANTWORLDKEEPER joins (~pjetcetal@128-71-13-182.broadband.corbina.ru)
21:42:01 × Gurkenglas quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Remote host closed the connection)
21:42:23 Gurkenglas joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
21:42:52 × ubert quits (~Thunderbi@p548c937f.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
21:44:40 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
21:44:55 warnz joins (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f)
21:45:51 derelict joins (~derelict@user/derelict)
21:47:43 × Gurkenglas quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 265 seconds)
21:48:39 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:49:19 × warnz quits (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 250 seconds)
21:52:06 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
21:52:51 × Arahael quits (~arahael@120.88.166.123) (Ping timeout: 268 seconds)
21:53:05 neo joins (~neo3@cpe-292712.ip.primehome.com)
21:54:37 × nkatte quits (~nkatte@2804:14c:7980:8c9a::a542) (Quit: nkatte)
21:56:40 × listofoptions quits (~haha@nat.syssrc.com) (Read error: Connection reset by peer)
21:57:05 listofoptions joins (~haha@nat.syssrc.com)
22:01:11 neurocyte3 joins (~neurocyte@45.136.170.15)
22:01:11 × neurocyte3 quits (~neurocyte@45.136.170.15) (Changing host)
22:01:11 neurocyte3 joins (~neurocyte@user/neurocyte)
22:02:12 × neurocyte quits (~neurocyte@user/neurocyte) (Ping timeout: 272 seconds)
22:02:12 neurocyte3 is now known as neurocyte
22:04:25 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) (Remote host closed the connection)
22:04:56 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:05:17 × michalz quits (~michalz@185.246.204.125) (Remote host closed the connection)
22:05:57 × ukari quits (~ukari@user/ukari) (Remote host closed the connection)
22:06:28 ukari joins (~ukari@user/ukari)
22:08:12 × aerona quits (~aerona@2600:6c54:4600:f300:1ad6:7928:ce15:e184) (Quit: Leaving)
22:08:43 × neo quits (~neo3@cpe-292712.ip.primehome.com) (Remote host closed the connection)
22:08:50 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
22:13:11 myShoggoth joins (~myShoggot@75.164.51.64)
22:17:15 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:17:23 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e)
22:20:23 × MidAutumnMoon quits (~MidAutumn@user/midautumnmoon) (Quit: Leaving for a break - theLounge)
22:20:25 delYsid joins (~user@84-115-55-45.cable.dynamic.surfer.at)
22:20:58 MidAutumnMoon joins (~MidAutumn@user/midautumnmoon)
22:26:54 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
22:29:57 × guest61 quits (~xxx@47.245.54.240) (Remote host closed the connection)
22:30:09 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
22:31:03 guest61 joins (~xxx@47.245.54.240)
22:31:16 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
22:31:57 × guest61 quits (~xxx@47.245.54.240) (Read error: Connection reset by peer)
22:32:09 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Read error: Connection reset by peer)
22:32:48 × chexum quits (~chexum@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.)
22:33:04 guest61 joins (~xxx@47.245.54.240)
22:33:17 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
22:34:57 chexum joins (~chexum@gateway/tor-sasl/chexum)
22:38:36 meltedbrain_y2k joins (~tekserf@31.4.247.86)
22:39:12 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
22:39:22 <lbseale> I'd like to wrap a plain Map type in a newtype (for safety), but does that mean I have to re-implement any the general functions for Maps for it?
22:39:44 <dminuoso> Depends. You can also coerce your way through.
22:39:57 <dminuoso> But that sort of breaks the encapsulation you're hoping for.
22:39:57 <lbseale> is this even a good idea?
22:40:06 <dminuoso> Hard to say without knowing your reasoning.
22:40:11 <lbseale> lol right, that's what I was wondering
22:40:50 <lbseale> my reasoning is that I want to have many types that are, fundamentally, Map String Double
22:41:17 <dminuoso> lbseale: Relatedly, this might be a worthy read https://lexi-lambda.github.io/blog/2020/11/01/names-are-not-type-safety/
22:41:20 <lbseale> and I wouldn't want to mix them up, which would be possible if I just used type synonyms
22:41:42 <dminuoso> That being said, you can also just pattern match/deconstruct upon map usage.
22:42:02 <lbseale> dminuoso: thanks I'll read this
22:42:06 <dminuoso> Say `f (ThingMap m) = M.lookup "foo" m`
22:42:29 <dminuoso> Together with as-patterns, this can work nicely. At least it will provide some small barrier against mistakingly passing in the wrong map
22:42:56 <geekosaur> there's also e.g. newtype-ing the String which might work better than with the Map
22:43:43 <lbseale> geekosaur: that's a good idea, I'll consider that
22:44:02 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Ping timeout: 252 seconds)
22:44:50 <lbseale> thanks guys, this channel is always so helpful
22:46:28 chris_ joins (~chris@81.96.113.213)
22:46:40 × chexum quits (~chexum@gateway/tor-sasl/chexum) (Remote host closed the connection)
22:46:47 × dhil quits (~dhil@195.213.192.47) (Ping timeout: 268 seconds)
22:46:48 <monochrom> Hrm, is this correlated to someone's recent blog post promoting using dictionaries for record types?
22:46:50 chexum joins (~chexum@gateway/tor-sasl/chexum)
22:48:26 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 272 seconds)
22:49:14 <lbseale> monochrom: I'm curious about that, do you have a link to it?
22:49:27 <monochrom> No, I just overheard conversations.
22:49:58 MQ-17J joins (~MQ-17J@8.21.10.15)
22:51:42 ormaaj joins (~ormaaj@2001:470:69fc:105::35ca)
22:52:41 lavaman joins (~lavaman@98.38.249.169)
22:54:11 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
22:54:30 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Remote host closed the connection)
22:54:47 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
22:59:22 × Sgeo_ quits (~Sgeo@ool-18b9875e.dyn.optonline.net) (Quit: Leaving)
22:59:38 Sgeo joins (~Sgeo@user/sgeo)
23:00:24 × bilegeek quits (~bilegeek@2600:1008:b015:3e96:6f34:1a42:6ac5:3b86) (Quit: Leaving)
23:00:54 × MQ-17J quits (~MQ-17J@8.21.10.15) (Ping timeout: 252 seconds)
23:05:25 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
23:05:42 × parzema quits (~parzema@124.188.206.3) (Quit: Client closed)
23:07:57 × ham quits (~ham4@user/ham) (Ping timeout: 265 seconds)
23:09:20 × jneira_ quits (~jneira_@131.red-79-155-1.dynamicip.rima-tde.net) (Ping timeout: 272 seconds)
23:12:52 × Deide quits (~Deide@user/deide) (Quit: Seeee yaaaa)
23:13:26 cjb joins (~cjb@user/cjb)
23:15:29 × ormaaj quits (~ormaaj@2001:470:69fc:105::35ca) (Changing host)
23:15:29 ormaaj joins (~ormaaj@user/ormaaj)
23:16:34 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
23:16:50 geekosaur joins (~geekosaur@xmonad/geekosaur)
23:19:01 × P1RATEZ quits (piratez@user/p1ratez) ()
23:19:23 × ormaaj quits (~ormaaj@user/ormaaj) (Quit: Reconnecting)
23:21:22 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 272 seconds)
23:21:41 brian_da_mage is now known as Brianmancer
23:21:44 jao joins (jao@gateway/vpn/protonvpn/jao)
23:27:17 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
23:28:38 × zeenk quits (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) (Quit: Konversation terminated!)
23:29:23 meltedbrain_y2k parts (~tekserf@31.4.247.86) ()
23:31:48 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 258 seconds)
23:34:30 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
23:37:16 ham joins (~ham4@user/ham)
23:37:25 benin0369 joins (~benin@183.82.205.231)
23:38:44 × zaquest quits (~notzaques@5.128.210.178) (Remote host closed the connection)
23:42:05 ham2 joins (~ham4@d8D8627D5.access.telenet.be)
23:42:54 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 268 seconds)
23:43:34 geekosaur joins (~geekosaur@xmonad/geekosaur)
23:43:43 × ham quits (~ham4@user/ham) (Ping timeout: 265 seconds)
23:43:58 × TheRAt quits (~TheRAt@user/therat) (Read error: Connection reset by peer)
23:45:26 × chomwitt quits (~Pitsikoko@athedsl-16082.home.otenet.gr) (Ping timeout: 272 seconds)
23:46:24 zaquest joins (~notzaques@5.128.210.178)
23:49:18 × biberu quits (~biberu@user/biberu) (Quit: ZNC - https://znc.in)
23:50:16 TheRAt joins (~TheRAt@user/therat)
23:51:39 biberu joins (~biberu@user/biberu)
23:52:29 × shutdown_-h_now quits (~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl) (Ping timeout: 268 seconds)
23:53:44 × TranquilEcho quits (~grom@user/tranquilecho) (Quit: WeeChat 2.8)
23:54:55 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
23:55:55 ellie2 joins (~ellie@user/ellie)
23:55:57 emergence9 joins (~emergence@vm0.max-p.me)
23:56:14 × dustinm quits (~dustinm@static.38.6.217.95.clients.your-server.de) (Ping timeout: 244 seconds)
23:56:45 × davean quits (~davean@davean.sciesnet.net) (Ping timeout: 244 seconds)
23:57:16 × Natch quits (~natch@c-e070e255.014-297-73746f25.bbcust.telenor.se) (Ping timeout: 244 seconds)
23:57:16 × pippijn quits (~pippijn@ra.xinutec.org) (Ping timeout: 244 seconds)
23:57:43 pippijn joins (~pippijn@ra.xinutec.org)
23:57:47 × ellie quits (~ellie@user/ellie) (Ping timeout: 244 seconds)
23:57:47 × sshine quits (~simon@hubris.eta.solutions) (Ping timeout: 244 seconds)
23:57:47 × emergence quits (~emergence@vm0.max-p.me) (Ping timeout: 244 seconds)
23:57:48 emergence9 is now known as emergence
23:57:48 ellie2 is now known as ellie
23:58:36 davean joins (~davean@davean.sciesnet.net)
23:58:47 sshine joins (~simon@hubris.eta.solutions)
23:59:03 dustinm joins (~dustinm@static.38.6.217.95.clients.your-server.de)
23:59:38 shutdown_-h_now joins (~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl)

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