2021/06/28

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