2021/07/18

2021-07-18 00:06:06 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection)
2021-07-18 00:06:20 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-18 00:07:47 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-18 00:09:09 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds)
2021-07-18 00:10:32 +0200yoctocell(~user@h87-96-130-155.cust.a3fiber.se) (Ping timeout: 255 seconds)
2021-07-18 00:13:11 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-18 00:14:07 +0200Atum_(~IRC@user/atum/x-2392232)
2021-07-18 00:17:10 +0200ubert(~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2021-07-18 00:19:46 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 258 seconds)
2021-07-18 00:19:49 +0200hexfive(~eric@50.35.83.177)
2021-07-18 00:20:53 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-18 00:32:28 +0200jmorris(uid433911@id-433911.stonehaven.irccloud.com)
2021-07-18 00:35:06 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-18 00:35:24 +0200favonia(~favonia@user/favonia)
2021-07-18 00:35:43 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-18 00:36:37 +0200lavaman(~lavaman@98.38.249.169)
2021-07-18 00:41:46 +0200isekaijin(~pyon@user/pyon) (Ping timeout: 252 seconds)
2021-07-18 00:41:54 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 265 seconds)
2021-07-18 00:42:00 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
2021-07-18 00:47:13 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds)
2021-07-18 00:51:15 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-18 00:52:40 +0200oxide(~lambda@user/oxide) (Ping timeout: 246 seconds)
2021-07-18 00:56:53 +0200jespada(~jespada@90.254.247.46) (Ping timeout: 265 seconds)
2021-07-18 00:57:12 +0200machinedgod(~machinedg@24.105.81.50)
2021-07-18 00:59:23 +0200jespada(~jespada@90.254.247.46)
2021-07-18 01:01:38 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-07-18 01:01:47 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-07-18 01:02:17 +0200spruit11(~quassel@2a02:a467:ccd6:1:4852:6669:da0c:37fe) (Ping timeout: 255 seconds)
2021-07-18 01:02:36 +0200 <danso> is there a typeclass that generalizes fromMaybe and fromRight?
2021-07-18 01:02:53 +0200 <danso> it seems closely related to Alternative, like <|>
2021-07-18 01:03:29 +0200 <danso> but (<|>) :: f a -> f a -> f a
2021-07-18 01:03:31 +0200 <hpc> :t traverse
2021-07-18 01:03:32 +0200 <lambdabot> (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b)
2021-07-18 01:03:36 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-18 01:03:41 +0200 <danso> i'm looking for f a -> f a -> a
2021-07-18 01:03:45 +0200fendor(~fendor@77.119.192.173.wireless.dyn.drei.com) (Remote host closed the connection)
2021-07-18 01:04:44 +0200 <geekosaur> danso, what should such a typeclass do if it would fail?
2021-07-18 01:04:44 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-07-18 01:04:55 +0200 <hpc> maybe you want Foldable? https://hackage.haskell.org/package/base-4.15.0.0/docs/Prelude.html#t:Foldable
2021-07-18 01:05:10 +0200 <danso> oh you're right geekosaur
2021-07-18 01:05:18 +0200 <danso> i made a mistake; i want f a -> a -> a
2021-07-18 01:05:36 +0200 <hpc> % sum (Just 5)
2021-07-18 01:05:36 +0200 <yahb> hpc: 5
2021-07-18 01:05:40 +0200 <hpc> % sum Nothing
2021-07-18 01:05:41 +0200 <yahb> hpc: 0
2021-07-18 01:05:52 +0200 <hpc> % :t sum
2021-07-18 01:05:52 +0200 <yahb> hpc: (Foldable t, Num a) => t a -> a
2021-07-18 01:06:27 +0200 <danso> something like foldr (const id) is close maybe
2021-07-18 01:06:34 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-18 01:07:03 +0200 <hpc> :t foldMap
2021-07-18 01:07:04 +0200 <lambdabot> (Foldable t, Monoid m) => (a -> m) -> t a -> m
2021-07-18 01:07:11 +0200jushur(~human@user/jushur) (Quit: ¯\_(ツ)_/¯)
2021-07-18 01:07:54 +0200 <danso> wow, TIL Maybe is Foldable
2021-07-18 01:09:37 +0200 <hpc> speaking of, TIL Complex is Foldable
2021-07-18 01:09:59 +0200 <hpc> % sum (5 :+ 10)
2021-07-18 01:09:59 +0200 <yahb> hpc: 15
2021-07-18 01:10:15 +0200 <hpc> and it... just combines the numbers
2021-07-18 01:10:19 +0200 <hpc> i don't know what i was expecting
2021-07-18 01:14:30 +0200 <geekosaur> o.O
2021-07-18 01:16:59 +0200_xor(~xor@74.215.232.67) (Quit: brb)
2021-07-18 01:18:50 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-18 01:21:57 +0200 <xsperry> that's.. interesting
2021-07-18 01:22:18 +0200Maxdamantus(~Maxdamant@user/maxdamantus)
2021-07-18 01:22:32 +0200acidjnk(~acidjnk@p200300d0c72b9505d437a5269bf657ec.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2021-07-18 01:22:59 +0200silverwhitefish(~hidden@47.202.102.10)
2021-07-18 01:23:49 +0200aallen(~aallen@072-182-074-253.res.spectrum.com) (Ping timeout: 246 seconds)
2021-07-18 01:27:26 +0200alphabeta(~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net)
2021-07-18 01:29:41 +0200Guest18(~Guest18@2603-8080-6d0d-35bb-0000-0000-0000-0004.res6.spectrum.com)
2021-07-18 01:30:33 +0200kilolympus(~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net) (Ping timeout: 276 seconds)
2021-07-18 01:32:24 +0200mcfrdy(~mcfrdy@user/mcfrdy) (Ping timeout: 268 seconds)
2021-07-18 01:34:25 +0200spruit11(~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b)
2021-07-18 01:35:07 +0200 <monochrom> That's the natural answer to someone who expects length (x,y) = 2. Use length (x :+ y) instead. >:)
2021-07-18 01:36:48 +0200 <geekosaur> > length (1,2) -- "natural"
2021-07-18 01:36:49 +0200 <lambdabot> 1
2021-07-18 01:37:05 +0200mcfrdy(~mcfrdy@45.67.96.175)
2021-07-18 01:37:05 +0200mcfrdy(~mcfrdy@45.67.96.175) (Changing host)
2021-07-18 01:37:05 +0200mcfrdy(~mcfrdy@user/mcfrdy)
2021-07-18 01:37:13 +0200geekosauroriginally typoed "notural"
2021-07-18 01:37:28 +0200Ariakenom__(~Ariakenom@c83-255-154-140.bredband.tele2.se) (Read error: Connection reset by peer)
2021-07-18 01:39:11 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-18 01:39:13 +0200euandreh(~euandreh@2804:14c:33:9fe5:9d95:c71:11e4:3e0f) (Quit: WeeChat 3.2)
2021-07-18 01:39:15 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-18 01:39:17 +0200 <monochrom> And haha someone was ahead of me, Complex is a Monad too.
2021-07-18 01:39:19 +0200ph88(~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2021-07-18 01:39:27 +0200spruit11(~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b) (Ping timeout: 255 seconds)
2021-07-18 01:39:42 +0200ph88(~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c)
2021-07-18 01:39:43 +0200dajoer(~david@user/gvx)
2021-07-18 01:40:38 +0200favonia(~favonia@user/favonia)
2021-07-18 01:44:07 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-07-18 01:44:42 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-07-18 01:46:58 +0200DNH(~DNH@2a02:8108:1100:16d8:6178:3a47:8c71:dd89) (Quit: Textual IRC Client: www.textualapp.com)
2021-07-18 01:51:39 +0200spruit11(~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b)
2021-07-18 01:54:45 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 255 seconds)
2021-07-18 01:56:13 +0200 <boxscape> % :i Complex
2021-07-18 01:56:13 +0200 <yahb> boxscape: type Complex :: * -> *; data Complex a = !a :+ !a; -- Defined in `Data.Complex'; instance Applicative Complex -- Defined in `Data.Complex'; instance Eq a => Eq (Complex a) -- Defined in `Data.Complex'; instance Functor Complex -- Defined in `Data.Complex'; instance Monad Complex -- Defined in `Data.Complex'; instance RealFloat a => Floating (Complex a) -- Defined in `Data.Complex'; instance RealFloat a
2021-07-18 01:56:22 +0200spruit11(~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b) (Ping timeout: 246 seconds)
2021-07-18 01:56:51 +0200 <boxscape> so Complex is really just `Pair`, with all the behavior you would expect (and then some, for the number stuff)
2021-07-18 01:56:55 +0200Null_A(~null_a@2601:645:8700:2290:b55a:33c2:1e1d:f229)
2021-07-18 01:57:31 +0200 <geekosaur> so if you ever need that value with a type that's both Num and Monad…
2021-07-18 01:58:19 +0200 <boxscape> % (1 :+ 2) >>= (\x -> x :+ x)
2021-07-18 01:58:19 +0200 <yahb> boxscape: 1 :+ 2
2021-07-18 01:59:22 +0200 <monochrom> :)
2021-07-18 02:07:33 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-07-18 02:09:40 +0200spruit11(~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b)
2021-07-18 02:11:43 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-18 02:14:06 +0200spruit11(~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b) (Ping timeout: 255 seconds)
2021-07-18 02:16:05 +0200derelict(~derelict@user/derelict) (Ping timeout: 255 seconds)
2021-07-18 02:20:07 +0200mrus(~mrus@2001:19f0:5:3fd4:5400:3ff:fe48:1820)
2021-07-18 02:20:15 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-07-18 02:20:58 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Quit: WeeChat 3.2)
2021-07-18 02:23:40 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-07-18 02:31:48 +0200derelict(~derelict@user/derelict)
2021-07-18 02:32:12 +0200Null_A(~null_a@2601:645:8700:2290:b55a:33c2:1e1d:f229) (Remote host closed the connection)
2021-07-18 02:35:43 +0200img(~img@user/img)
2021-07-18 02:38:30 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-18 02:44:42 +0200spruit11(~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b)
2021-07-18 02:45:18 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-18 02:45:20 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 255 seconds)
2021-07-18 02:45:47 +0200kilolympus(~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net)
2021-07-18 02:45:49 +0200enemeth79(uid309041@id-309041.tooting.irccloud.com)
2021-07-18 02:48:52 +0200alphabeta(~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net) (Ping timeout: 268 seconds)
2021-07-18 02:49:13 +0200spruit11(~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b) (Ping timeout: 246 seconds)
2021-07-18 03:00:27 +0200_xor(~xor@74.215.232.67)
2021-07-18 03:00:41 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-18 03:00:43 +0200_xor(~xor@74.215.232.67) (Client Quit)
2021-07-18 03:01:14 +0200_xor(~xor@74.215.232.67)
2021-07-18 03:01:53 +0200spruit11(~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b)
2021-07-18 03:03:01 +0200derelict(~derelict@user/derelict) (Quit: WeeChat 3.2)
2021-07-18 03:06:08 +0200Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 268 seconds)
2021-07-18 03:06:13 +0200Deide(~Deide@user/deide) (Quit: Seeee yaaaa)
2021-07-18 03:07:36 +0200mcglk(~mcglk@131.191.49.120) (Quit: (seeya))
2021-07-18 03:08:07 +0200mcglk(~mcglk@131.191.49.120)
2021-07-18 03:08:36 +0200_xor(~xor@74.215.232.67) (Quit: WeeChat 3.2)
2021-07-18 03:10:05 +0200spruit11(~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b) (Ping timeout: 255 seconds)
2021-07-18 03:10:06 +0200lavaman(~lavaman@98.38.249.169)
2021-07-18 03:11:39 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-18 03:12:12 +0200Atum_(~IRC@user/atum/x-2392232) (Quit: Atum_)
2021-07-18 03:12:46 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-18 03:13:01 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 246 seconds)
2021-07-18 03:15:47 +0200_xor(~xor@74.215.232.67)
2021-07-18 03:17:35 +0200Null_A(~null_a@2601:645:8700:2290:b55a:33c2:1e1d:f229)
2021-07-18 03:17:42 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-18 03:21:42 +0200xff0x_(~xff0x@2001:1a81:525b:ea00:2ecf:bd12:9251:d3e)
2021-07-18 03:24:09 +0200Erutuon(~Erutuon@user/erutuon)
2021-07-18 03:24:28 +0200vicfred_(~vicfred@206.217.205.37)
2021-07-18 03:24:55 +0200xff0x(~xff0x@port-92-193-131-10.dynamic.as20676.net) (Ping timeout: 250 seconds)
2021-07-18 03:28:20 +0200vicfred(~vicfred@user/vicfred) (Ping timeout: 268 seconds)
2021-07-18 03:30:54 +0200mcfrdy-(~mcfrdy@45.67.96.175)
2021-07-18 03:31:30 +0200mcfrdy(~mcfrdy@user/mcfrdy) (Ping timeout: 255 seconds)
2021-07-18 03:31:39 +0200chris_(~chris@81.96.113.213)
2021-07-18 03:36:06 +0200neurocyte0(~neurocyte@92.119.8.106)
2021-07-18 03:36:06 +0200neurocyte0(~neurocyte@92.119.8.106) (Changing host)
2021-07-18 03:36:06 +0200neurocyte0(~neurocyte@user/neurocyte)
2021-07-18 03:39:06 +0200spruit11(~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b)
2021-07-18 03:39:26 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-18 03:39:58 +0200neurocyte(~neurocyte@user/neurocyte) (Ping timeout: 252 seconds)
2021-07-18 03:39:58 +0200neurocyte0neurocyte
2021-07-18 03:40:57 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-18 03:42:39 +0200favonia(~favonia@user/favonia)
2021-07-18 03:43:23 +0200ph88(~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c) (Ping timeout: 255 seconds)
2021-07-18 03:43:49 +0200spruit11(~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b) (Ping timeout: 246 seconds)
2021-07-18 03:46:32 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 255 seconds)
2021-07-18 03:47:22 +0200hololeap(~hololeap@user/hololeap) (Ping timeout: 244 seconds)
2021-07-18 03:48:09 +0200 <davean> I find most mathematical objects I deal with in practice to be "some set construction, with laws"
2021-07-18 03:56:48 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-18 03:57:07 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2021-07-18 03:58:55 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-07-18 04:05:54 +0200Maxdamantus(~Maxdamant@user/maxdamantus)
2021-07-18 04:05:54 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-07-18 04:07:00 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-18 04:12:32 +0200Erutuon(~Erutuon@user/erutuon)
2021-07-18 04:13:36 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
2021-07-18 04:13:59 +0200td_(~td@muedsl-82-207-238-255.citykom.de) (Ping timeout: 258 seconds)
2021-07-18 04:14:42 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-18 04:15:07 +0200machinedgod(~machinedg@24.105.81.50)
2021-07-18 04:15:38 +0200td_(~td@muedsl-82-207-238-204.citykom.de)
2021-07-18 04:15:44 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2021-07-18 04:15:44 +0200FinnElijaGuest7485
2021-07-18 04:15:44 +0200Guest7485(~finn_elij@user/finn-elija/x-0085643) (Killed (sodium.libera.chat (Nickname regained by services)))
2021-07-18 04:15:45 +0200finn_elijaFinnElija
2021-07-18 04:17:13 +0200favonia(~favonia@user/favonia)
2021-07-18 04:18:20 +0200norias(~jaredm@c-98-219-195-163.hsd1.pa.comcast.net)
2021-07-18 04:20:05 +0200alphabeta(~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net)
2021-07-18 04:21:49 +0200kilolympus(~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net) (Ping timeout: 265 seconds)
2021-07-18 04:24:21 +0200smichel17(~smichel17@2601:193:8300:4b9::600) (Quit: smichel17)
2021-07-18 04:36:14 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
2021-07-18 04:37:16 +0200ph88(~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c)
2021-07-18 04:39:57 +0200h98(~h98@187.83.249.216.dyn.smithville.net)
2021-07-18 04:39:59 +0200spruit11(~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b)
2021-07-18 04:44:51 +0200spruit11(~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b) (Ping timeout: 255 seconds)
2021-07-18 04:52:45 +0200fef(~thedawn@user/thedawn)
2021-07-18 04:53:08 +0200aman(~aman@user/aman) (Ping timeout: 255 seconds)
2021-07-18 04:53:38 +0200agua(~agua@2804:18:44:17a3:1:0:2cdf:1514)
2021-07-18 04:54:24 +0200h98(~h98@187.83.249.216.dyn.smithville.net) (Quit: Client closed)
2021-07-18 04:54:59 +0200enemeth79(uid309041@id-309041.tooting.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-18 04:55:01 +0200vicfred_(~vicfred@206.217.205.37) (Quit: Leaving)
2021-07-18 04:55:13 +0200vicfred(~vicfred@user/vicfred)
2021-07-18 04:56:33 +0200Core5124(~agua@2804:14c:8793:8e2f:642c:be4c:c775:de87) (Ping timeout: 255 seconds)
2021-07-18 04:59:13 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 258 seconds)
2021-07-18 05:02:28 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
2021-07-18 05:02:45 +0200johnw(~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in)
2021-07-18 05:05:06 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 255 seconds)
2021-07-18 05:06:08 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-07-18 05:06:26 +0200matsurago(~matsurago@p0125707-vcngn.tkyo.nt.ngn.ppp.ocn.ne.jp)
2021-07-18 05:08:35 +0200spruit11(~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b)
2021-07-18 05:09:29 +0200keutoi(~keutoi@157.47.111.203)
2021-07-18 05:12:18 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 240 seconds)
2021-07-18 05:13:45 +0200desophos(~desophos@2601:249:1680:a570:f1ba:fb0d:59f:a0b5)
2021-07-18 05:14:36 +0200pesada(~agua@191.177.175.57)
2021-07-18 05:16:38 +0200Core1864(~agua@2804:18:44:17a3:1:0:2cdf:1514)
2021-07-18 05:16:46 +0200agua(~agua@2804:18:44:17a3:1:0:2cdf:1514) (Read error: Connection reset by peer)
2021-07-18 05:17:02 +0200pesada(~agua@191.177.175.57) (Read error: Connection reset by peer)
2021-07-18 05:17:12 +0200agua(~agua@2804:14c:8793:8e2f:642c:be4c:c775:de87)
2021-07-18 05:20:46 +0200Core1864(~agua@2804:18:44:17a3:1:0:2cdf:1514) (Ping timeout: 246 seconds)
2021-07-18 05:23:06 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-07-18 05:23:58 +0200jushur(~human@user/jushur)
2021-07-18 05:29:30 +0200mcfrdy(~mcfrdy@45.67.96.175)
2021-07-18 05:29:30 +0200mcfrdy(~mcfrdy@45.67.96.175) (Changing host)
2021-07-18 05:29:31 +0200mcfrdy(~mcfrdy@user/mcfrdy)
2021-07-18 05:30:27 +0200mcfrdy-(~mcfrdy@45.67.96.175) (Ping timeout: 265 seconds)
2021-07-18 05:30:46 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-07-18 05:33:11 +0200matsurago(~matsurago@p0125707-vcngn.tkyo.nt.ngn.ppp.ocn.ne.jp) (Quit: Leaving)
2021-07-18 05:36:26 +0200vysn(~vysn@user/vysn)
2021-07-18 05:38:54 +0200_xor(~xor@74.215.232.67) (Quit: brb)
2021-07-18 05:39:53 +0200_xor(~xor@74.215.232.67)
2021-07-18 05:42:50 +0200 <guest61> about IO socket, if peer closed the connection, will get -1, what about they just went off the network without sent disconnect signal, how to handle that?
2021-07-18 05:44:04 +0200 <geekosaur> you get an exception which you must catch
2021-07-18 05:44:33 +0200 <geekosaur> see the Control.Exception module
2021-07-18 05:44:37 +0200 <guest61> how we handle that without exception?
2021-07-18 05:44:50 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 258 seconds)
2021-07-18 05:45:04 +0200 <guest61> what about C langauage, it doesnt have exception, how it handle that?
2021-07-18 05:45:14 +0200img(~img@user/img)
2021-07-18 05:45:24 +0200 <guest61> Either cant handle this IO exception?
2021-07-18 05:45:37 +0200lars8(~bc817c21@217.29.117.252)
2021-07-18 05:45:39 +0200 <geekosaur> C returns -1 with an error code, vs. 0; it doesn;t have exceptions
2021-07-18 05:45:41 +0200 <c_wraith> in C, you look at return values and check ERRNO and hope nothing concurrent changed it
2021-07-18 05:45:49 +0200 <geekosaur> Either can;t handle this kind of exception
2021-07-18 05:48:27 +0200 <lars8> guest61, article makes a good argument why exceptions are prefered in IO over Either. https://www.fpcomplete.com/blog/2016/11/exceptions-best-practices-haskell/
2021-07-18 05:48:29 +0200 <guest61> if there're multiple IO at the same time, one of them just did this, check ERRNO will work?
2021-07-18 05:48:32 +0200 <lars8> +this
2021-07-18 05:48:45 +0200 <nitrix> c_wraith, errno is thread-local for POSIX systems.
2021-07-18 05:49:28 +0200 <guest61> I thought that try-catch is typical OOP stuff
2021-07-18 05:49:46 +0200 <geekosaur> try-catch is not particularly OOP
2021-07-18 05:49:49 +0200 <guest61> FP has try-catch is weird
2021-07-18 05:50:21 +0200 <nitrix> For Haskell, Either/Maybe is a good way to do error-handling, then you also have nicer monad (transformers) like EitherT to do your exceptions.
2021-07-18 05:50:33 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-18 05:50:54 +0200 <lars8> but then you force callers to handle errors in two ways, via either, and exceptions
2021-07-18 05:50:57 +0200 <guest61> yes, but there're exception and run-time exception
2021-07-18 05:51:13 +0200 <guest61> Either cant handle run-time exception
2021-07-18 05:51:23 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-18 05:51:25 +0200favonia(~favonia@user/favonia)
2021-07-18 05:51:38 +0200ubert(~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de)
2021-07-18 05:51:50 +0200ubert(~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de) (Client Quit)
2021-07-18 05:52:06 +0200ubert(~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de)
2021-07-18 05:52:45 +0200ubert(~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de) (Client Quit)
2021-07-18 05:53:01 +0200ubert(~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de)
2021-07-18 05:54:46 +0200ubert(~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de) (Client Quit)
2021-07-18 05:55:35 +0200 <guest61> how other languages without try-catch to handle run-time exceptions?
2021-07-18 05:57:10 +0200 <xsperry> probably more of a #programming question
2021-07-18 05:59:54 +0200_xor(~xor@74.215.232.67) (Quit: brb)
2021-07-18 06:01:01 +0200_xor(~xor@74.215.232.67)
2021-07-18 06:02:01 +0200johnw(~johnw@2600:1700:cf00:db0:4c55:69bc:4e4d:1c90)
2021-07-18 06:06:31 +0200wei2912(~wei2912@112.199.250.21)
2021-07-18 06:06:45 +0200soft-warm(~soft-warm@2600:8801:db01:8f0:67c1:e7b7:4e84:318d)
2021-07-18 06:10:03 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-18 06:14:24 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-18 06:16:46 +0200favonia(~favonia@user/favonia)
2021-07-18 06:20:33 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-18 06:21:43 +0200 <lars8> guest61, Either can handle runtime errors, just return Left instead of throwing an exception. but, any IO code can throw exceptions other than the one you considered throwing, but are not returning (async exceptions, out of memory exceptions, etc), and encoding every possible exception in the type would be pretty tedious. java tried something similar with checked exceptions, and they are nearly universally hated
2021-07-18 06:21:54 +0200 <lars8> s/not/now
2021-07-18 06:22:14 +0200Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 268 seconds)
2021-07-18 06:23:52 +0200Maxdamantus(~Maxdamant@user/maxdamantus)
2021-07-18 06:24:18 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-18 06:26:45 +0200favonia(~favonia@user/favonia)
2021-07-18 06:27:11 +0200mcfrdy(~mcfrdy@user/mcfrdy) (Ping timeout: 255 seconds)
2021-07-18 06:27:53 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-18 06:28:14 +0200 <c_wraith> in some sense, Either is the same as checked exceptions. Except that the tools for working with them are a lot more pleasant
2021-07-18 06:28:40 +0200bgamari_(~bgamari@72.65.101.148) (Ping timeout: 246 seconds)
2021-07-18 06:28:51 +0200bgamari(~bgamari@72.65.102.182)
2021-07-18 06:34:43 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-18 06:40:57 +0200ph88(~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c) (Ping timeout: 255 seconds)
2021-07-18 06:44:26 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-07-18 06:46:32 +0200norias(~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 255 seconds)
2021-07-18 06:46:50 +0200Ananta-shesha(~pjetcetal@128-71-13-182.broadband.corbina.ru)
2021-07-18 06:50:17 +0200 <monochrom> try-catch traces all the way back to a David Parnas 1970s paper. Way before OO.
2021-07-18 06:50:41 +0200 <monochrom> OO only added "the Exception type can have user-defined subtypes"
2021-07-18 06:51:17 +0200lavaman(~lavaman@98.38.249.169)
2021-07-18 06:51:21 +0200 <monochrom> SML also has had exceptions for a long time.
2021-07-18 06:51:31 +0200 <monochrom> and SML's predecessors
2021-07-18 06:54:59 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
2021-07-18 06:55:12 +0200 <monochrom> Theorem provers written in *ML used this heavily for backtracking proof search. So it was not just I/O even.
2021-07-18 06:55:48 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 255 seconds)
2021-07-18 06:56:52 +0200 <monochrom> To be sure, in that use case, we now know that it should be Either/Maybe and MonadPlus. But writing theorem provers in *ML was a long long time ago.
2021-07-18 07:00:18 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-18 07:00:22 +0200 <c_wraith> and if you worry about performance of constructing/matching all those data types, you might CPS-transform the Either, at which point... you're basically back at exceptions anyway. Except without an extra language construct.
2021-07-18 07:01:40 +0200lavaman(~lavaman@98.38.249.169)
2021-07-18 07:02:46 +0200favonia(~favonia@user/favonia)
2021-07-18 07:11:00 +0200favonia(~favonia@user/favonia) (Remote host closed the connection)
2021-07-18 07:11:49 +0200favonia(~favonia@user/favonia)
2021-07-18 07:11:58 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-18 07:16:40 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-07-18 07:17:37 +0200Erutuon(~Erutuon@user/erutuon)
2021-07-18 07:31:59 +0200mrus(~mrus@2001:19f0:5:3fd4:5400:3ff:fe48:1820) (Ping timeout: 255 seconds)
2021-07-18 07:32:06 +0200jmorris(uid433911@id-433911.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-18 07:33:46 +0200retroid_(~retro@97e2ba5d.skybroadband.com) (Ping timeout: 268 seconds)
2021-07-18 07:37:12 +0200ph88(~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c)
2021-07-18 07:37:58 +0200soft-warm(~soft-warm@2600:8801:db01:8f0:67c1:e7b7:4e84:318d) (Ping timeout: 246 seconds)
2021-07-18 07:52:23 +0200mnrmnaugh(~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net)
2021-07-18 07:56:05 +0200Maxdaman1us(~Maxdamant@user/maxdamantus)
2021-07-18 07:56:10 +0200alphabeta(~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net) (Quit: Quitting IRC :()
2021-07-18 07:56:16 +0200Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 252 seconds)
2021-07-18 07:56:31 +0200kilolympus(~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net)
2021-07-18 07:59:00 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2021-07-18 08:00:02 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2021-07-18 08:18:09 +0200Null_A(~null_a@2601:645:8700:2290:b55a:33c2:1e1d:f229) (Ping timeout: 255 seconds)
2021-07-18 08:24:27 +0200zmt00(~zmt00@user/zmt00) (Ping timeout: 255 seconds)
2021-07-18 08:26:10 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 256 seconds)
2021-07-18 08:27:22 +0200hyiltiz(~quassel@31.220.5.250)
2021-07-18 08:31:32 +0200Maxdaman1usMaxdamantus
2021-07-18 08:41:01 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-18 08:41:02 +0200jmorris(uid433911@id-433911.stonehaven.irccloud.com)
2021-07-18 08:42:47 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-07-18 08:45:55 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 268 seconds)
2021-07-18 08:48:23 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
2021-07-18 08:48:33 +0200PinealGlandOptic(~PinealGla@37.115.210.35)
2021-07-18 08:52:07 +0200Guest9(~Guest9@103.250.137.213)
2021-07-18 08:58:01 +0200desophos(~desophos@2601:249:1680:a570:f1ba:fb0d:59f:a0b5) (Quit: Leaving)
2021-07-18 08:59:30 +0200mcfrdy_(uid507892@user/mcfrdy)
2021-07-18 09:03:11 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-07-18 09:05:52 +0200 <guest61> update message is Nothing
2021-07-18 09:05:53 +0200 <guest61> update message is Nothing
2021-07-18 09:10:24 +0200kilolympus(~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net) (Read error: Connection reset by peer)
2021-07-18 09:15:17 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
2021-07-18 09:15:40 +0200Guest18(~Guest18@2603-8080-6d0d-35bb-0000-0000-0000-0004.res6.spectrum.com) (Quit: Client closed)
2021-07-18 09:22:48 +0200_xor(~xor@74.215.232.67) (Quit: WeeChat 3.2)
2021-07-18 09:28:57 +0200trufas(~trufas@177.240.218.218) (Ping timeout: 276 seconds)
2021-07-18 09:28:58 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-18 09:29:49 +0200trufas(~trufas@177.240.218.218)
2021-07-18 09:32:14 +0200lavaman(~lavaman@98.38.249.169)
2021-07-18 09:35:01 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-18 09:40:57 +0200ph88(~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c) (Ping timeout: 255 seconds)
2021-07-18 09:43:01 +0200chris_(~chris@81.96.113.213)
2021-07-18 09:43:06 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2021-07-18 09:44:17 +0200bontaq(~user@ool-18e47f8d.dyn.optonline.net) (Ping timeout: 245 seconds)
2021-07-18 09:46:13 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-18 09:46:15 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-07-18 09:50:21 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2021-07-18 09:53:06 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 255 seconds)
2021-07-18 09:53:56 +0200Guest9(~Guest9@103.250.137.213) (Quit: Connection closed)
2021-07-18 09:56:37 +0200Feuermagier(~Feuermagi@user/feuermagier)
2021-07-18 10:00:00 +0200acidjnk(~acidjnk@p200300d0c72b9505d437a5269bf657ec.dip0.t-ipconnect.de)
2021-07-18 10:00:28 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-18 10:07:01 +0200hendursa1(~weechat@user/hendursaga)
2021-07-18 10:09:11 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 244 seconds)
2021-07-18 10:09:56 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 255 seconds)
2021-07-18 10:10:51 +0200smtnet3(~asdfasdfa@202.36.244.28)
2021-07-18 10:12:38 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-18 10:13:29 +0200Feuermagier_(~Feuermagi@213.178.26.41)
2021-07-18 10:17:16 +0200 <smtnet3> yoyo
2021-07-18 10:17:44 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-07-18 10:17:48 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-18 10:23:37 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
2021-07-18 10:24:02 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-18 10:25:13 +0200adamse_adamse
2021-07-18 10:27:21 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2021-07-18 10:30:00 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 255 seconds)
2021-07-18 10:30:11 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-18 10:30:36 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds)
2021-07-18 10:30:38 +0200Lord_of_Life_Lord_of_Life
2021-07-18 10:31:49 +0200zeenk(~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3)
2021-07-18 10:32:47 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-18 10:33:57 +0200fendor(~fendor@178.165.167.65.wireless.dyn.drei.com)
2021-07-18 10:33:59 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-18 10:34:14 +0200xff0x_(~xff0x@2001:1a81:525b:ea00:2ecf:bd12:9251:d3e) (Ping timeout: 255 seconds)
2021-07-18 10:34:52 +0200xff0x_(~xff0x@2001:1a81:525b:ea00:61de:d55d:7965:91a3)
2021-07-18 10:41:11 +0200peutri_peutri
2021-07-18 10:41:12 +0200anandprabhu(~anandprab@94.202.243.198)
2021-07-18 10:46:22 +0200azeem(~azeem@dynamic-adsl-94-34-31-95.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-07-18 10:47:13 +0200benin0369(~benin@183.82.204.23)
2021-07-18 10:48:09 +0200azeem(~azeem@176.201.37.153)
2021-07-18 10:50:47 +0200lavaman(~lavaman@98.38.249.169)
2021-07-18 10:50:51 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-18 10:51:23 +0200lavaman(~lavaman@98.38.249.169)
2021-07-18 10:52:50 +0200azeem(~azeem@176.201.37.153) (Ping timeout: 265 seconds)
2021-07-18 10:53:50 +0200azeem(~azeem@176.201.37.153)
2021-07-18 10:56:13 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
2021-07-18 11:01:03 +0200azeem(~azeem@176.201.37.153) (Ping timeout: 265 seconds)
2021-07-18 11:01:12 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-07-18 11:01:35 +0200azeem(~azeem@dynamic-adsl-94-34-31-95.clienti.tiscali.it)
2021-07-18 11:07:45 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-18 11:12:26 +0200azeem(~azeem@dynamic-adsl-94-34-31-95.clienti.tiscali.it) (Ping timeout: 252 seconds)
2021-07-18 11:15:52 +0200_xor(~xor@74.215.232.67)
2021-07-18 11:17:42 +0200Feuermagier_(~Feuermagi@213.178.26.41) (Quit: Leaving)
2021-07-18 11:21:13 +0200ru0mad(~ru0mad@176.187.215.241)
2021-07-18 11:26:57 +0200ru0mad(~ru0mad@176.187.215.241) (Remote host closed the connection)
2021-07-18 11:28:37 +0200ru0mad(~ru0mad@176.187.215.241)
2021-07-18 11:31:59 +0200gehmehgeh(~user@user/gehmehgeh)
2021-07-18 11:32:01 +0200lars8(~bc817c21@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout))
2021-07-18 11:33:26 +0200ru0mad(~ru0mad@176.187.215.241) (Ping timeout: 265 seconds)
2021-07-18 11:33:54 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds)
2021-07-18 11:36:44 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-07-18 11:37:05 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-18 11:37:28 +0200ph88(~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c)
2021-07-18 11:38:05 +0200Guest77(~Guest77@2402:e280:2117:297:ecf8:f374:8704:f843)
2021-07-18 11:40:59 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-07-18 11:43:52 +0200ru0mad(~ru0mad@176.187.215.241)
2021-07-18 11:44:40 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-18 11:45:47 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-18 11:46:37 +0200mcfrdy_(uid507892@user/mcfrdy) (Quit: Connection closed for inactivity)
2021-07-18 11:54:37 +0200ru0mad(~ru0mad@176.187.215.241) (Ping timeout: 268 seconds)
2021-07-18 11:56:21 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-07-18 12:01:32 +0200chomwitt(~Pitsikoko@athedsl-32487.home.otenet.gr) (Ping timeout: 255 seconds)
2021-07-18 12:04:36 +0200jippiedoe(~david@2a02-a44c-e14e-1-a3df-4b90-dd0e-5377.fixed6.kpn.net)
2021-07-18 12:06:09 +0200ru0mad(~ru0mad@176.187.215.241)
2021-07-18 12:08:16 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-18 12:08:52 +0200jippiedoe(~david@2a02-a44c-e14e-1-a3df-4b90-dd0e-5377.fixed6.kpn.net) (Ping timeout: 246 seconds)
2021-07-18 12:09:26 +0200frdy(~mcfrdy@user/mcfrdy)
2021-07-18 12:10:51 +0200ru0mad(~ru0mad@176.187.215.241) (Ping timeout: 258 seconds)
2021-07-18 12:12:46 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2021-07-18 12:18:57 +0200wei2912(~wei2912@112.199.250.21) (Remote host closed the connection)
2021-07-18 12:22:59 +0200wei2912(~wei2912@112.199.250.21)
2021-07-18 12:32:17 +0200lavaman(~lavaman@98.38.249.169)
2021-07-18 12:33:16 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-18 12:34:20 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-18 12:34:35 +0200zaquest(~notzaques@5.128.210.178) (Remote host closed the connection)
2021-07-18 12:35:26 +0200azeem(~azeem@176.201.37.153)
2021-07-18 12:35:47 +0200azeem(~azeem@176.201.37.153) (Read error: Connection reset by peer)
2021-07-18 12:36:00 +0200azeem(~azeem@dynamic-adsl-84-220-239-18.clienti.tiscali.it)
2021-07-18 12:36:54 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 255 seconds)
2021-07-18 12:39:43 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-18 12:39:53 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-18 12:39:59 +0200zaquest(~notzaques@5.128.210.178)
2021-07-18 12:44:41 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-18 12:45:47 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-18 12:46:40 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 252 seconds)
2021-07-18 12:46:41 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-18 12:47:48 +0200jumper149(~jumper149@80.240.31.34)
2021-07-18 12:47:48 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-18 12:57:05 +0200Guest9(~Guest9@103.250.137.212)
2021-07-18 13:07:44 +0200Pickchea(~private@user/pickchea)
2021-07-18 13:08:00 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 268 seconds)
2021-07-18 13:09:08 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
2021-07-18 13:09:11 +0200ghais(uid508683@id-508683.tinside.irccloud.com)
2021-07-18 13:09:53 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-18 13:14:12 +0200hseg(~gesh@185.120.126.10)
2021-07-18 13:14:14 +0200jippiedoe(~david@2a02-a44c-e14e-1-8d88-9bbd-c50a-c552.fixed6.kpn.net)
2021-07-18 13:14:47 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-07-18 13:15:41 +0200smichel17(~smichel17@c-73-68-217-18.hsd1.ma.comcast.net)
2021-07-18 13:16:26 +0200ghaisGhais
2021-07-18 13:19:58 +0200 <hseg> has this idea been offered to solve the orphan instance problem: extend overlapping rules so that non-orphan instances are considered more specific than orphan instances
2021-07-18 13:20:41 +0200 <hseg> at first blush, it would seem to provide a mechanism for adoptable orphans -- just mark your instance OVERLAPPABLE, and petition upstream to pull it in
2021-07-18 13:20:55 +0200Ghais_0x47
2021-07-18 13:22:16 +0200Guest9(~Guest9@103.250.137.212) (Quit: Connection closed)
2021-07-18 13:22:44 +0200 <hseg> you'd just want to extract the orphans from your package so you don't have multiple orphans first
2021-07-18 13:25:42 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-18 13:26:48 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-18 13:27:48 +0200hseg(~gesh@185.120.126.10) (Quit: WeeChat 3.2)
2021-07-18 13:29:30 +0200hseg(~gesh@185.120.126.10)
2021-07-18 13:30:18 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-18 13:40:30 +0200Codaraxis(~Codaraxis@user/codaraxis) (Remote host closed the connection)
2021-07-18 13:40:53 +0200Codaraxis(~Codaraxis@user/codaraxis)
2021-07-18 13:40:55 +0200ph88(~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c) (Ping timeout: 246 seconds)
2021-07-18 13:44:11 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-18 13:45:45 +0200jippiedoe(~david@2a02-a44c-e14e-1-8d88-9bbd-c50a-c552.fixed6.kpn.net) (Ping timeout: 255 seconds)
2021-07-18 13:56:25 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-07-18 13:59:19 +0200ishutin_(~ishutin@85-238-93-30.pool.digikabel.hu) (Remote host closed the connection)
2021-07-18 14:04:01 +0200pesada(~agua@2804:18:44:17a3:1:0:2cdf:1514)
2021-07-18 14:04:43 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-07-18 14:05:48 +0200hexfive(~eric@50.35.83.177) (Quit: WeeChat 3.0)
2021-07-18 14:06:49 +0200agua(~agua@2804:14c:8793:8e2f:642c:be4c:c775:de87) (Ping timeout: 246 seconds)
2021-07-18 14:08:15 +0200xff0x_(~xff0x@2001:1a81:525b:ea00:61de:d55d:7965:91a3) (Ping timeout: 255 seconds)
2021-07-18 14:08:33 +0200xff0x_(~xff0x@185.65.135.235)
2021-07-18 14:09:04 +0200 <hseg> no takers? to recall my question was whether considering non-orphan instances more specific than orphans for overlap resolution was ever considered as a solution for the orphan instance problem
2021-07-18 14:14:53 +0200soft-warm(~soft-warm@2600:8801:db01:8f0:b50e:8cc8:c702:8b1f)
2021-07-18 14:18:42 +0200fendor_(~fendor@178.165.167.65.wireless.dyn.drei.com)
2021-07-18 14:21:02 +0200fendor__(~fendor@212095005147.public.telering.at)
2021-07-18 14:21:07 +0200turlando_(~turlando@93-42-250-112.ip89.fastwebnet.it)
2021-07-18 14:21:24 +0200turlando(~turlando@user/turlando) (Remote host closed the connection)
2021-07-18 14:21:24 +0200fendor(~fendor@178.165.167.65.wireless.dyn.drei.com) (Read error: Connection reset by peer)
2021-07-18 14:22:58 +0200fendor(~fendor@178.165.167.65.wireless.dyn.drei.com)
2021-07-18 14:23:16 +0200fendor_(~fendor@178.165.167.65.wireless.dyn.drei.com) (Ping timeout: 246 seconds)
2021-07-18 14:23:19 +0200fendor(~fendor@178.165.167.65.wireless.dyn.drei.com) (Read error: Connection reset by peer)
2021-07-18 14:23:46 +0200fendor(~fendor@178.165.167.65.wireless.dyn.drei.com)
2021-07-18 14:25:01 +0200soft-warm(~soft-warm@2600:8801:db01:8f0:b50e:8cc8:c702:8b1f) (Ping timeout: 246 seconds)
2021-07-18 14:26:46 +0200xff0x_(~xff0x@185.65.135.235) (Ping timeout: 252 seconds)
2021-07-18 14:28:46 +0200xff0x_(~xff0x@2001:1a81:525b:ea00:8ac3:8abd:f864:c680)
2021-07-18 14:30:14 +0200fendor__fendor_
2021-07-18 14:32:06 +0200jmorris(uid433911@id-433911.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-18 14:33:41 +0200lavaman(~lavaman@98.38.249.169)
2021-07-18 14:37:05 +0200awth13(~user@user/awth13)
2021-07-18 14:37:34 +0200ph88(~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c)
2021-07-18 14:38:34 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
2021-07-18 14:38:36 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2021-07-18 14:38:49 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2021-07-18 14:41:06 +0200Pickchea(~private@user/pickchea) (Ping timeout: 255 seconds)
2021-07-18 14:46:44 +0200 <guest61> update message is Nothing
2021-07-18 14:48:23 +0200 <[exa]> no update, good update
2021-07-18 14:48:31 +0200Feuermagier(~Feuermagi@user/feuermagier) (Ping timeout: 268 seconds)
2021-07-18 14:50:07 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-18 14:52:27 +0200 <tom__> Are stochastic processes better modelled as comonads or monads?
2021-07-18 14:53:07 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-07-18 14:53:42 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-18 14:54:50 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-18 14:55:26 +0200 <[exa]> tom__: depends
2021-07-18 14:55:27 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-18 14:55:30 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 255 seconds)
2021-07-18 14:55:45 +0200 <[exa]> tom__: comonads are great for representing a "cache" of stuff, may be interesting for e.g. precomputed distributions
2021-07-18 14:56:28 +0200 <[exa]> tom__: monads are great for representing the "actual background context" that you only somehow manipulate using (say) an EDSL
2021-07-18 14:56:33 +0200 <tom__> Its for brownian motion/wiener process
2021-07-18 14:56:39 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-18 14:57:01 +0200Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (Quit: free())
2021-07-18 14:57:02 +0200lbseale(~lbseale@user/ep1ctetus)
2021-07-18 14:57:11 +0200 <[exa]> so you have a state of X particles moving around and hitting each other?
2021-07-18 14:57:34 +0200 <tom__> Well, modelling a stock price
2021-07-18 14:57:49 +0200Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius)
2021-07-18 14:57:52 +0200 <tom__> So just a time series
2021-07-18 14:58:13 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-18 14:58:35 +0200 <[exa]> ok so there's some "actual state", and some "history" that you may as well forget, right?
2021-07-18 14:59:23 +0200 <tom__> Yeah since its a martingale the process computes the next step from the last step only
2021-07-18 14:59:58 +0200 <tom__> but the last step has some extra state which is the delta of the brownian motion itself which obviously has a random component
2021-07-18 15:00:33 +0200 <tom__> Forgetting history when computing the next step feels comonadic to me
2021-07-18 15:05:29 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Quit: mikoto-chan)
2021-07-18 15:05:43 +0200 <[exa]> yeah that would work
2021-07-18 15:05:44 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
2021-07-18 15:06:01 +0200 <[exa]> otoh it might be much simpler because you really don't need to reach for the history there
2021-07-18 15:11:25 +0200burnside_(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-18 15:11:25 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Read error: Connection reset by peer)
2021-07-18 15:13:52 +0200fendor__(~fendor@178.165.167.65.wireless.dyn.drei.com)
2021-07-18 15:15:57 +0200mthvedt(uid501949@id-501949.stonehaven.irccloud.com)
2021-07-18 15:15:59 +0200burnside_(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Read error: Connection reset by peer)
2021-07-18 15:16:05 +0200 <tom__> awesome thanks!
2021-07-18 15:16:06 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-18 15:17:00 +0200fendor_(~fendor@212095005147.public.telering.at) (Ping timeout: 252 seconds)
2021-07-18 15:17:00 +0200 <guest61> update message is Nothing
2021-07-18 15:20:52 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-07-18 15:22:44 +0200chexum(~chexum@gateway/tor-sasl/chexum) (Quit: -)
2021-07-18 15:23:38 +0200retroid_(~retro@97e2ba5d.skybroadband.com)
2021-07-18 15:26:41 +0200hseg_(~gesh@185.120.126.10)
2021-07-18 15:27:28 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-18 15:29:48 +0200hseg(~gesh@185.120.126.10) (Ping timeout: 258 seconds)
2021-07-18 15:30:42 +0200chomwitt(~Pitsikoko@athedsl-32487.home.otenet.gr)
2021-07-18 15:33:43 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-18 15:34:49 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-18 15:39:00 +0200chexum(~chexum@gateway/tor-sasl/chexum)
2021-07-18 15:39:00 +0200chexum(~chexum@gateway/tor-sasl/chexum) (Client Quit)
2021-07-18 15:45:29 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-07-18 15:49:20 +0200 <Boarders> Is there a convenient way to see every type defined in base?
2021-07-18 15:49:41 +0200haritz(~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220)
2021-07-18 15:49:41 +0200haritz(~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) (Changing host)
2021-07-18 15:49:41 +0200haritz(~hrtz@user/haritz)
2021-07-18 15:52:29 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-18 15:55:20 +0200anandprabhu(~anandprab@94.202.243.198) (Quit: Leaving)
2021-07-18 16:00:30 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-18 16:00:33 +0200 <[exa]> Boarders: in ghci, you can do something like Prelude.[2x tab]
2021-07-18 16:01:05 +0200 <[exa]> types will be nicely together starting with capitals
2021-07-18 16:01:06 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2021-07-18 16:01:20 +0200 <[exa]> but that ain't too systematic, right
2021-07-18 16:01:37 +0200 <Boarders> Still useful to know :)
2021-07-18 16:01:43 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-18 16:02:27 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Client Quit)
2021-07-18 16:02:36 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2021-07-18 16:02:50 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-18 16:03:06 +0200zebrag(~chris@user/zebrag)
2021-07-18 16:03:22 +0200acidjnk(~acidjnk@p200300d0c72b9505d437a5269bf657ec.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2021-07-18 16:05:02 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
2021-07-18 16:06:06 +0200_73(~user@pool-96-252-123-136.bstnma.fios.verizon.net)
2021-07-18 16:06:36 +0200Katarushisu(~Katarushi@cpc152083-finc20-2-0-cust170.4-2.cable.virginm.net) (Ping timeout: 255 seconds)
2021-07-18 16:07:03 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 255 seconds)
2021-07-18 16:09:08 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-07-18 16:12:05 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-18 16:12:13 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-18 16:12:19 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-07-18 16:12:22 +0200zeenk(~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) (Quit: Konversation terminated!)
2021-07-18 16:15:29 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-18 16:15:45 +0200_73(~user@pool-96-252-123-136.bstnma.fios.verizon.net) (ERC (IRC client for Emacs 27.2))
2021-07-18 16:16:42 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-07-18 16:17:51 +0200keutoi(~keutoi@157.47.111.203) (Ping timeout: 255 seconds)
2021-07-18 16:19:47 +0200keutoi(~keutoi@106.208.22.182)
2021-07-18 16:20:04 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
2021-07-18 16:20:11 +0200immae(~immae@2a01:4f8:141:53e7::) (Quit: WeeChat 2.9)
2021-07-18 16:20:37 +0200immae(~immae@2a01:4f8:141:53e7::)
2021-07-18 16:26:35 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds)
2021-07-18 16:30:16 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 268 seconds)
2021-07-18 16:30:44 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-18 16:31:51 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-18 16:34:06 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
2021-07-18 16:36:25 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-07-18 16:37:15 +0200Topsi(~Tobias@dyndsl-095-033-088-035.ewe-ip-backbone.de)
2021-07-18 16:39:45 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-18 16:40:57 +0200ph88(~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c) (Ping timeout: 250 seconds)
2021-07-18 16:44:42 +0200keutoi(~keutoi@106.208.22.182) (Ping timeout: 265 seconds)
2021-07-18 16:45:19 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 258 seconds)
2021-07-18 16:45:44 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-18 16:46:51 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-18 16:47:44 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-18 16:47:45 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-07-18 16:48:51 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-18 16:49:40 +0200lbseale(~lbseale@user/ep1ctetus) (Read error: Connection reset by peer)
2021-07-18 16:52:43 +0200azeem(~azeem@dynamic-adsl-84-220-239-18.clienti.tiscali.it) (Ping timeout: 246 seconds)
2021-07-18 16:58:17 +0200afotgkmnzj7asv3r(~afotgkmnz@2001:470:69fc:105::c24b)
2021-07-18 16:58:30 +0200Atum_(~IRC@user/atum/x-2392232)
2021-07-18 17:01:01 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
2021-07-18 17:02:48 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-07-18 17:08:21 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-18 17:08:28 +0200yauhsien(~yauhsien@61-231-25-245.dynamic-ip.hinet.net)
2021-07-18 17:08:50 +0200oso(~oso@2601:58c:c080:a950:e67d:b4e2:c5be:433f) (Quit: Client closed)
2021-07-18 17:09:39 +0200Null_A(~null_a@2601:645:8700:2290:a961:38e5:e25d:7cd0)
2021-07-18 17:11:02 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-07-18 17:18:30 +0200 <davean> hseg_: I feel you've missed what we value about instances
2021-07-18 17:19:04 +0200 <hseg_> oh?
2021-07-18 17:19:10 +0200hseg_hseg
2021-07-18 17:19:30 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 255 seconds)
2021-07-18 17:20:42 +0200 <davean> hseg: your approach makes it vary by what you import.
2021-07-18 17:20:45 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-18 17:21:21 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 258 seconds)
2021-07-18 17:21:47 +0200 <hseg> except it already does -- if you ever have overlapping instances, whether the more specific instance is imported will affect which instance gets chosen
2021-07-18 17:21:55 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-18 17:21:58 +0200 <davean> yes, thats the problem
2021-07-18 17:21:59 +0200 <hseg> true, that isn't common practice
2021-07-18 17:22:45 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Read error: Connection reset by peer)
2021-07-18 17:23:01 +0200 <hseg> the idea would be that this would be used to provide instances until upstream does, not to try and override upstream's instances
2021-07-18 17:23:50 +0200Pickchea(~private@user/pickchea)
2021-07-18 17:23:52 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-18 17:25:34 +0200isekaijin(~pyon@user/pyon)
2021-07-18 17:27:07 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-18 17:28:46 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-18 17:29:52 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-18 17:29:54 +0200azeem(~azeem@dynamic-adsl-94-34-39-251.clienti.tiscali.it)
2021-07-18 17:30:04 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-18 17:30:54 +0200gehmehgeh(~user@user/gehmehgeh)
2021-07-18 17:31:56 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds)
2021-07-18 17:32:58 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
2021-07-18 17:33:47 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 268 seconds)
2021-07-18 17:34:31 +0200machinedgod(~machinedg@24.105.81.50)
2021-07-18 17:34:55 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-18 17:34:58 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2021-07-18 17:35:11 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-18 17:35:52 +0200Deide(~Deide@217.155.19.23)
2021-07-18 17:35:52 +0200Deide(~Deide@217.155.19.23) (Changing host)
2021-07-18 17:35:52 +0200Deide(~Deide@user/deide)
2021-07-18 17:36:19 +0200Guest9(~Guest9@103.240.169.111)
2021-07-18 17:36:52 +0200RemiYukoAkechiShiro
2021-07-18 17:37:17 +0200ph88(~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c)
2021-07-18 17:37:37 +0200wei2912(~wei2912@112.199.250.21) (Quit: Lost terminal)
2021-07-18 17:41:31 +0200keutoi(~keutoi@223.237.21.130)
2021-07-18 17:42:05 +0200zmt00(~zmt00@user/zmt00)
2021-07-18 17:43:39 +0200cheater(~Username@user/cheater) (Ping timeout: 268 seconds)
2021-07-18 17:43:50 +0200cheater(~Username@user/cheater)
2021-07-18 17:48:46 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-18 17:48:56 +0200xff0x_(~xff0x@2001:1a81:525b:ea00:8ac3:8abd:f864:c680) (Ping timeout: 255 seconds)
2021-07-18 17:49:23 +0200zcombinator(~zcombinat@host-79-33-75-218.retail.telecomitalia.it)
2021-07-18 17:49:53 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-18 17:49:58 +0200xff0x_(~xff0x@2001:1a81:525b:ea00:e4bc:612d:f531:cac7)
2021-07-18 17:53:28 +0200keutoi(~keutoi@223.237.21.130) (Quit: leaving)
2021-07-18 17:53:29 +0200hololeap(~hololeap@user/hololeap)
2021-07-18 17:54:09 +0200NieDzejkob(~quassel@195.149.98.3) (Quit: No Ping reply in 180 seconds.)
2021-07-18 17:55:28 +0200NieDzejkob(~quassel@195.149.98.3)
2021-07-18 17:55:28 +0200chomwitt(~Pitsikoko@athedsl-32487.home.otenet.gr) (Ping timeout: 258 seconds)
2021-07-18 17:57:26 +0200zcombinator(~zcombinat@host-79-33-75-218.retail.telecomitalia.it) (Quit: WeeChat 3.2)
2021-07-18 17:59:10 +0200burnside_(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-18 17:59:10 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Read error: Connection reset by peer)
2021-07-18 18:00:58 +0200Tisoxin(~ikosit@user/ikosit)
2021-07-18 18:01:19 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-07-18 18:02:34 +0200niemand(~niemand@p2e52f785.dip0.t-ipconnect.de)
2021-07-18 18:03:49 +0200slycelote_(~slycelote@user/slycelote)
2021-07-18 18:03:54 +0200Guest9(~Guest9@103.240.169.111) (Ping timeout: 258 seconds)
2021-07-18 18:04:30 +0200slycelote(~slycelote@user/slycelote) (Ping timeout: 255 seconds)
2021-07-18 18:04:32 +0200niemand(~niemand@p2e52f785.dip0.t-ipconnect.de) (Client Quit)
2021-07-18 18:04:55 +0200burnside_(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-18 18:05:30 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-18 18:10:15 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 265 seconds)
2021-07-18 18:11:04 +0200econo(uid147250@user/econo)
2021-07-18 18:12:47 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-18 18:13:23 +0200TranquilEcho(~grom@user/tranquilecho)
2021-07-18 18:13:44 +0200hseg(~gesh@185.120.126.10) (Ping timeout: 252 seconds)
2021-07-18 18:13:52 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
2021-07-18 18:13:54 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-18 18:13:57 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-18 18:14:08 +0200Pickchea(~private@user/pickchea) (Ping timeout: 255 seconds)
2021-07-18 18:15:17 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-18 18:15:43 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 268 seconds)
2021-07-18 18:17:03 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-18 18:18:10 +0200ph88^(~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de)
2021-07-18 18:18:44 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-07-18 18:18:48 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-07-18 18:19:36 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
2021-07-18 18:22:02 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-18 18:22:03 +0200ph88(~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c) (Ping timeout: 255 seconds)
2021-07-18 18:22:26 +0200Guest9(~Guest9@103.250.139.40)
2021-07-18 18:23:05 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-18 18:24:17 +0200dajoer(~david@user/gvx) (Quit: leaving)
2021-07-18 18:26:12 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Ping timeout: 268 seconds)
2021-07-18 18:27:06 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-18 18:30:20 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-18 18:30:31 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
2021-07-18 18:31:25 +0200Guest31(~Guest31@76-236-222-208.lightspeed.tukrga.sbcglobal.net)
2021-07-18 18:32:19 +0200 <Guest31> can someone help me understand how case works?
2021-07-18 18:32:24 +0200 <Guest31> myTakeWhileFold condition xs = foldr step [] xs
2021-07-18 18:32:24 +0200 <Guest31> where step x y = case condition y of
2021-07-18 18:32:25 +0200 <Guest31> True -> x ++ y
2021-07-18 18:32:25 +0200 <Guest31> False -> x
2021-07-18 18:33:32 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-07-18 18:33:50 +0200 <Guest31> I thought this would work, butI get an error at True
2021-07-18 18:34:39 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 255 seconds)
2021-07-18 18:35:02 +0200 <davean> well you need to give us a type signature or we have no idea what "condition" or "xs" are
2021-07-18 18:35:02 +0200lavaman(~lavaman@98.38.249.169)
2021-07-18 18:35:11 +0200 <davean> and you didn't give us the error
2021-07-18 18:36:11 +0200 <Guest31> myTakeWhileFold :: (a -> Bool) -> [a] -> [a]
2021-07-18 18:36:18 +0200 <Guest31> error: parse error on input ‘True’
2021-07-18 18:36:30 +0200 <davean> I expect you have an indentation error
2021-07-18 18:37:32 +0200 <Guest31> OK Ill check it out thanks
2021-07-18 18:39:06 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-18 18:39:46 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
2021-07-18 18:41:23 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-18 18:42:24 +0200chris_(~chris@81.96.113.213)
2021-07-18 18:42:47 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-18 18:43:53 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-18 18:44:47 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-18 18:45:54 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-18 18:46:08 +0200 <Guest31> that was it thanks davean
2021-07-18 18:46:28 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-18 18:46:43 +0200Null_A(~null_a@2601:645:8700:2290:a961:38e5:e25d:7cd0) (Read error: Connection reset by peer)
2021-07-18 18:47:17 +0200Null_A(~null_a@2601:645:8700:2290:a961:38e5:e25d:7cd0)
2021-07-18 18:47:25 +0200 <monochrom> This is why the line of "where" should contain nothing else.
2021-07-18 18:47:41 +0200 <geekosaur> it needs to be more indented than "step" with NonDecreasingIndentation, or than "case" without it, I think
2021-07-18 18:47:51 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-18 18:48:24 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-18 18:48:36 +0200agua(~agua@2804:14c:8793:8e2f:642c:be4c:c775:de87)
2021-07-18 18:49:12 +0200 <monochrom> The grammar is flexible in styles but some styles are misleading.
2021-07-18 18:50:39 +0200 <davean> I've never really gotten that where style
2021-07-18 18:51:18 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 255 seconds)
2021-07-18 18:51:18 +0200pesada(~agua@2804:18:44:17a3:1:0:2cdf:1514) (Ping timeout: 255 seconds)
2021-07-18 18:52:36 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
2021-07-18 18:56:13 +0200chomwitt(~Pitsikoko@athedsl-32487.home.otenet.gr)
2021-07-18 18:57:11 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
2021-07-18 18:58:06 +0200 <Guest31> What would be an example of good style with Where monochrom?
2021-07-18 18:58:15 +0200 <Guest31> in your opinion
2021-07-18 18:58:20 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-07-18 18:59:37 +0200 <monochrom> <monochrom> This is why the line of "where" should contain nothing else.
2021-07-18 18:59:47 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-18 19:01:23 +0200 <c_wraith> I've been working hard recently to style my haskell code such that no indentation depends on any token length
2021-07-18 19:01:54 +0200chris_(~chris@81.96.113.213)
2021-07-18 19:01:57 +0200 <c_wraith> It's awkward in some places, but it's got huge advantages
2021-07-18 19:03:22 +0200 <monochrom> Yeah, "f x | x>0 = ..." is fairly natural, to always split it takes way too much discipline.
2021-07-18 19:04:11 +0200 <monochrom> Furthermore if you split at both | and = it looks ugly for short code. (But makes perfect sense for long code.)
2021-07-18 19:04:48 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-18 19:05:55 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-18 19:06:09 +0200chris_(~chris@81.96.113.213) (Ping timeout: 255 seconds)
2021-07-18 19:09:48 +0200 <dsal> I might have to start using oumolu which, as tweag says in their blog post: ormolu: format haskell code like never before (except they did that in all caps)
2021-07-18 19:10:34 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-18 19:12:07 +0200 <Franciman> I personally try to shy away from any tool
2021-07-18 19:12:10 +0200 <Franciman> i use just ghc
2021-07-18 19:12:25 +0200 <Franciman> ghc --make
2021-07-18 19:12:27 +0200 <Franciman> is all I need
2021-07-18 19:12:32 +0200 <Franciman> oh and ghcup
2021-07-18 19:12:37 +0200 <Franciman> ghcup is unvaluable
2021-07-18 19:12:52 +0200 <davean> I still haven't used ghcup
2021-07-18 19:12:57 +0200 <dsal> If you're not the first member on an established team, they might be upset with you if you decided to ignore all their ways.
2021-07-18 19:13:34 +0200 <davean> I'd be upset to end up with the mess that is oumolu how ever it happened :-p
2021-07-18 19:13:58 +0200 <dsal> :( Yeah. That's the biggest downside I'm facing.
2021-07-18 19:14:22 +0200 <davean> oumolu has no concept of the code its formating
2021-07-18 19:14:29 +0200 <davean> it can only consider syntax, not content
2021-07-18 19:14:42 +0200 <davean> so every human element is thrown out the window
2021-07-18 19:14:43 +0200 <dsal> They took a lot from elm which prioritized reading diffs over reading code.
2021-07-18 19:14:49 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-18 19:15:35 +0200 <dsal> IMO, fixing the stuff that renders diffs would be a saner approach than making all the code harder to read.
2021-07-18 19:15:55 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-18 19:16:14 +0200oso(~oso@2601:58c:c080:a950:e67d:b4e2:c5be:433f)
2021-07-18 19:18:23 +0200 <geekosaur> --make hasn't been needed for a while now (since ghc 6.12 iirc)
2021-07-18 19:19:03 +0200 <dsal> I lose most of my excitement about elm, dhall, etc... when I have to do things their One True Way™. I passed a thing I wrote in elm through their standard formatter and got this: https://www.irccloud.com/pastebin/lIpmTDCu/format.elm
2021-07-18 19:19:14 +0200 <geekosaur> I'm a little surprised it hasn't been deprecated
2021-07-18 19:19:32 +0200 <dsal> I've not used ormolu much myself, but I expect I'll be seeing more such doublings where I can't read a function on my screen anymore.
2021-07-18 19:21:13 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-18 19:22:06 +0200 <monochrom> In comp.lang.functional there was once a detractor who praised imperative programming for "one thing at a time, one concept per line" and attacked functional programming for the opposite.
2021-07-18 19:22:29 +0200 <monochrom> You have just shown an answer similar to mine :)
2021-07-18 19:22:55 +0200 <davean> lol. I've seen a lot of mixed concerns in imperative programming
2021-07-18 19:23:30 +0200 <maerwald> if you do imperative programming with shared mutability tamed, then that is workable
2021-07-18 19:24:09 +0200Null_A(~null_a@2601:645:8700:2290:a961:38e5:e25d:7cd0) (Ping timeout: 255 seconds)
2021-07-18 19:25:03 +0200 <monochrom> My reverse thinking is that whoever imposed that oversplitting style must have been an imperative bonehead who couldn't even understand in C "x = cos(t); y = sin(t);" if I wrote that as one line.
2021-07-18 19:25:24 +0200 <geekosaur> or a Python programmer
2021-07-18 19:25:29 +0200fef(~thedawn@user/thedawn) (Remote host closed the connection)
2021-07-18 19:25:54 +0200 <dsal> monochrom: please state your variable names in the form of complete sentences.
2021-07-18 19:26:12 +0200 <monochrom> haha yikes
2021-07-18 19:26:27 +0200 <davean> the_variable_x
2021-07-18 19:26:29 +0200 <geekosaur> I haven't programmed cobol in decades
2021-07-18 19:26:29 +0200 <dsal> I got in an argument with someone who said he had some kind of neurodivergence and couldn't possible comprehend code that used such short variable names.
2021-07-18 19:26:30 +0200 <davean> Done?
2021-07-18 19:26:45 +0200 <monochrom> COMPUTE COSINE OF T INTO X
2021-07-18 19:26:51 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 255 seconds)
2021-07-18 19:26:55 +0200 <monochrom> (let's go COBOL for complete sentences)
2021-07-18 19:26:58 +0200P1RATEZ(piratez@user/p1ratez)
2021-07-18 19:28:23 +0200 <monochrom> COMPUTE COSINE OF T INTO THE_VAR_THAT_WOULD_BE_COSINE_OF_T
2021-07-18 19:28:35 +0200hendursa1(~weechat@user/hendursaga) (Quit: hendursa1)
2021-07-18 19:28:37 +0200 <monochrom> (inspired by the movie name "the kid that would be king" :) )
2021-07-18 19:29:05 +0200 <monochrom> "lady of the trig functions, please return the cosine of t"
2021-07-18 19:29:11 +0200 <monochrom> OK I'll stop.
2021-07-18 19:29:11 +0200 <oso> needs more "Please"
2021-07-18 19:29:23 +0200hendursaga(~weechat@user/hendursaga)
2021-07-18 19:29:25 +0200 <davean> no, should be worded must
2021-07-18 19:29:29 +0200 <davean> we want to have confidence in it
2021-07-18 19:30:03 +0200 <oso> i was referencing INTERCAL, which wouldn't compile if you didn't say "please" enough but also wouldn't compile if you said it too much because you were being a suckup
2021-07-18 19:30:51 +0200 <davean> Yes but a function like "please_compute_the_cosine_of_t" might not
2021-07-18 19:30:56 +0200 <davean> you can't rely on your code being agreeable!
2021-07-18 19:31:26 +0200 <oso> true; on the contrary, i find my code to be most disagreeable
2021-07-18 19:33:00 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection)
2021-07-18 19:33:23 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-18 19:37:38 +0200mnrmnaugh(~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net) (Quit: Leaving)
2021-07-18 19:40:04 +0200 <dsal> In go, we use Must as a prefix for things that will panic if they don't work.
2021-07-18 19:40:34 +0200 <davean> Ugh, like usuall go gets it wrong
2021-07-18 19:40:45 +0200 <davean> "must" should make it a total function that matches the specification
2021-07-18 19:40:53 +0200ph88^(~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de) (Ping timeout: 258 seconds)
2021-07-18 19:41:05 +0200 <davean> What part of "must" did they understand?
2021-07-18 19:41:18 +0200 <monochrom> mustHead (x:xs) = x \∩/
2021-07-18 19:42:00 +0200 <davean> monochrom: thats exactly the sort of thing "must" must fix!
2021-07-18 19:42:20 +0200 <monochrom> mustFix f = let x = f x in x
2021-07-18 19:42:40 +0200azeem(~azeem@dynamic-adsl-94-34-39-251.clienti.tiscali.it) (Ping timeout: 268 seconds)
2021-07-18 19:43:01 +0200neurocyte(~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
2021-07-18 19:43:21 +0200azeem(~azeem@176.200.195.170)
2021-07-18 19:43:49 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-18 19:43:52 +0200oso(~oso@2601:58c:c080:a950:e67d:b4e2:c5be:433f) (Ping timeout: 246 seconds)
2021-07-18 19:44:14 +0200 <monochrom> OTOH perhaps "if they don't work" means "you can assume it works, only a system bug would be a reason why it doesn't, which is not your responsibility"
2021-07-18 19:44:57 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-18 19:45:42 +0200 <davean> lets just always assume it works.
2021-07-18 19:45:43 +0200 <monochrom> OTOOH under multiple-world non-determinism and the convention "ignore those worlds that don't survive", the function works in all surviving worlds, so the modal quantifier "must" is right.
2021-07-18 19:45:57 +0200 <davean> Yah, now you're getting it
2021-07-18 19:46:03 +0200 <monochrom> :)
2021-07-18 19:46:53 +0200lavaman(~lavaman@98.38.249.169)
2021-07-18 19:47:11 +0200 <davean> mustSort = randomizeOrder
2021-07-18 19:47:47 +0200 <dsal> must sort eventually
2021-07-18 19:48:06 +0200 <davean> dsal: No, quantum bogosort sorts in O(n)
2021-07-18 19:48:39 +0200 <dsal> I've been meaning to get a new computer for a while. Might as well be a quantum one.
2021-07-18 19:48:52 +0200h98(~h98@187.83.249.216.dyn.smithville.net)
2021-07-18 19:49:13 +0200 <davean> So, launch missiles is in IO, whats the monad of universes?
2021-07-18 19:49:43 +0200 <monochrom> []
2021-07-18 19:50:22 +0200 <monochrom> Dr. Strange and the LogicT monad transformer of madness
2021-07-18 19:50:22 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection)
2021-07-18 19:50:28 +0200machinedgod(~machinedg@24.105.81.50)
2021-07-18 19:51:08 +0200 <h98> dumb question, is there a way to avoid the inner parentheses in the type application "@(f (g a b))"? something like @(f $ g a b) on the type-level?
2021-07-18 19:51:19 +0200__monty__(~toonn@user/toonn)
2021-07-18 19:51:44 +0200 <monochrom> No.
2021-07-18 19:52:24 +0200turlando_(~turlando@93-42-250-112.ip89.fastwebnet.it) (Quit: Leaving)
2021-07-18 19:52:33 +0200 <dmj`> type Foo f g a b = f (g a b) -- @(Foo f g a b) ... maybe?
2021-07-18 19:52:37 +0200oso(~oso@2601:58c:c080:a950:e67d:b4e2:c5be:433f)
2021-07-18 19:52:37 +0200turlando_(~turlando@93-42-250-112.ip89.fastwebnet.it)
2021-07-18 19:54:21 +0200 <h98> oooh
2021-07-18 19:54:39 +0200 <davean> I guess the Haskellish form would be "sort = must (\xs -> all id . map (\(x,y) -> x <= y) . zip xs $ tail xs) randomizeOrder
2021-07-18 19:54:40 +0200 <h98> yes duh, that works...thanks
2021-07-18 19:55:10 +0200Sgeo(~Sgeo@user/sgeo)
2021-07-18 19:56:16 +0200qrpnxz(~qrpnxz@user/qrpnxz) (Ping timeout: 272 seconds)
2021-07-18 19:57:35 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-18 19:59:50 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-18 20:00:33 +0200azeem(~azeem@176.200.195.170) (Ping timeout: 268 seconds)
2021-07-18 20:00:56 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-18 20:02:24 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
2021-07-18 20:03:38 +0200 <guest61> update message is Nothing
2021-07-18 20:03:45 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-18 20:05:23 +0200 <h98> I can't get over that trick by the way davean, no more nested parentheses in any of my type expressions!
2021-07-18 20:05:35 +0200 <guest61> update message is Nothing
2021-07-18 20:05:36 +0200 <davean> Yu mean dmj`?
2021-07-18 20:05:55 +0200 <h98> sorry yes, dmj` hah
2021-07-18 20:06:06 +0200 <davean> *I'd* nest the parens because its less indirection :-p
2021-07-18 20:06:22 +0200Guest77(~Guest77@2402:e280:2117:297:ecf8:f374:8704:f843) (Quit: Client closed)
2021-07-18 20:06:35 +0200 <dmj`> "One weird trick to remove your parentheses... lisp programmers *hate* him"
2021-07-18 20:06:36 +0200 <davean> (Not if the alias had semantics weight of its own though)
2021-07-18 20:09:49 +0200Guest31(~Guest31@76-236-222-208.lightspeed.tukrga.sbcglobal.net) (Quit: Client closed)
2021-07-18 20:10:42 +0200qrpnxz(~qrpnxz@user/qrpnxz)
2021-07-18 20:10:50 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-18 20:11:57 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-18 20:15:10 +0200azeem(~azeem@dynamic-adsl-94-34-39-251.clienti.tiscali.it)
2021-07-18 20:15:54 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com)
2021-07-18 20:21:57 +0200Atum_(~IRC@user/atum/x-2392232) (Ping timeout: 250 seconds)
2021-07-18 20:24:54 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-18 20:25:56 +0200lbseale(~lbseale@user/ep1ctetus)
2021-07-18 20:26:22 +0200burnside_(~burnsides@client-8-82.eduroam.oxuni.org.uk)
2021-07-18 20:27:24 +0200burnside_(~burnsides@client-8-82.eduroam.oxuni.org.uk) (Remote host closed the connection)
2021-07-18 20:29:27 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 265 seconds)
2021-07-18 20:31:30 +0200burnsidesLlama(~burnsides@client-8-82.eduroam.oxuni.org.uk)
2021-07-18 20:34:52 +0200chris_(~chris@81.96.113.213)
2021-07-18 20:36:19 +0200burnsidesLlama(~burnsides@client-8-82.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds)
2021-07-18 20:37:34 +0200ph88^(~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c)
2021-07-18 20:40:14 +0200lbseale(~lbseale@user/ep1ctetus) (Remote host closed the connection)
2021-07-18 20:40:37 +0200lbseale(~lbseale@user/ep1ctetus)
2021-07-18 20:47:25 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 268 seconds)
2021-07-18 20:49:11 +0200h98(~h98@187.83.249.216.dyn.smithville.net) (Quit: Client closed)
2021-07-18 20:49:45 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
2021-07-18 20:53:41 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-18 20:54:44 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Read error: Connection reset by peer)
2021-07-18 20:55:12 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2021-07-18 20:58:45 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-18 20:58:52 +0200 <guest61> update message is Nothing
2021-07-18 21:03:47 +0200 <monochrom> guest61: What is all that about?
2021-07-18 21:04:12 +0200 <guest61> update message is Nothing
2021-07-18 21:04:17 +0200ChanServ+o monochrom
2021-07-18 21:04:23 +0200monochrom+b *!*@47.245.54.240
2021-07-18 21:04:23 +0200guest61monochromguest61
2021-07-18 21:04:36 +0200monochrom-o monochrom
2021-07-18 21:05:49 +0200Pickchea(~private@user/pickchea)
2021-07-18 21:05:53 +0200Null_A(~null_a@2601:645:8700:2290:a961:38e5:e25d:7cd0)
2021-07-18 21:07:08 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 258 seconds)
2021-07-18 21:09:49 +0200Atum_(~IRC@user/atum/x-2392232)
2021-07-18 21:12:25 +0200 <tom__> So if you are modelling a stochastic process as a comonad how do you get the randomness for each step if IO is a monad
2021-07-18 21:13:08 +0200Guest9(~Guest9@103.250.139.40) (Quit: Connection closed)
2021-07-18 21:13:09 +0200 <dsal> Guest9: update message is (Just Quit)
2021-07-18 21:13:32 +0200dsalis too late and missed
2021-07-18 21:13:51 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-18 21:14:33 +0200lbseale(~lbseale@user/ep1ctetus) (Ping timeout: 268 seconds)
2021-07-18 21:17:29 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-18 21:18:07 +0200 <davean> tom__: or randomness is a source for the cell
2021-07-18 21:19:17 +0200 <tom__> davean: Right but you can't product a cell without being in IO then?
2021-07-18 21:19:20 +0200 <tom__> produce
2021-07-18 21:20:11 +0200 <davean> tom__: I mean, you don't need to be in IO to step a pseudo random function
2021-07-18 21:20:30 +0200 <davean> You can do all sorts of things
2021-07-18 21:20:48 +0200 <davean> the particular one I'd start with is taking one seed value, and splitting a prf to all the "cells"
2021-07-18 21:21:10 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
2021-07-18 21:22:59 +0200 <dsal> > randomRs (1, 11) $ mkStdGen 42
2021-07-18 21:23:00 +0200 <lambdabot> [1,8,1,3,2,8,5,3,6,10,9,3,10,11,9,2,1,11,3,3,9,3,3,9,1,7,9,8,6,7,4,2,7,1,3,2...
2021-07-18 21:25:31 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2021-07-18 21:27:44 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-07-18 21:28:07 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-07-18 21:28:18 +0200 <tom__> Does the Random package allow sampling from a normal distribution?
2021-07-18 21:28:53 +0200 <geekosaur> yes, as of 1.2
2021-07-18 21:29:02 +0200 <tom__> thanks
2021-07-18 21:29:19 +0200 <davean> tom__: I mean it provides random numbers, sampling from is a way to *use* randomness
2021-07-18 21:29:19 +0200 <tom__> Does "Constructs a StdGen deterministically." mean - not randomly?
2021-07-18 21:29:58 +0200 <davean> Uh, the construction is never random persay
2021-07-18 21:29:59 +0200 <geekosaur> if the input you give it is deterministic then yes
2021-07-18 21:30:00 +0200 <dsal> > randomRs (1, 11) $ mkStdGen 42 -- tom__ yes, it means it'll reproduce the same sequence
2021-07-18 21:30:01 +0200 <lambdabot> [1,8,1,3,2,8,5,3,6,10,9,3,10,11,9,2,1,11,3,3,9,3,3,9,1,7,9,8,6,7,4,2,7,1,3,2...
2021-07-18 21:30:11 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
2021-07-18 21:30:20 +0200MorrowM(~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 255 seconds)
2021-07-18 21:31:16 +0200Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2021-07-18 21:31:21 +0200 <tom__> Ah ok so mkStdGen enables "decoupling" between IO and your computation
2021-07-18 21:31:23 +0200mdunnio(~textual@205.178.28.97)
2021-07-18 21:31:47 +0200 <dsal> Yes. There are MonadIO variants in there as well.
2021-07-18 21:31:58 +0200 <geekosaur> you can also get a randomly generated seed from IO and do the rest purely
2021-07-18 21:32:11 +0200 <tom__> aha thanks
2021-07-18 21:32:47 +0200 <tom__> by purely do you mean - not with IO?
2021-07-18 21:32:48 +0200 <davean> Note there are plenty of monadic forms that aren't IO also, for prfs
2021-07-18 21:33:22 +0200 <geekosaur> yes
2021-07-18 21:33:27 +0200Atum_(~IRC@user/atum/x-2392232) (Ping timeout: 250 seconds)
2021-07-18 21:33:52 +0200 <davean> I'm not really a fan of the 1.2 changes :/
2021-07-18 21:34:21 +0200 <davean> tom__: if you want good sampling, see random-fu and such BTW
2021-07-18 21:34:31 +0200 <davean> distributions is seperate from random numbers
2021-07-18 21:34:57 +0200 <geekosaur> on the one hand it cleaned up my use of the mersenne twister a bit; on the other I found 1.1 much easier
2021-07-18 21:35:15 +0200Sgeo(~Sgeo@user/sgeo) (Quit: Leaving)
2021-07-18 21:35:17 +0200 <geekosaur> gripping hand I didn't have to fake normal distributions any more
2021-07-18 21:35:31 +0200 <davean> geekosaur: I don't think the 1.2 design is valid :/ I think theres some actual contradictions in its design, but thats far too long a discussion for here and now
2021-07-18 21:36:13 +0200 <davean> I'm actually rather upset about 1.2
2021-07-18 21:36:27 +0200 <davean> Not that 1.1 was great
2021-07-18 21:36:34 +0200mdunnio(~textual@205.178.28.97) (Quit: Textual IRC Client: www.textualapp.com)
2021-07-18 21:37:25 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-18 21:37:50 +0200mdunnio(~textual@205.178.28.97)
2021-07-18 21:38:13 +0200Sgeo(~Sgeo@user/sgeo)
2021-07-18 21:38:50 +0200 <tom__> I'm using MWC-probability
2021-07-18 21:39:05 +0200Erutuon(~Erutuon@user/erutuon)
2021-07-18 21:39:53 +0200 <mdunnio> hello! is anyone aware of any up-to-date guides on how to use LLVM backend with GHC? I'm looking to utilize GHC 8.10.5's first class support for M1, but I'm not exactly sure where to get started.
2021-07-18 21:40:14 +0200Atum_(~IRC@user/atum/x-2392232)
2021-07-18 21:41:18 +0200 <geekosaur> using it is just doing "ghc-options: -fllvm" in the cabal file. but I think 8.10.5 is known buggy
2021-07-18 21:41:44 +0200 <mdunnio> oh interesting. ok
2021-07-18 21:42:12 +0200 <mdunnio> I'll try that out
2021-07-18 21:42:24 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
2021-07-18 21:42:26 +0200 <geekosaur> and true first class (-fasm) support is supposed to come in 9.2.1
2021-07-18 21:42:45 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 255 seconds)
2021-07-18 21:42:55 +0200 <geekosaur> there's a prerelease available in ghcup but it has some known bugs
2021-07-18 21:43:22 +0200 <davean> Yah, on one hand llvm is kinda first class, on the other, LLVM isn't a general system and we don't fit its preconception of being C
2021-07-18 21:43:30 +0200 <davean> So it'll never be quite right to use LLVM
2021-07-18 21:43:48 +0200 <davean> You'll always eat a penalty of LLVM not being a general system
2021-07-18 21:44:22 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 265 seconds)
2021-07-18 21:44:33 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-18 21:44:42 +0200 <mdunnio> penalty as in performance, or just support generally?
2021-07-18 21:44:56 +0200 <geekosaur> both
2021-07-18 21:44:57 +0200 <davean> More the former, but there CAN be a few issues with the later
2021-07-18 21:45:07 +0200 <davean> LLVM is very much a C IR
2021-07-18 21:45:20 +0200 <davean> It claims to be general, but frankly, thats wishful thinking
2021-07-18 21:45:22 +0200 <geekosaur> llvm doesn't understand the cps-encoded code ghc emits and pessimizes it
2021-07-18 21:45:26 +0200 <davean> it has a ton of assumptions baked in at hte bottom
2021-07-18 21:45:37 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-18 21:45:43 +0200 <Rembane> So every language that looks like C if you squint works for LLVM?
2021-07-18 21:45:57 +0200 <davean> Rembane: Close, and LLVM works more generally than that, just not well
2021-07-18 21:46:10 +0200 <davean> LLVM can't think some normal thoughts, and never will be able to
2021-07-18 21:46:13 +0200 <mdunnio> I see
2021-07-18 21:46:25 +0200 <Rembane> davean: Got it. Doesn't sound too bad if your needs are C et al
2021-07-18 21:46:26 +0200 <davean> Theres ways to make them "work" because the turing tarpit, but that doesn't mean they work well
2021-07-18 21:46:37 +0200 <davean> Rembane: Yah, its actually great for that
2021-07-18 21:46:48 +0200 <davean> Rembane: I mean you make sometihng better for one thing, usually you make it worse for another
2021-07-18 21:46:58 +0200 <davean> the only issue I see here is the claim that its general, which it just clearly isn't
2021-07-18 21:47:16 +0200 <davean> but! It works pretty well for GHC for most thing
2021-07-18 21:47:22 +0200 <davean> so, go use it
2021-07-18 21:47:31 +0200 <davean> Its actually the best option for a few specific cases
2021-07-18 21:47:38 +0200 <davean> and you can do funky stuff to use it only where it is the best ...
2021-07-18 21:48:05 +0200 <davean> So like, its good to have, I'm not trying to bash it, just explain what one might feel about "first class ness"
2021-07-18 21:48:32 +0200shailangsa(~shailangs@host86-186-196-229.range86-186.btcentralplus.com) (Ping timeout: 258 seconds)
2021-07-18 21:48:36 +0200 <mdunnio> yeah, to be fair, I have a pretty broad interpretation of what "first class support" even means
2021-07-18 21:48:58 +0200 <Rembane> davean: Totally, it's trade offs all the way down.
2021-07-18 21:49:07 +0200 <mdunnio> at this point, I'm willing to take "does it work at all?"
2021-07-18 21:49:14 +0200 <davean> mdunnio: ok!
2021-07-18 21:49:16 +0200 <davean> so, it does work!
2021-07-18 21:49:32 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Client Quit)
2021-07-18 21:50:14 +0200 <davean> mdunnio: So my understanding is that the nix stuff is still the best option
2021-07-18 21:50:39 +0200niemand(~niemand@p2e52f785.dip0.t-ipconnect.de)
2021-07-18 21:50:43 +0200niemand(~niemand@p2e52f785.dip0.t-ipconnect.de) ()
2021-07-18 21:50:57 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-07-18 21:51:02 +0200 <davean> (I uh, keep an arms length from Apple, I just uh, make sure we have CI for it)
2021-07-18 21:51:56 +0200 <davean> Talking of which, yah rossetta, uh, don't run a ton of x86 binaries.
2021-07-18 21:53:05 +0200 <mdunnio> fair
2021-07-18 21:53:10 +0200 <mdunnio> yeah, that's the plan
2021-07-18 21:53:38 +0200 <davean> yah, its a problem (I don't know if you know, but it doesn't clear the cache, so you'll run out of disk space and be stuck unless you disable SIP)
2021-07-18 21:53:46 +0200 <mdunnio> I haven't actually worked much with nix yet, might be time to experiment
2021-07-18 21:54:01 +0200Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 268 seconds)
2021-07-18 21:54:19 +0200 <davean> mdunnio: So, I'm not sure they want me to refer you, but the bigest expert I know in this area is moritz angermann
2021-07-18 21:54:31 +0200 <davean> I think we're due for a writeup on the state of M1 stuff
2021-07-18 21:54:42 +0200 <davean> It would be a public service
2021-07-18 21:55:26 +0200 <mdunnio> I recall moritz wrote up a bunch about cross-compiling for ARM. I did some rpi work back a year or so ago
2021-07-18 21:56:01 +0200 <davean> I'll admit I was taking care of a lot of the mac stuff and then moritz stepped in and not being a mac user I disowned it as fast as possible
2021-07-18 21:56:23 +0200 <mdunnio> seems like the appropriate time to pass the torch
2021-07-18 21:56:51 +0200 <mdunnio> ok, I'm going to experiment a little bit and see if I can get somewhere. I appreciate the help
2021-07-18 21:56:53 +0200P1RATEZ(piratez@user/p1ratez) (Remote host closed the connection)
2021-07-18 21:57:02 +0200 <davean> Someone needed to do it, but better it be someone who loves it and has base skills for it
2021-07-18 21:57:10 +0200mdunnio(~textual@205.178.28.97) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-07-18 21:58:41 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-07-18 21:58:44 +0200yauhsien_(~yauhsien@61-231-35-149.dynamic-ip.hinet.net)
2021-07-18 21:59:01 +0200 <davean> Hum, I failed to full say what I should have above - which is that the CI config is where that knowlege should be accessible
2021-07-18 21:59:04 +0200 <davean> well I'm a bad helper
2021-07-18 21:59:34 +0200yauhsien(~yauhsien@61-231-25-245.dynamic-ip.hinet.net) (Ping timeout: 268 seconds)
2021-07-18 22:00:56 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 255 seconds)
2021-07-18 22:05:07 +0200juhp(~juhp@128.106.188.66) (Ping timeout: 268 seconds)
2021-07-18 22:05:31 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
2021-07-18 22:06:54 +0200zmt00(~zmt00@user/zmt00) (Quit: Gone.)
2021-07-18 22:07:20 +0200juhp(~juhp@128.106.188.66)
2021-07-18 22:09:14 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 258 seconds)
2021-07-18 22:10:19 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-18 22:11:25 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-07-18 22:19:32 +0200shailangsa(~shailangs@host86-145-14-107.range86-145.btcentralplus.com)
2021-07-18 22:19:56 +0200Atum_(~IRC@user/atum/x-2392232) (Quit: Atum_)
2021-07-18 22:19:59 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-07-18 22:21:54 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-18 22:22:21 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-18 22:22:32 +0200shailangsa(~shailangs@host86-145-14-107.range86-145.btcentralplus.com) ()
2021-07-18 22:22:34 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
2021-07-18 22:24:37 +0200zangi(~zangi@103.154.230.230)
2021-07-18 22:26:44 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
2021-07-18 22:29:07 +0200smwonders why the above thread jumped tracks from LLVM to apple .. do these go together ?
2021-07-18 22:29:38 +0200chris_(~chris@81.96.113.213)
2021-07-18 22:29:43 +0200 <sm> and , #ghc is also a good source of info
2021-07-18 22:30:24 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds)
2021-07-18 22:31:47 +0200 <davean> sm: it was about Apple
2021-07-18 22:31:49 +0200 <geekosaur> sm: M1 == Apple Silicon
2021-07-18 22:31:55 +0200 <davean> the point of LLVM there was to get M1 support
2021-07-18 22:32:08 +0200 <davean> which we get via LLVM or the native code gen, the native code gen isn't until 9.2 tohugh
2021-07-18 22:32:30 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-18 22:32:35 +0200 <zangi> does laziness consume more memory than strict evaluation?
2021-07-18 22:32:42 +0200Topsi(~Tobias@dyndsl-095-033-088-035.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2021-07-18 22:32:45 +0200 <davean> zangi: no, sometimes far less
2021-07-18 22:32:46 +0200 <dminuoso> Yes. No.
2021-07-18 22:33:38 +0200Atum_(~IRC@user/atum/x-2392232)
2021-07-18 22:33:40 +0200 <zangi> what about the thunks?
2021-07-18 22:33:42 +0200 <dminuoso> zangi: In order to provide lazyness, the lazy expression has to have some kind of memory representation. That costs allocation and indirection.
2021-07-18 22:33:44 +0200 <davean> zangi: Theres a few cases where it uses more, the main one is special cased in the GC
2021-07-18 22:34:07 +0200 <davean> zangi: whats smaller, the infinite list, or the thunk [1..]?
2021-07-18 22:34:11 +0200 <dminuoso> zangi: But this is usually offset having low residency when working on large data.
2021-07-18 22:34:17 +0200jneira_(~jneira_@28.red-80-28-169.staticip.rima-tde.net)
2021-07-18 22:34:33 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-07-18 22:34:45 +0200 <dminuoso> I think the fundamental problem is that "memory consumption" is not something you can put as a single number metric.
2021-07-18 22:37:37 +0200Hecate_Hecate
2021-07-18 22:37:44 +0200 <dminuoso> For instance: Your program might process a 20TiB data set but have only 50MiB of memory residency at any given time.
2021-07-18 22:37:47 +0200Hecate(~mariposa@163.172.211.189) (Changing host)
2021-07-18 22:37:47 +0200Hecate(~mariposa@user/hecate)
2021-07-18 22:38:21 +0200slep(~slep@cpc150002-brnt4-2-0-cust437.4-2.cable.virginm.net) (Read error: Connection reset by peer)
2021-07-18 22:38:39 +0200 <dminuoso> But this could still have a lot of allocations internally
2021-07-18 22:38:52 +0200slep(~slep@cpc150002-brnt4-2-0-cust437.4-2.cable.virginm.net)
2021-07-18 22:39:22 +0200 <dminuoso> Lazyness also produces a level of indirection, which might hurt locality
2021-07-18 22:39:37 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2021-07-18 22:40:10 +0200 <davean> or it can create locality
2021-07-18 22:40:46 +0200 <lechner> Hi, why are the dolla signs needed in these two lines, please? https://dpaste.org/41S0#L94,95
2021-07-18 22:40:59 +0200ph88^(~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c) (Ping timeout: 255 seconds)
2021-07-18 22:41:03 +0200 <dminuoso> lechner: They are not needed.
2021-07-18 22:41:17 +0200 <dminuoso> lechner: You can also use parens to associate the right hand side of it.
2021-07-18 22:41:31 +0200 <dminuoso> host $ scheduler config is equivalent to: host (schedular config)
2021-07-18 22:41:42 +0200 <lechner> can i use map, too?
2021-07-18 22:43:12 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-18 22:43:47 +0200 <lechner> dminuoso: I get the following errors when I take out the dollar signs https://dpaste.org/mM0q
2021-07-18 22:44:10 +0200 <dminuoso> lechner: Like I said.
2021-07-18 22:44:16 +0200 <dsal> Does anyone know how to do something interesting with Control.Monad.Trans.Select ? There doesn't seem to be much written about it.
2021-07-18 22:44:21 +0200 <dminuoso> `host $ scheduler config` is equivalent to `host (scheduler config)
2021-07-18 22:44:35 +0200renzhi(~xp@2607:fa49:655f:a700::8b9f) (Ping timeout: 255 seconds)
2021-07-18 22:44:50 +0200 <lechner> okay, why are the parentheses needed, please?
2021-07-18 22:44:56 +0200 <davean> lechner: to parse it
2021-07-18 22:45:08 +0200 <geekosaur> $ is "backwards parentheses
2021-07-18 22:45:15 +0200 <lechner> that i know
2021-07-18 22:45:35 +0200 <lechner> i think it's a (slightly) higher level question
2021-07-18 22:45:39 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-18 22:45:40 +0200 <davean> lechner: so things (sorta) group to the left by default
2021-07-18 22:45:42 +0200 <geekosaur> so if you remove a $ you usually have to insert the parenheses it was replacing. here, for (scheduler config)
2021-07-18 22:45:52 +0200 <davean> lechner: you need to put it into the grammer as a group, not seperate things
2021-07-18 22:46:03 +0200 <lechner> my JSON declarations are not strict
2021-07-18 22:46:22 +0200 <davean> WHo said anything about strictness?
2021-07-18 22:46:53 +0200 <davean> This is about grammar
2021-07-18 22:47:04 +0200 <monochrom> The computer is not telepathic. You can't just write "f g h" and "t x y" and have the computer guess "oh you mean (f g) h and t (x y)".
2021-07-18 22:47:37 +0200 <lechner> not even when asking for a final result (printf) ?
2021-07-18 22:47:55 +0200 <monochrom> But there is a little bit of left associativity so "f g h" means "(f g) h".
2021-07-18 22:48:24 +0200 <lechner> why is that evaluated in my case, though?
2021-07-18 22:48:34 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-18 22:48:44 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 252 seconds)
2021-07-18 22:48:56 +0200acidjnk(~acidjnk@p200300d0c72b9531605cd8043a67e221.dip0.t-ipconnect.de)
2021-07-18 22:49:09 +0200ph88^(~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c)
2021-07-18 22:52:20 +0200 <nf> you usually have to evaluate things in order to print them
2021-07-18 22:52:28 +0200shailangsa(~shailangs@host86-145-14-107.range86-145.btcentralplus.com)
2021-07-18 22:53:32 +0200 <davean> lechner: it doesn't know printf is your final result even
2021-07-18 22:53:34 +0200ph88^(~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c) (Ping timeout: 246 seconds)
2021-07-18 22:53:36 +0200 <lechner> but is that done inside the parentheses around the argument to printf?
2021-07-18 22:53:44 +0200 <davean> Its not "done inside"
2021-07-18 22:53:51 +0200 <davean> you're saying what is applied to what
2021-07-18 22:54:38 +0200 <lechner> i think i misunderstood partial application
2021-07-18 22:56:00 +0200lbseale(~lbseale@user/ep1ctetus)
2021-07-18 22:57:54 +0200slack1256(~slack1256@191.125.28.13)
2021-07-18 22:58:39 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-07-18 22:59:03 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-18 23:02:28 +0200lbseale(~lbseale@user/ep1ctetus) (Ping timeout: 268 seconds)
2021-07-18 23:02:30 +0200 <davean> Definition is not execution
2021-07-18 23:02:52 +0200 <davean> lechner: consider the option of doign that like with (.)
2021-07-18 23:02:58 +0200 <davean> *line
2021-07-18 23:03:46 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-07-18 23:04:47 +0200 <maerwald> monochrom: wingman can guess what you mean, haha
2021-07-18 23:05:02 +0200 <maerwald> if your types are correct, that is
2021-07-18 23:06:36 +0200 <maerwald> now you just need something to guess the types for you
2021-07-18 23:07:16 +0200 <maerwald> and then something that guesses what the program should do
2021-07-18 23:07:26 +0200 <maerwald> we'll have no engineering problems to solve anymore
2021-07-18 23:07:43 +0200maerwaldgoes packing
2021-07-18 23:07:46 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com)
2021-07-18 23:07:58 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-18 23:08:24 +0200 <dexterfoo> can I convert a 'Text' value directly into an Int?
2021-07-18 23:08:27 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-18 23:09:05 +0200Guest31(~Guest31@76-236-222-208.lightspeed.tukrga.sbcglobal.net)
2021-07-18 23:11:07 +0200 <Hecate> % import Data.Text.Read
2021-07-18 23:11:08 +0200 <yahb> Hecate:
2021-07-18 23:11:12 +0200 <Hecate> % decimal "3"
2021-07-18 23:11:13 +0200 <yahb> Hecate: ; <interactive>:223:1: error:; Ambiguous occurrence `decimal'; It could refer to; either `Data.Text.Read.decimal', imported from `Data.Text.Read'; or `Numeric.Lens.decimal', imported from `Numeric.Lens'
2021-07-18 23:11:20 +0200 <Hecate> fair enough
2021-07-18 23:11:20 +0200 <Hecate> so
2021-07-18 23:11:25 +0200oso(~oso@2601:58c:c080:a950:e67d:b4e2:c5be:433f) (Ping timeout: 246 seconds)
2021-07-18 23:11:30 +0200 <monochrom> fib :: Int -> Int -> Int -> Int -> Int let wingman guess what I want!
2021-07-18 23:11:32 +0200 <Hecate> Data.Text.Read.decimal "3"
2021-07-18 23:11:35 +0200 <Hecate> % Data.Text.Read.decimal "3"
2021-07-18 23:11:35 +0200 <yahb> Hecate: ; <interactive>:224:24: error:; * Couldn't match type `[Char]' with `Data.Text.Internal.Text'; Expected: Data.Text.Internal.Text; Actual: GHC.Base.String; * In the first argument of `Data.Text.Read.decimal', namely `"3"'; In the expression: Data.Text.Read.decimal "3"; In an equation for `it': it = Data.Text.Read.decimal "3"
2021-07-18 23:11:39 +0200 <Hecate> curse
2021-07-18 23:11:46 +0200 <Hecate> % import qualified Data.Text as T
2021-07-18 23:11:46 +0200 <yahb> Hecate:
2021-07-18 23:11:52 +0200 <Hecate> % Data.Text.Read.decimal (T.pack "3")
2021-07-18 23:11:53 +0200 <yahb> Hecate: Right (3,"")
2021-07-18 23:11:57 +0200 <Hecate> % Data.Text.Read.decimal (T.pack "3x")
2021-07-18 23:11:57 +0200 <yahb> Hecate: Right (3,"x")
2021-07-18 23:12:08 +0200 <Hecate> dexterfoo: check this ^
2021-07-18 23:13:53 +0200 <lechner> davean: how do i use . in that line, please?
2021-07-18 23:15:08 +0200 <maerwald> sometimes I wonder why I even write documentation... all it does is confuse me 2 weeks later
2021-07-18 23:15:39 +0200 <maerwald> "I tried to figure out what this does, but didn't manage. But I wrote down my crippled thought regardless"
2021-07-18 23:15:45 +0200 <dexterfoo> Hecate: thanks!
2021-07-18 23:16:28 +0200 <Hecate> maerwald: because you don't know how to talk to yourself yet :P
2021-07-18 23:16:34 +0200 <Hecate> dexterfoo: you're welcome :)
2021-07-18 23:16:40 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 246 seconds)
2021-07-18 23:16:44 +0200 <maerwald> Hecate: preciousssss
2021-07-18 23:17:48 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-18 23:18:40 +0200oso(~oso@2601:58c:c080:a950:e67d:b4e2:c5be:433f)
2021-07-18 23:20:32 +0200 <lechner> Hi, in printf "%s:%d" $ map ($ struct) [stringAccessor intAccessor] does map work only when the return types are the same?
2021-07-18 23:20:55 +0200 <lechner> actually, there is a comma in there
2021-07-18 23:21:05 +0200 <geekosaur> all elements of a list must have the same type, yes
2021-07-18 23:22:27 +0200 <lechner> thanks. i could prosumably use 'show'
2021-07-18 23:23:05 +0200 <geekosaur> that's the usual way to do it, yes
2021-07-18 23:23:14 +0200 <geekosaur> don't forget to change the %d to %s
2021-07-18 23:24:18 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-18 23:24:18 +0200 <lechner> at some point, that tips the scale toward putStrLn
2021-07-18 23:24:30 +0200 <geekosaur> yes
2021-07-18 23:25:05 +0200smtnet3(~asdfasdfa@202.36.244.28) (Read error: Connection reset by peer)
2021-07-18 23:26:05 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection)
2021-07-18 23:26:17 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-18 23:26:31 +0200smtnet3(~asdfasdfa@202.36.244.28)
2021-07-18 23:27:08 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds)
2021-07-18 23:27:08 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 268 seconds)
2021-07-18 23:27:28 +0200 <dsal> lechner: You could make a function that does the "%s:%d" part pretty easily and NamedFieldPuns or RecordWildCards would make it fairly short.
2021-07-18 23:28:16 +0200aegon(~mike@174.127.249.180)
2021-07-18 23:28:22 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 268 seconds)
2021-07-18 23:29:28 +0200 <lechner> dsal: that sounds like a great idea! let's do that in one minute please.
2021-07-18 23:30:04 +0200 <lechner> meanwhile i am learning. why doesn't that work: printf "Expecting scheduler on %s:%s.\n" $ map ($ scheduler config) [Connection.host, show . Connection.listen_port]
2021-07-18 23:31:42 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-18 23:31:55 +0200 <lechner> the point here is the partial application of 'show'
2021-07-18 23:32:01 +0200 <[exa]> lechner: what's the error?
2021-07-18 23:32:06 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 255 seconds)
2021-07-18 23:32:32 +0200 <lechner> https://paste.debian.net/1204829/
2021-07-18 23:32:44 +0200 <geekosaur> I think you have multiple problems there
2021-07-18 23:33:12 +0200 <geekosaur> for one, a list is not a collection of applications
2021-07-18 23:33:16 +0200 <dsal> lechner: A list isn't two arguments.
2021-07-18 23:33:26 +0200 <dsal> Or phrased how geekosaur said it.
2021-07-18 23:33:55 +0200 <[exa]> lechner: why still keep printf? (just curious)
2021-07-18 23:34:19 +0200 <lechner> just chewing on other things :)
2021-07-18 23:34:54 +0200 <lechner> [exa]: i am not so fond of ++ "[" ++ exa ++ "]" ++ ....
2021-07-18 23:35:14 +0200 <geekosaur> there is concat
2021-07-18 23:35:15 +0200 <oso> `concat`?
2021-07-18 23:35:43 +0200 <dsal> I don't use ++ in general, but I do use fold for logging.
2021-07-18 23:36:04 +0200 <monochrom> $ kills printf type inference. Seriously. Just don't use $.
2021-07-18 23:36:05 +0200royo(~royo@user/royo)
2021-07-18 23:36:42 +0200 <[exa]> lechner: `concat [all, this, stuff]` is a widely used pattern. Esp good when combined with `intercalate`
2021-07-18 23:37:01 +0200 <lechner> monochrom: for some reason it seemed i needed $
2021-07-18 23:37:37 +0200ph88^(~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c)
2021-07-18 23:37:40 +0200 <dsal> lechner: does it work with $ ?
2021-07-18 23:37:43 +0200 <monochrom> Sure, "map ($ x) [f, g, h]" has just cause. I am referring to "printf fmt $ ..."
2021-07-18 23:37:57 +0200 <lechner> okay, i'll change that but why is my partial application wrong. could someone please restate?
2021-07-18 23:37:57 +0200 <dsal> :t ($)
2021-07-18 23:37:58 +0200 <lambdabot> (a -> b) -> a -> b
2021-07-18 23:38:17 +0200 <geekosaur> lechner, you are attempting to use a list as two applications
2021-07-18 23:38:17 +0200 <lechner> monochrom: i meant that one
2021-07-18 23:38:25 +0200 <[exa]> lechner: the partial application is right (at least so it seems to me), the problem is that you're giving printf 1 argument and specify 2 in format
2021-07-18 23:38:37 +0200 <dsal> lechner: If it doesn't work, then it's not fair to say that you needed it.
2021-07-18 23:38:43 +0200 <geekosaur> one list is one application, not two
2021-07-18 23:39:17 +0200 <dsal> > (+) $ 1 $ 2
2021-07-18 23:39:18 +0200 <lambdabot> error:
2021-07-18 23:39:18 +0200 <lambdabot> • Could not deduce (Num t0)
2021-07-18 23:39:18 +0200 <lambdabot> from the context: (Num a, Num t, Num (t -> a))
2021-07-18 23:39:55 +0200 <dsal> $ isn't a syntactic feature. It's just a function. And it will break your applications if effective arity is > 1
2021-07-18 23:40:01 +0200 <lechner> [exa]: https://paste.debian.net/1204830/
2021-07-18 23:40:35 +0200slack1256(~slack1256@191.125.28.13) (Remote host closed the connection)
2021-07-18 23:40:39 +0200pavonia(~user@user/siracusa)
2021-07-18 23:40:44 +0200 <[exa]> dsal: you'd need -XChurchNumerals
2021-07-18 23:40:48 +0200 <dsal> You might try breaking that into different statements to understand it better.
2021-07-18 23:41:16 +0200 <geekosaur> lechner, contemplate this:
2021-07-18 23:41:25 +0200 <geekosaur> > (+) [1,2]
2021-07-18 23:41:27 +0200 <lambdabot> error:
2021-07-18 23:41:27 +0200 <lambdabot> • No instance for (Num [Integer]) arising from a use of ‘e_112’
2021-07-18 23:41:27 +0200 <lambdabot> • In the expression: e_112
2021-07-18 23:41:43 +0200 <geekosaur> hm, (+) is not the best example there
2021-07-18 23:41:54 +0200 <monochrom> (&&) [False, False]
2021-07-18 23:41:57 +0200 <[exa]> lechner: yeah there printf uses `map` as the first argument, likely not very printable
2021-07-18 23:41:57 +0200 <geekosaur> > (++) ["a","b"]
2021-07-18 23:42:00 +0200 <lambdabot> <[[Char]] -> [[Char]]>
2021-07-18 23:42:03 +0200 <lechner> geekosaur: isn't that here four applications? https://salsa.debian.org/lintian/kickoff/-/blob/master/Collect.hs#L68
2021-07-18 23:42:40 +0200 <lechner> [exa]: yeah, that part i get now
2021-07-18 23:42:40 +0200 <monochrom> one single list.
2021-07-18 23:42:46 +0200 <geekosaur> lechner, no, it is a 4-element list
2021-07-18 23:42:56 +0200 <dsal> :t map
2021-07-18 23:42:57 +0200 <lambdabot> (a -> b) -> [a] -> [b]
2021-07-18 23:43:06 +0200 <geekosaur> thisis not lisp, a list is not a group of applications
2021-07-18 23:43:23 +0200 <dsal> map takes a function and applies it to each element inside a list. One list in, one list out.
2021-07-18 23:44:39 +0200 <lechner> that's what i am looking for, except one member (of all partially or unapplied functions) is specified as a . b
2021-07-18 23:45:19 +0200 <dsal> You're doing several things at once. You will likely have more success if you break them down a bit.
2021-07-18 23:45:53 +0200 <lechner> dsal: let's go with your approach. i am reading up on puns
2021-07-18 23:45:53 +0200azeem(~azeem@dynamic-adsl-94-34-39-251.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-07-18 23:45:54 +0200 <dsal> A list is one thing, but it's not what your printf wants. So to work backwards, you'll have to figure out how to make what your printf wants.
2021-07-18 23:46:03 +0200 <lechner> yes
2021-07-18 23:46:14 +0200 <lechner> let's chuck printf
2021-07-18 23:46:16 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-18 23:46:17 +0200 <dsal> My approach is to make a function that formats your connection string.
2021-07-18 23:46:29 +0200azeem(~azeem@dynamic-adsl-94-34-39-251.clienti.tiscali.it)
2021-07-18 23:46:43 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-18 23:47:12 +0200 <dsal> In MonadLogger, you can call that ToLogStr, but that's the opposite direction from "do less stuff" :)
2021-07-18 23:48:42 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-07-18 23:51:29 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 265 seconds)
2021-07-18 23:52:42 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2021-07-18 23:53:07 +0200__monty__(~toonn@user/toonn)
2021-07-18 23:53:19 +0200__monty__(~toonn@user/toonn) (Client Quit)
2021-07-18 23:54:50 +0200 <lechner> can i define an instance of 'show' to return the string host ++ ":" ++ listen_port for a type that has both?
2021-07-18 23:55:05 +0200 <geekosaur> you can but you shouldn't
2021-07-18 23:55:20 +0200 <lechner> why not, please?
2021-07-18 23:55:47 +0200 <geekosaur> an instance of Show should match an instance of Read and ideally be a fragment of Haskell source that will reproduce a value of the type within ghc / ghci
2021-07-18 23:56:37 +0200 <geekosaur> otherwise you run into issues Show-ing or Read-ing structures that contain values of that type
2021-07-18 23:56:39 +0200 <lechner> could i add both?
2021-07-18 23:56:50 +0200fendor__(~fendor@178.165.167.65.wireless.dyn.drei.com) (Remote host closed the connection)
2021-07-18 23:57:38 +0200 <geekosaur> what do you mean?
2021-07-18 23:58:00 +0200 <lechner> Show and Read
2021-07-18 23:58:35 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-07-18 23:58:41 +0200 <dsal> lechner: That's not what show is for. This is why MonadLogger defines ToLogStr. You can make your own.
2021-07-18 23:59:47 +0200 <dminuoso> geekosaur: Strictly speaking, that is only requires for deriving generated instances. This notion that they "should" seems to be based in rumour or just an observation of established practice.
2021-07-18 23:59:47 +0200 <dsal> You *can* define your own Show and Read if you're pretty sure you can encapsulate all of the structure you want. It's not definitely the wrong idea all the time, but it's not easier than making something specific for logging and having your logger log with it.