Home liberachat/#haskell: Logs Calendar

Logs on 2022-02-24 (liberachat/#haskell)

00:00:39 <ski> `forall f. Functor f => forall a. f a -> Free f a' (Yoneda) `forall m f. (Monad m,Functor f) => (forall a. Free f a -> m a) -> (forall a. f a -> m a)'
00:00:42 <ski> (i think)
00:01:30 <monochrom> Ah, I'll have to think about that.
00:01:42 <monochrom> Damn this Yoneda lemma popping up everywhere.
00:02:03 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
00:02:24 <ski> hm .. yea, like going from a linear transformation (from a based/free vector space) to the column vectors of its associated matrix
00:02:36 <monochrom> The equivalence between adjunctions defined by the transposes and adjunctions defined by the unit-counit pair is also Yoneda striking again.
00:03:36 × alMalsamo quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
00:04:20 <monochrom> I guess basically every time I see "foo = bar id" I should recall "OK so Yoneda told you so" :)
00:04:48 <ski> hm .. perhaps it is. (the natural isomorphism between Homs was always easiest to grasp for me. and the "universal morphisms" the hardest)
00:05:55 burnside_ joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
00:06:07 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
00:06:42 <ski> `P e <=> let x = e in P x' is sortof a low-resolution (and undirected) version of Yoneda/Coyoneda
00:07:21 alx741 joins (~alx741@157.100.197.240)
00:07:51 × TonyStone quits (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Quit: Leaving)
00:10:18 Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
00:10:39 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
00:14:19 merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
00:14:39 gdown joins (~gavin@h69-11-150-165.kndrid.broadband.dynamic.tds.net)
00:14:48 <ski> the upper closure `<>^+ P' ("possibly/occurred `P'") of `P' is defined by `<>^+ P y <=> exists x | x =< y. P x'. the upper interior `[]^+ P' ("necessarily/henceforth `P'") is defined by `[]^+ P x <=> forall y | x =< y. P y'
00:16:10 <ski> if `P' is upper (closed) (aka monotone / increasing / order-preserving), it is equal to its (upper) closure and interior, and hence `P y <=> exists x | x =< y. P x' and `P y <=> forall y | x =< y. P y'. which are basically Coyoneda and Yoneda
00:17:04 <ski> (er, should be `P x <=> ..x..' in the last one)
00:23:07 lavaman joins (~lavaman@98.38.249.169)
00:23:31 × forell quits (~forell@user/forell) (Ping timeout: 272 seconds)
00:24:56 <ski> (expressing Kan extensions in terms of ends & coends (`forall' and `exists' on difunctors), you'd use powers and copowers, with the exponent/scalar being the relevant Hom. `(H <- F) b = Ran F H b = forall a. H a ^ (F a <---< b)' resp. `(H /| F) b = Lan F H b = exists a. H a * (a >---> F b)')
00:26:25 <ski> @type concatMap :: (a -> [b]) -> ([a] -> [b]) -- is basically Yoneda on `concat :: [[a]] -> [b]', btw
00:26:26 <lambdabot> (a -> [b]) -> [a] -> [b]
00:26:30 alMalsamo joins (~alMalsamo@gateway/tor-sasl/almalsamo)
00:27:23 alx741 joins (~alx741@157.100.197.240)
00:28:17 × Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
00:32:26 × vicfred quits (~vicfred@user/vicfred) (Quit: Leaving)
00:32:51 <monochrom> join p = (p >>=) id :(
00:33:39 <ski> yep
00:36:16 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
00:38:24 × max22- quits (~maxime@2a01cb08833598005699785cb4ec772c.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
00:42:21 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
00:42:36 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
00:43:34 × merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
00:45:01 × akegalj quits (~akegalj@93-139-180-172.adsl.net.t-com.hr) (Ping timeout: 240 seconds)
00:45:20 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 252 seconds)
00:46:21 forell joins (~forell@user/forell)
00:46:56 akegalj joins (~akegalj@78-3-44-141.adsl.net.t-com.hr)
00:47:33 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
00:54:01 alx741 joins (~alx741@181.199.42.143)
00:57:35 × cynomys quits (~cynomys@user/cynomys) (Quit: Lost terminal)
00:57:42 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
00:57:42 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
00:57:42 wroathe joins (~wroathe@user/wroathe)
01:03:41 × jgeerds quits (~jgeerds@d53600c5.access.ecotel.net) (Ping timeout: 245 seconds)
01:04:34 × alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer)
01:05:43 Morrow[m] joins (~morrowmma@2001:470:69fc:105::1d0)
01:10:47 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:16:39 Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
01:16:54 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:19:43 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
01:20:27 vickyHaskell joins (~textual@49.37.173.82)
01:21:18 alx741 joins (~alx741@157.100.197.240)
01:21:55 × vickyHaskell quits (~textual@49.37.173.82) (Client Quit)
01:24:53 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
01:28:41 lavaman joins (~lavaman@98.38.249.169)
01:31:48 × Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
01:33:57 vickyHaskell joins (~textual@49.37.173.82)
01:35:42 × td_ quits (~td@94.134.91.238) (Ping timeout: 256 seconds)
01:38:56 jrm joins (~jrm@156.34.173.250)
01:40:03 × dextaa quits (~DV@user/dextaa) (Quit: Ping timeout (120 seconds))
01:40:26 dextaa joins (~DV@user/dextaa)
01:40:38 × ubert quits (~Thunderbi@p548c8d84.dip0.t-ipconnect.de) (Remote host closed the connection)
01:40:56 ubert joins (~Thunderbi@p200300ecdf3be97f8c4ccd199ca8265c.dip0.t-ipconnect.de)
01:41:22 FragByte_ joins (~christian@user/fragbyte)
01:41:30 × FragByte quits (~christian@user/fragbyte) (Quit: Quit)
01:41:51 FragByte_ is now known as FragByte
01:42:55 alx741 joins (~alx741@157.100.197.240)
01:44:12 × jao quits (~jao@66.63.167.125) (Ping timeout: 256 seconds)
01:46:06 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
01:47:09 Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909)
01:47:40 yauhsien joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net)
01:47:40 × yauhsien quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Remote host closed the connection)
01:48:48 × slack1256 quits (~slack1256@45.4.2.52) (Remote host closed the connection)
01:48:53 yauhsien joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net)
01:49:41 × xff0x quits (~xff0x@2001:1a81:53c8:8500:acc6:628c:c348:430) (Ping timeout: 252 seconds)
01:50:16 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
01:51:27 xff0x joins (~xff0x@2001:1a81:53df:600:42e4:eab6:10ab:71af)
01:53:41 × yauhsien quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Ping timeout: 245 seconds)
01:54:58 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 256 seconds)
01:57:24 × jkaye quits (~jkaye@2601:281:8300:7530:1f3b:3a8f:f843:9a79) (Ping timeout: 240 seconds)
01:58:33 × vickyHaskell quits (~textual@49.37.173.82) (Quit: Textual IRC Client: www.textualapp.com)
02:04:04 × ec quits (~ec@gateway/tor-sasl/ec) (Quit: ec)
02:04:31 × Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 245 seconds)
02:06:58 × akegalj quits (~akegalj@78-3-44-141.adsl.net.t-com.hr) (Quit: leaving)
02:07:03 alx741 joins (~alx741@181.199.42.143)
02:08:15 × tinwood quits (~tinwood@canonical/tinwood) (Remote host closed the connection)
02:11:00 vysn joins (~vysn@user/vysn)
02:11:15 tinwood joins (~tinwood@general.default.akavanagh.uk0.bigv.io)
02:11:15 × tinwood quits (~tinwood@general.default.akavanagh.uk0.bigv.io) (Changing host)
02:11:15 tinwood joins (~tinwood@canonical/tinwood)
02:14:37 × alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer)
02:28:08 × burnside_ quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
02:29:32 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds)
02:31:24 alx741 joins (~alx741@157.100.197.240)
02:32:45 Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
02:32:46 TonyStone joins (~TonyStone@2603-7080-8607-c36a-a068-f96d-6ad8-5504.res6.spectrum.com)
02:37:31 × Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 256 seconds)
02:40:28 merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
02:40:28 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
02:46:04 × ravella quits (~ravella@user/ryanavella) (Remote host closed the connection)
02:46:29 ravella joins (~ravella@user/ryanavella)
02:47:48 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 240 seconds)
02:51:21 notzmv joins (~zmv@user/notzmv)
02:55:05 × xkuru quits (~xkuru@user/xkuru) (Ping timeout: 256 seconds)
02:55:19 × ski quits (~ski@remote12.chalmers.se) (Ping timeout: 256 seconds)
02:55:55 ski joins (~ski@remote12.chalmers.se)
02:57:47 alx741 joins (~alx741@157.100.197.240)
02:59:20 xkuru joins (~xkuru@user/xkuru)
03:00:46 × xff0x quits (~xff0x@2001:1a81:53df:600:42e4:eab6:10ab:71af) (Ping timeout: 250 seconds)
03:02:37 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
03:02:39 xff0x joins (~xff0x@2001:1a81:53e8:6f00:9716:e8e7:86fc:1482)
03:08:18 Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909)
03:10:04 ub joins (~Thunderbi@p548c8d84.dip0.t-ipconnect.de)
03:11:11 × ubert quits (~Thunderbi@p200300ecdf3be97f8c4ccd199ca8265c.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
03:11:11 ub is now known as ubert
03:14:02 × xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer)
03:14:02 × merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
03:16:25 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 272 seconds)
03:19:40 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
03:20:32 alx741 joins (~alx741@181.199.42.143)
03:21:18 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
03:21:18 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
03:21:18 wroathe joins (~wroathe@user/wroathe)
03:22:35 lavaman joins (~lavaman@98.38.249.169)
03:23:52 × alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer)
03:25:32 mbuf joins (~Shakthi@122.174.33.79)
03:26:12 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds)
03:26:36 × Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 240 seconds)
03:40:48 alx741 joins (~alx741@157.100.197.240)
03:40:59 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
03:40:59 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
03:40:59 wroathe joins (~wroathe@user/wroathe)
03:45:16 × abhixec quits (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net) (Remote host closed the connection)
03:45:56 deadmarshal joins (~deadmarsh@95.38.230.238)
03:46:49 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 272 seconds)
03:47:40 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
03:47:40 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
03:47:40 wroathe joins (~wroathe@user/wroathe)
03:50:12 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
03:56:00 Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
04:00:18 arjun joins (~arjun@103.57.87.142)
04:00:45 × Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 250 seconds)
04:04:26 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 260 seconds)
04:05:01 × drdo quits (~drdo@roach0.drdo.eu) (Quit: Ping timeout (120 seconds))
04:06:05 drdo joins (~drdo@roach0.drdo.eu)
04:08:21 alx741 joins (~alx741@181.199.42.143)
04:12:17 phma_ is now known as phma
04:13:00 Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
04:13:01 × alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer)
04:15:15 × arjun quits (~arjun@103.57.87.142) (Changing host)
04:15:15 arjun joins (~arjun@user/arjun)
04:16:58 × arjun quits (~arjun@user/arjun) (Remote host closed the connection)
04:19:24 × alp quits (~alp@user/alp) (Ping timeout: 240 seconds)
04:20:23 × drdo quits (~drdo@roach0.drdo.eu) (Ping timeout: 272 seconds)
04:24:09 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 250 seconds)
04:26:48 drdo joins (~drdo@roach0.drdo.eu)
04:29:36 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
04:29:43 alx741 joins (~alx741@157.100.197.240)
04:30:57 × Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
04:31:01 benin joins (~benin@106.195.37.136)
04:32:11 notzmv joins (~zmv@user/notzmv)
04:35:37 × drdo quits (~drdo@roach0.drdo.eu) (Ping timeout: 256 seconds)
04:40:20 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
04:47:59 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
04:59:17 jackalope joins (~jackalope@50-24-138-131.bcstcmta02.res.dyn.suddenlink.net)
05:04:09 × jackalope quits (~jackalope@50-24-138-131.bcstcmta02.res.dyn.suddenlink.net) (Client Quit)
05:04:26 jackalope joins (~jackalope@50-24-138-131.bcstcmta02.res.dyn.suddenlink.net)
05:04:46 alx741 joins (~alx741@181.199.42.143)
05:09:08 benin6 joins (~benin@106.195.34.202)
05:11:41 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 272 seconds)
05:12:36 × benin quits (~benin@106.195.37.136) (Ping timeout: 240 seconds)
05:12:37 benin6 is now known as benin
05:13:51 × alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer)
05:14:27 Erutuon joins (~Erutuon@user/erutuon)
05:14:36 × lechner quits (~lechner@debian/lechner) (Ping timeout: 240 seconds)
05:15:09 wroathe joins (~wroathe@user/wroathe)
05:15:40 merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
05:17:18 lechner joins (~lechner@debian/lechner)
05:18:12 Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
05:19:48 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds)
05:20:12 × aweinstock quits (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) (Ping timeout: 240 seconds)
05:22:20 aweinstock joins (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com)
05:24:57 × hpc quits (~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 240 seconds)
05:28:10 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:31:10 alx741 joins (~alx741@181.199.42.143)
05:34:22 <gentauro> "pseudo-science" -> https://greenlab.di.uminho.pt/wp-content/uploads/2017/10/sleFinal.pdf
05:34:25 <gentauro> :|
05:34:47 × xff0x quits (~xff0x@2001:1a81:53e8:6f00:9716:e8e7:86fc:1482) (Ping timeout: 250 seconds)
05:35:17 × Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
05:35:17 × alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer)
05:36:50 xff0x joins (~xff0x@2001:1a81:53fa:e800:fe67:1298:c7d8:80eb)
05:45:19 × merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
05:45:24 × analognoise1 quits (~analognoi@192.145.80.4) (Read error: Connection reset by peer)
05:48:01 × benin quits (~benin@106.195.34.202) (Read error: Connection reset by peer)
05:50:12 × raym quits (~raym@user/raym) (Ping timeout: 240 seconds)
05:52:08 hpc joins (~juzz@ip98-169-35-13.dc.dc.cox.net)
05:52:19 alx741 joins (~alx741@181.199.42.143)
05:52:21 raym joins (~raym@user/raym)
05:54:06 × xff0x quits (~xff0x@2001:1a81:53fa:e800:fe67:1298:c7d8:80eb) (Ping timeout: 250 seconds)
05:55:41 bahamas joins (~lucian@84.232.140.52)
05:56:01 xff0x joins (~xff0x@2001:1a81:53fb:2b00:39af:d957:9c8c:d6f6)
05:56:01 × alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer)
05:59:48 × hpc quits (~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 272 seconds)
06:06:36 Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
06:11:17 × Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
06:11:24 hpc joins (~juzz@ip98-169-35-13.dc.dc.cox.net)
06:12:35 alx741 joins (~alx741@157.100.197.240)
06:15:39 × bahamas quits (~lucian@84.232.140.52) (Ping timeout: 272 seconds)
06:17:08 benin joins (~benin@106.195.33.202)
06:31:00 × lechner quits (~lechner@debian/lechner) (Ping timeout: 240 seconds)
06:31:01 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
06:33:46 lechner joins (~lechner@debian/lechner)
06:34:42 benin5 joins (~benin@106.195.39.120)
06:35:55 × benin5 quits (~benin@106.195.39.120) (Read error: Connection reset by peer)
06:36:53 × benin quits (~benin@106.195.33.202) (Ping timeout: 256 seconds)
06:37:51 benin joins (~benin@106.195.39.120)
06:39:43 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
06:40:12 × hpc quits (~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 240 seconds)
06:42:37 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 240 seconds)
06:44:17 × benin quits (~benin@106.195.39.120) (Read error: Connection reset by peer)
06:44:56 × alMalsamo quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
06:46:03 × aweinstock quits (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) (Ping timeout: 272 seconds)
06:47:05 hpc joins (~juzz@ip98-169-35-13.dc.dc.cox.net)
06:47:23 benin joins (~benin@106.195.39.120)
06:47:51 alx741 joins (~alx741@157.100.197.240)
06:52:38 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
06:54:19 × little_mac quits (~little_ma@2601:410:4300:3ce0:25e4:decc:c8da:26b5) (Quit: Leaving)
06:59:14 coot joins (~coot@213.134.190.95)
07:03:25 × lechner quits (~lechner@debian/lechner) (Quit: WeeChat 3.0)
07:03:50 alMalsamo joins (~alMalsamo@gateway/tor-sasl/almalsamo)
07:05:14 arjun joins (~arjun@user/arjun)
07:08:37 × benin quits (~benin@106.195.39.120) (Ping timeout: 256 seconds)
07:10:16 × alMalsamo quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
07:10:26 alx741 joins (~alx741@157.100.197.240)
07:13:15 Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
07:15:08 × hpc quits (~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 256 seconds)
07:15:09 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
07:24:39 abhixec joins (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net)
07:25:40 vorpuni joins (~pvorp@2001:861:3881:c690:7b63:89fd:c536:5b73)
07:26:42 hpc joins (~juzz@ip98-169-35-13.dc.dc.cox.net)
07:27:33 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
07:28:02 × bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 240 seconds)
07:29:19 Ariakenom joins (~Ariakenom@2001:9b1:efe:9d00:b428:2ed3:2da:8b6f)
07:29:24 × Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
07:32:55 alx741 joins (~alx741@181.199.42.143)
07:33:43 omantere joins (~pi@85-156-109-34.elisa-laajakaista.fi)
07:36:17 × YoungFrog quits (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Ping timeout: 240 seconds)
07:36:56 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
07:39:14 Ariakenom_ joins (~Ariakenom@h-82-196-111-63.NA.cust.bahnhof.se)
07:41:10 merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
07:41:42 aweinstock joins (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com)
07:42:52 × Ariakenom quits (~Ariakenom@2001:9b1:efe:9d00:b428:2ed3:2da:8b6f) (Ping timeout: 250 seconds)
07:44:48 × shriekingnoise quits (~shrieking@201.231.16.156) (Quit: Quit)
07:45:25 × alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer)
07:49:40 mc47 joins (~mc47@xmonad/TheMC47)
07:52:14 komikat joins (~komikat@183.82.154.239)
07:53:09 × komikat quits (~komikat@183.82.154.239) (Remote host closed the connection)
07:53:27 gehmehgeh joins (~user@user/gehmehgeh)
07:53:36 × wyrd quits (~wyrd@gateway/tor-sasl/wyrd) (Remote host closed the connection)
07:54:10 komikat joins (~komikat@183.82.154.239)
07:55:57 × mvk quits (~mvk@2607:fea8:5cdc:bf00::99e7) (Ping timeout: 240 seconds)
07:58:46 × hpc quits (~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 256 seconds)
07:58:49 wyrd joins (~wyrd@gateway/tor-sasl/wyrd)
07:59:13 Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
08:01:25 × komikat quits (~komikat@183.82.154.239) (Ping timeout: 272 seconds)
08:02:16 alx741 joins (~alx741@157.100.197.240)
08:03:48 × Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
08:03:57 × Unicorn_Princess quits (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Ping timeout: 272 seconds)
08:06:43 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
08:06:56 zeenk joins (~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5)
08:10:40 komikat joins (~komikat@183.82.154.239)
08:15:59 × merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
08:16:33 drdo joins (~drdo@roach0.drdo.eu)
08:17:10 Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
08:18:25 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
08:23:25 alx741 joins (~alx741@157.100.197.240)
08:24:13 ccntrq joins (~Thunderbi@2a01:e34:eccb:b060:1ccc:ee98:9b77:cb4a)
08:24:35 × gdown quits (~gavin@h69-11-150-165.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection)
08:24:44 polezaivsani joins (~polezaivs@orangeshoelaces.net)
08:25:09 alp joins (~alp@user/alp)
08:25:22 vpan joins (~0@212.117.1.172)
08:30:23 hpc joins (~juzz@ip98-169-35-13.dc.dc.cox.net)
08:30:29 zincy_ joins (~zincy@host86-160-236-152.range86-160.btcentralplus.com)
08:30:32 <polezaivsani> Somebody, please, enlighten me - when evaluating x `seq` f x (or the results of the seq, i'm not sure), x becomes gets evaluated to WHNF, but i'm a bit lost as to why it the case for both instances of x in the expression. As if x has been memoized. What am i missing?
08:32:42 <davean> Theres only one x
08:32:55 <davean> There is no second x
08:32:55 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
08:32:59 <ski> both occurances of `x' refer to the same computation. with lazy evaluation, the result of this computation is cached/shared
08:33:17 <ski> consider this definition
08:33:23 <ski> square x = x * x
08:33:44 <ski> now, assume that you're computing `square (2 + 3)'
08:34:09 <polezaivsani> do i have to have a putr language in order to easily make such assumptions?
08:34:14 <ski> naïvely (using call-by-name evaluation/reduction), you'd imagine a reduction sequence like
08:34:15 <polezaivsani> s/putr/pure/
08:34:27 <ski> square (2 + 3)
08:34:32 <ski> = (2 + 3) * (2 + 3)
08:34:38 <ski> = 5 * (2 + 3)
08:34:40 <ski> = 5 * 5
08:34:42 <ski> = 25
08:34:44 <polezaivsani> yep
08:35:06 <ski> this is not directly (but indirectly) related to absence of side-effects
08:35:19 <ski> anyway, with call-by-value evaluation, you'd instead get
08:35:24 <ski> square (2 + 3)
08:35:24 × Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
08:35:28 <ski> = square 5
08:35:30 <ski> = 5 * 5
08:35:32 <ski> = 25
08:35:48 <polezaivsani> roger that
08:36:47 <ski> so, with call-by-value, you first evaluate the operand(s) (argument(s), parameter(s)) (and the operator, the function (expression) itself. but often, that's just a name indicating a function), before substituting the actual parameter(s) (here `2 + 3', becoming `5'), for the formal parameter(s) (here `x') in the body of the function definition (here `x * x')
08:38:30 × komikat quits (~komikat@183.82.154.239) (Remote host closed the connection)
08:38:37 <ski> while, with call-by-name, you (first evaluate the operator expression, the function itself, to know which function you're calling. but here, that's `square' which is just a name, so nothing to do. then you) substitute the actual parameter(s) for the formal parameter(s) in the definiens (definition body of the function). and only if evaluating that body causes the parameter (`x') to be evaluated, do you
08:38:42 komikat joins (~komikat@183.82.154.239)
08:38:43 <ski> actually evaluate the actual parameter expression (`2 + 3')
08:39:20 <ski> so, if the formal parameter doesn't occur (or isn't forced to be evaluated, on the path/branch that is chosen), then we save evaluating the actual parameter expression
08:39:35 polezaivsani nods
08:39:43 <ski> however, if that formal parameter occurs more than once, then we actually do the same work more than once, that would only be done once, with call-by-value
08:40:28 <ski> so, call-by-need evaluation (also called lazy evaluation) is an optimization on call-by-name, where you cache/share the result of the evaluation of parameters, so that you evaluate them at most once
08:40:45 <ski> so indicate this in a reduction trace like above, we could write like
08:40:49 <ski> square (2 + 3)
08:41:02 <ski> = x * x where x = 2 + 3
08:41:04 <ski> = x * x where x = 5
08:41:08 <ski> = 5 * x where x = 5
08:41:10 <polezaivsani> oh, right, now i'm recalling the call-by-need!
08:41:11 <ski> = 5 * 5 where x = 5
08:41:13 <ski> = 5 * 5
08:41:17 <ski> = 25
08:41:54 <ski> (the step where we remove the `where x = 5', because there's no (use) occurance of `x' anymore (the `x' in `x = 5' is a binding occurance of `x') is called Garbage Collection (GC))
08:42:46 acidjnk joins (~acidjnk@p200300d0c71c0563a9d152fa4048aeb9.dip0.t-ipconnect.de)
08:43:02 ProfSimm joins (~ProfSimm@87.227.196.109)
08:43:03 × dextaa_ quits (~dextaa@user/dextaa) (Quit: The Lounge - https://thelounge.chat)
08:43:12 <ski> so, the rule is, any actual parameter expressions are shared, and we can indicate that textually in the reduction trace by using `where' (or `let'-`in'), giving them names, and storing the result (here `5') of the evaluation of the actual parameter, in the binding (`x = ...')
08:43:38 <ski> polezaivsani : this makes sense ?
08:45:23 <ski> (if the formal parameter isn't actually used more than once in the definiens, there is no need (but you still can, if you wish) to explicitly share its reduction, using `where' like above)
08:46:59 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
08:48:11 <polezaivsani> ski: yes, i guess it does. i've been missing the by-need evaluation step. suppose the cached evaluation of expressions is retained for any use within the lexical scope, right? so that in square x = x * someFn x, the x in the, say, (someFn x) thunk would still evaluate to a cached value
08:48:17 machinedgod joins (~machinedg@24.105.81.50)
08:48:19 cfricke joins (~cfricke@user/cfricke)
08:49:44 <ski> yes. and even if we provide a result back from the call to the function, some later demand of *part* of this result could still cause `x' (or part of it) to be reduced further. so this cached evaluation is not dropped just because the function call that introduced it has "returned". it may be retained for later
08:49:45 <davean> x is a name, not the thing
08:49:51 YoungFrog joins (~youngfrog@2a02:a03f:c21b:f900:b4ac:6a8f:4bfc:720a)
08:50:21 <ski> `(*)' is just another function, just like `someFn'
08:50:32 <ski> it's also worthwhile to point out that the Haskell report does not require an implementation to use call-by-need / lazy evaluation. these three i mentioned above (by-value,by-name,by-need) are reduction strategies, they are kinds of *operational* semantics, which describes a sequence of steps to take, to arrive at an answer/result
08:51:11 alx741 joins (~alx741@157.100.197.240)
08:51:49 lortabac joins (~lortabac@2a01:e0a:541:b8f0:ac5:f557:6cb0:e099)
08:52:19 <ski> there's a "higher-level" (less concerned with details) semantics, called denotational semantics. it talks about *which* answers you arrive at (or not, in case there is no answer, e.g. because of infinite loop, or pattern-match failure). the two main versions of it that are interesting here are called strict/eager evaluation vs. non-strict evaluation. Haskell is specified to use non-strict evaluation
08:52:47 <ski> this means that, in general, `f x' may have an answer, even if `x' does not
08:53:06 <ski> > (const 2) (3 `div` 0)
08:53:07 <lambdabot> 2
08:54:00 <polezaivsani> ski: yeah, that does make sense. Thank you a ton, ski! i'll go reread the whole explanation couple more times, but i'm close to getting a grip in the concept
08:54:03 <ski> so, non-strict evaluation can be implemented, by using by-name reduction. but it can also be implemented by using by-need. in practice, most Haskell implementations (at least as a default) uses by-need / lazy reduction
08:54:28 <ski> @where lazy
08:54:28 <lambdabot> "Lazy Evaluation of Haskell" by monochrom at <http://www.vex.net/~trebla/haskell/lazy.xhtml>; "The Incomplete Guide to Lazy Evaluation (in Haskell)" by apfelmus in 2015-03-07 at <https://apfelmus.
08:54:28 <lambdabot> nfshost.com/articles/lazy-eval.html>; "Laziness, strictness, guarded recursion" by bitemyapp at <https://github.com/bitemyapp/learnhaskell/blob/master/specific_topics.md#user-content-laziness-
08:54:28 <lambdabot> strictness-guarded-recursion>
08:54:39 <ski> polezaivsani : perhaps some of those ^ links might also help
08:54:47 <polezaivsani> cheers!
08:54:54 × zincy_ quits (~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Remote host closed the connection)
08:56:34 zincy_ joins (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
08:57:17 <ski> there has been Haskell implementations which have experimented a bit with speculative reduction. where to evaluate `f x', you might still try evaluating `x' in a different thread (if you have an idle one to spare), in the hope that `x' will be needed. but one needs to be careful, because if `x' generates a pattern-match failure, that must be caught, so as to not abort the execution of the whole program (so,
08:57:23 <ski> we pretend that we never reduced `x'). also, we most likely will set a time-out, so that if `x' takes too long (e.g. in case it goes into an infinite loop), we will eventually stop attempting to reduce it
08:57:59 <polezaivsani> yes, i was about to ask how not requiring a particular evalution strategy could allow for all the semantics of the language/library functions, but bet me to it :)
08:58:10 merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
08:58:33 fendor joins (~fendor@91.141.59.141.wireless.dyn.drei.com)
08:58:36 <polezaivsani> s/but/but you/
08:59:00 × zincy_ quits (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
08:59:01 <ski> in practice, when people try to reason about performance (time and space complexity) in Haskell, they normally assume by-need (sometimes modulated by thinking about e.g. fusion optimization, &c.)
08:59:37 yauhsien joins (~Yau-Hsien@61-231-19-150.dynamic-ip.hinet.net)
09:00:02 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
09:00:10 × sofviic[m] quits (~sofviicma@2001:470:69fc:105::1:51fd) (Quit: You have been kicked for being idle)
09:00:10 × Sixto[m] quits (~provornyc@2001:470:69fc:105::1:74df) (Quit: You have been kicked for being idle)
09:00:40 alx741 joins (~alx741@157.100.197.240)
09:02:23 td_ joins (~td@94.134.91.148)
09:04:13 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
09:05:06 Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909)
09:06:26 × drdo quits (~drdo@roach0.drdo.eu) (Quit: Ping timeout (120 seconds))
09:07:13 fef joins (~thedawn@user/thedawn)
09:07:30 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
09:09:17 × Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 240 seconds)
09:10:58 drdo joins (~drdo@roach0.drdo.eu)
09:14:21 zincy_ joins (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
09:15:00 polezaivsani` joins (~polezaivs@orangeshoelaces.net)
09:15:42 × polezaivsani` quits (~polezaivs@orangeshoelaces.net) (Client Quit)
09:15:59 polezaivsani` joins (~polezaivs@orangeshoelaces.net)
09:16:24 × polezaivsani quits (~polezaivs@orangeshoelaces.net) (Ping timeout: 256 seconds)
09:21:00 alx741 joins (~alx741@181.199.42.143)
09:21:05 ubert1 joins (~Thunderbi@2a02:8109:9880:303c:a167:dd2d:8526:2dcf)
09:26:24 × zincy_ quits (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
09:27:58 Guest28 joins (~Guest28@nat-eduroam-76-gw-01-lne.lille.inria.fr)
09:28:35 zincy_ joins (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
09:29:44 × alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer)
09:30:20 MajorBiscuit joins (~MajorBisc@wlan-145-94-218-48.wlan.tudelft.nl)
09:30:28 alx741 joins (~alx741@181.199.42.143)
09:30:35 × zincy_ quits (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
09:32:51 jespada joins (~jespada@148.252.133.112)
09:33:22 × Alex_test quits (~al_test@178.34.160.252) (Quit: ;-)
09:33:34 × AlexZenon quits (~alzenon@178.34.160.252) (Quit: ;-)
09:34:07 × AlexNoo quits (~AlexNoo@178.34.160.252) (Quit: Leaving)
09:34:35 × alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer)
09:35:26 <Guest28> Hello everyone, I found this tool https://github.com/camfort/fortran-src written in Haskel. My goal is to get the AST for a fortran source. But I don't understand the format of the output http://sprunge.us/Q5G6p9 . I need to get it in order to process it. Can someone help me to identify it? Is it possible to get it in another format like json or
09:35:26 <Guest28> xml.
09:36:15 <[exa]> Guest28: this output format looks like a pretty standard haskell ADT
09:36:20 <[exa]> aka "normal datatype"
09:36:29 <ski> that's (sortof, not quite), Haskell format
09:36:46 <ski> (someone's been abusing `Show')
09:36:46 zincy_ joins (~zincy@host86-160-236-152.range86-160.btcentralplus.com)
09:36:51 <[exa]> if you want JSON, formatting it as JSON shouldn't be that hard
09:37:09 [exa] wishes that they have Generic instances
09:38:12 cosimone joins (~user@93-34-132-33.ip49.fastwebnet.it)
09:38:41 irishman joins (~vshev4enk@178.151.117.243)
09:38:46 <Guest28> [exa] okay thank you, I will try to understand this format and how I can convert it to xml format or json.
09:39:05 <[exa]> Guest28: how did you now get the code out?
09:39:24 <ski> probably it would be simpler to convert it to the format you need/want, on the Haskell side, rather than trying to parse this text output, and translate it that way
09:39:26 <[exa]> oh they have a commandline interface, I see
09:39:47 <Guest28> [exa] `fortran-src file.f77`
09:40:07 <[exa]> you might need to write a tiny bit of haskell to get the conversion done
09:40:10 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
09:40:26 lavaman joins (~lavaman@98.38.249.169)
09:40:31 <[exa]> good news: they indeed have generic instances :D
09:40:33 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
09:41:38 <Guest28> [exa] it would be better indeed, even though I have never used a haskel before.
09:41:56 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
09:42:26 <Guest28> thank you for your quick response.
09:42:37 AlexZenon joins (~alzenon@178.34.160.252)
09:42:45 AlexNoo joins (~AlexNoo@178.34.160.252)
09:43:22 × irishman quits (~vshev4enk@178.151.117.243) (Ping timeout: 272 seconds)
09:44:17 Alex_test joins (~al_test@178.34.160.252)
09:46:07 <[exa]> okay well, they have an actual supporting library that you can use, docs are here: https://hackage.haskell.org/package/fortran-src
09:46:33 <[exa]> the source code for the `fortran-src` tool is just using the library, it's here https://github.com/camfort/fortran-src/blob/master/app/Main.hs
09:47:03 <[exa]> chances are that you'll be able to make a tiny program of your own that just rins the "parsing" action on the source
09:48:06 <[exa]> and when you have that, you define your chosen JSON encoding of the source (not very complicated) and print it out as JSON
09:48:20 × cosimone quits (~user@93-34-132-33.ip49.fastwebnet.it) (Quit: ERC (IRC client for Emacs 27.1))
09:48:24 <[exa]> (there's Aeson package for doing that in a pretty straightforward way)
09:51:43 alx741 joins (~alx741@157.100.197.240)
09:53:40 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
09:54:45 mmhat joins (~mmh@55d46dab.access.ecotel.net)
09:56:01 hololeap joins (~hololeap@user/hololeap)
09:57:02 <ski> Guest28 ^
09:58:03 × Guest28 quits (~Guest28@nat-eduroam-76-gw-01-lne.lille.inria.fr) (Ping timeout: 256 seconds)
10:00:47 califax joins (~califax@user/califx)
10:01:36 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
10:08:43 × cheater quits (~Username@user/cheater) (Ping timeout: 272 seconds)
10:09:15 hololeap_ joins (~hololeap@user/hololeap)
10:11:54 × vorpuni quits (~pvorp@2001:861:3881:c690:7b63:89fd:c536:5b73) (Quit: bye)
10:11:56 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
10:12:25 × komikat quits (~komikat@183.82.154.239) (Quit: Leaving...)
10:14:21 vorpuni joins (~pvorp@2001:861:3881:c690:7dcd:73c3:ce07:9a72)
10:14:26 × ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection)
10:15:11 komikat joins (~komikat@183.82.154.239)
10:15:46 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
10:17:54 Guest|81 joins (~Guest|81@195.176.16.2)
10:18:28 × Guest|81 quits (~Guest|81@195.176.16.2) (Client Quit)
10:19:15 alx741 joins (~alx741@157.100.197.240)
10:29:28 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
10:30:13 cheater joins (~Username@user/cheater)
10:31:00 × monochrom quits (trebla@216.138.220.146) (Ping timeout: 240 seconds)
10:32:12 <polezaivsani`> ski, if you don't mind me asking - the remark about the results of evaluation persisting beyond, hand-wavy, the function that required it - does it happen because that result was somehow reachable from some outer ~lexical scope~? If not - what kind of identity would be used to know exactly *what* it was that we had evaluated?
10:35:28 <ski> if you're computing `head (map (^ 2) [3 ..])', then you'll reduce `map (^ 2) [3 ..]' to `(3 ^ 2) : map (^ 2) [4 ..]', but then `head' only asks for the part before the `:', so the latter part (the tail of the list) gets discarded (isn't being reduced)
10:36:23 <ski> but you could e.g. bind the result of `map (^ 2) [3 ..]' to a pattern `x : xs', binding `x' to the head (`3 ^ 2') and `xs' to the tail. and maybe later, depending on which branch you're choosing, you may or may not reduce `xs' further
10:37:52 <ski> so, even though the call to `map' in `map (^ 2) [3 ..]' has "returned", we still have a lingering recursive call to `map' (`map (^ 2) [4 ..]') in `xs'. if we later reduce this, it, too, will be shared
10:38:47 <ski> does that help ?
10:39:57 thyriaen joins (~thyriaen@dynamic-089-014-003-224.89.14.pool.telefonica.de)
10:40:50 <polezaivsani`> i meant that we'd retain the recursive map call only if we'd have it bound to a name - is that correct?
10:41:47 <ski> well, you could also end up with the recursive call being a *part* of something that's bound to a name
10:42:27 <polezaivsani`> yes
10:42:48 <ski> but yes, it's basically via the naming that we're able to refer to some part more than once, and that's where the caching of the result comes in
10:43:07 <polezaivsani`> makes perfect sense, again - much thanks, ski!
10:44:14 <ski> if you're matching some result with a pattern `(_,_) : _', then that'll force some reduction, but won't actually bind any name to any part of it. so, that doesn't introduce any reason to keep the (partial reduction) results of that cached
10:44:49 <ski> hm, btw, another example i was thinking about before, but didn't cover then
10:44:56 × fef quits (~thedawn@user/thedawn) (Ping timeout: 240 seconds)
10:44:57 <ski> swap (x,y) = (y,x)
10:45:04 <ski> sumPair (a,b) = a + b
10:46:14 <ski> consider `sumPair (swap (2,3))'. to reduce this, because `sumPair' is matching its input not against a plain formal parameter variable (like `p' maybe), but against a pattern like `(a,b)', we have to reduce the call to `swap', to be able to reduce the `sumPair' call
10:46:37 <ski> so, `swap (2,3)' gets reduced to `(3,2)'
10:46:59 <polezaivsani`> yep
10:47:34 <ski> if we had had a definition `sumPair p@(a,b) = ...', then `p' could keep this cached result of reducing `swap (2,3)' to `(3,2)'
10:47:42 alx741 joins (~alx741@157.100.197.240)
10:48:45 <ski> or, if we were reducing `let p = swap (2,3) in sumPair p + ..p..', then `p' would also get cached
10:49:28 <ski> so, it's the fact that the result of a computation gets bound to a name, somewhere, that causes it to require caching, under by-name reduction
10:50:09 <ski> (the naming might not be visible in the code snippet you're looking at, directly. it could still happen in other code that's called by your code)
10:51:19 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
10:51:24 <polezaivsani`> yes, now there's no ghost of some abstract evaulation cahing happening to bother me anymore :)
10:51:31 <ski> (if you have a definition `copy t = (t,t)', and then you call `copy (swap (x,y))', then the result of that `swap' call will be cached (in the two components of the computed pair), even though the expression `copy (swap (x,y))' itself doesn't indicate this naming of the result of the `swap' call)
10:51:33 × acidsys quits (~LSD@2a03:4000:55:d20::3) (Excess Flood)
10:52:11 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3)
10:52:12 acidsys joins (~LSD@2a03:4000:55:d20::3)
10:53:17 <polezaivsani`> yes, i see that
10:53:37 <ski> iirc, the first link i gave above displays the caching in terms of a graph, with multiple arrows pointing to the same location indicating the sharing, rather than using textual names
10:53:46 <ski> but it's the same concept, just different way to convey it
10:53:53 × mbuf quits (~Shakthi@122.174.33.79) (Remote host closed the connection)
10:54:10 mbuf joins (~Shakthi@122.174.33.79)
10:54:35 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:18a5:3f32:4426:9917)
10:55:13 <polezaivsani`> yes, it's a graph in there
10:58:04 monochrom joins (trebla@216.138.220.146)
10:59:00 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:18a5:3f32:4426:9917) (Ping timeout: 240 seconds)
11:00:07 fef joins (~thedawn@user/thedawn)
11:01:31 × Akiva quits (~Akiva@user/Akiva) (Ping timeout: 256 seconds)
11:03:01 × acidjnk quits (~acidjnk@p200300d0c71c0563a9d152fa4048aeb9.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
11:03:17 × xff0x quits (~xff0x@2001:1a81:53fb:2b00:39af:d957:9c8c:d6f6) (Ping timeout: 240 seconds)
11:04:24 xff0x joins (~xff0x@2001:1a81:53fb:2b00:4af1:dbed:433f:e61a)
11:07:43 alx741 joins (~alx741@157.100.197.240)
11:13:12 max22- joins (~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr)
11:17:45 fendor_ joins (~fendor@178.115.50.171.wireless.dyn.drei.com)
11:18:12 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
11:18:32 Midjak joins (~Midjak@82.66.147.146)
11:20:02 × fendor quits (~fendor@91.141.59.141.wireless.dyn.drei.com) (Ping timeout: 240 seconds)
11:28:29 × acidsys quits (~LSD@2a03:4000:55:d20::3) (Excess Flood)
11:29:09 acidsys joins (~LSD@2a03:4000:55:d20::3)
11:35:48 × Unhammer quits (~Unhammer@user/unhammer) (Ping timeout: 240 seconds)
11:36:10 alx741 joins (~alx741@181.199.42.143)
11:37:36 Unhammer joins (~Unhammer@user/unhammer)
11:37:38 × merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds)
11:38:43 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
11:38:43 merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
11:40:43 × alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer)
11:46:00 × deadmarshal quits (~deadmarsh@95.38.230.238) (Ping timeout: 256 seconds)
11:49:47 cajun joins (~cajun@user/cajun)
11:54:51 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
11:54:57 <romesrf> !hello
11:55:38 Null_A joins (~null_a@c-98-210-133-39.hsd1.ca.comcast.net)
11:57:04 × whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
11:57:33 alx741 joins (~alx741@157.100.197.240)
12:00:02 × Null_A quits (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
12:00:13 × merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
12:00:15 <romesrf> I'm wondering: If I use WriterT but never use the accumulated values, is it "zero cost"?
12:00:45 merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
12:01:03 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
12:01:06 <geekosaur> would waste memory
12:01:13 <geekosaur> thunks aren't free
12:01:58 <romesrf> thank you
12:03:06 <romesrf> What were the RTS options to see the memory used ? I want to see how bad it is for my scenario
12:06:32 <romesrf> it's -T (sorry, that was in the docs obviously)
12:08:09 <joel135> i tried copying the xmobar config from here https://xmonad.org/TUTORIAL.html but i get a very obscure syntax error
12:09:16 irishman joins (~vshev4enk@178.151.117.243)
12:09:24 <joel135> (line 31, column 10), unexpected "s", expecting space or "Run"
12:09:38 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
12:10:31 <joel135> i tried simplifying the file but then it also doesn't work because it needs all those fields apparently
12:10:57 × merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
12:11:27 merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
12:12:57 mastarija joins (~mastarija@2a05:4f46:e04:6000:7d10:23d8:e646:5686)
12:13:24 × irishman quits (~vshev4enk@178.151.117.243) (Ping timeout: 240 seconds)
12:14:12 maroloccio joins (~marolocci@pousada3ja.mma.com.br)
12:14:19 bahamas joins (~lucian@84.232.140.52)
12:16:42 <geekosaur> joel135, xmobar config only looks like Haskell, and yes the parser is really lousy about error messages
12:17:16 <geekosaur> that one *usually* means one of the plugins wasn't included in your build. since most of the ones there are built-ins, I'd guess your build is without alsa
12:18:00 <joel135> i installed it like "stack install xmobar"
12:18:28 <geekosaur> if you built xmobar yourself, rebuild it with --flags=all_extensions
12:19:10 alx741 joins (~alx741@157.100.197.240)
12:19:18 <joel135> i tried removing the alsa part and now i get: unexpected end of input
12:19:57 <geekosaur> @where paste
12:19:58 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
12:20:55 <geekosaur> (and I *really* wish they'd do proper error handling, it's not that hard ):
12:21:42 × merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
12:22:23 merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
12:22:48 jgeerds joins (~jgeerds@d53600c5.access.ecotel.net)
12:22:49 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
12:23:06 <joel135> https://termbin.com/re9i
12:24:48 <geekosaur> hm, that looks right aside from the alsa plugin still being in the template
12:25:13 <joel135> i am missing a closing " !
12:25:15 <geekosaur> which shouldn;t cause an "unexpected end of input", I think
12:25:31 <joel135> now it works (without alsa, which is fine :)
12:25:34 <geekosaur> oh right, right at the end of the template
12:25:53 zer0bitz joins (~zer0bitz@2001:2003:f74d:b800:b579:336d:9a22:79d7)
12:26:05 <geekosaur> personally I'd turn on all the extensions, they're nice
12:26:23 <joel135> can i do it from stack?
12:26:36 <geekosaur> and it means you won't have to dig this up in the future and rebuildit if you want to for example have it show what you're playing
12:26:51 dsrt^ joins (~dsrt@50-202-219-146-static.hfc.comcastbusiness.net)
12:26:58 <geekosaur> yes, just rerun the stack install with --flags=all_extensions
12:28:23 × ubert1 quits (~Thunderbi@2a02:8109:9880:303c:a167:dd2d:8526:2dcf) (Remote host closed the connection)
12:28:38 <hpc> geekosaur: you have to think like a computer - it keeps reading string stuff until it finds ", which means the parser expects everything except eof
12:28:43 mastarija_ joins (~mastarija@2a05:4f46:e04:6000:f46a:7190:a000:4e97)
12:28:48 <hpc> it gets all the way to the end, and finally that's where it gets surprised
12:28:51 × mastarija_ quits (~mastarija@2a05:4f46:e04:6000:f46a:7190:a000:4e97) (Client Quit)
12:28:57 <hpc> the error isn't where the problem happened, it's where the surprise happened
12:29:09 mastarija_ joins (~mastarija@2a05:4f46:e04:6000:f46a:7190:a000:4e97)
12:29:09 Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
12:29:16 <joel135> it could also have been mismatched {} i think
12:29:31 <joel135> or []
12:30:03 <joel135> or any other unfinished syntactical form (if that's the right word for it)
12:30:41 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
12:31:09 <joel135> "stack install xmobar --flags=all_extensions"
12:31:30 <joel135> did you really mean this? stack says invalid option
12:32:02 <geekosaur> I'm not a stack user so no, I'm not sure. The install instructions are for cabal
12:32:43 × mastarija quits (~mastarija@2a05:4f46:e04:6000:7d10:23d8:e646:5686) (Ping timeout: 268 seconds)
12:32:57 <geekosaur> looks like it's --flag all_extensions
12:33:04 <geekosaur> can't have consistency, can we? :(
12:33:11 mastarija__ joins (~mastarija@2a05:4f46:e04:6000:f46a:7190:a000:4e97)
12:33:37 × Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
12:33:39 <joel135> "option flag: Must have a colon" :(
12:33:48 <geekosaur> o.O
12:34:10 <geekosaur> sigh
12:34:21 <geekosaur> --flag xmobar:all_extensions
12:34:24 <geekosaur> I think
12:34:48 Guest28 joins (~Guest28@nat-eduroam-76-gw-01-lne.lille.inria.fr)
12:35:44 × mastarija__ quits (~mastarija@2a05:4f46:e04:6000:f46a:7190:a000:4e97) (Client Quit)
12:36:02 <joel135> "stack install xmobar --flags=xmobar:all_extensions"
12:36:02 mastarija joins (~mastarija@2a05:4f46:e04:6000:f46a:7190:a000:4e97)
12:36:21 <joel135> ok, this is progress. now it is just asking me to update my global stack.yaml
12:36:29 × mastarija_ quits (~mastarija@2a05:4f46:e04:6000:f46a:7190:a000:4e97) (Ping timeout: 252 seconds)
12:37:42 <joel135> it is compiling now :)
12:39:37 <geekosaur> possibly it'llstop later asking for some C libs to be installed for things like mpris
12:41:01 alx741 joins (~alx741@157.100.197.240)
12:41:32 × mcglk quits (~mcglk@131.191.49.120) (Read error: Connection reset by peer)
12:42:05 mcglk joins (~mcglk@131.191.49.120)
12:42:51 <joel135> ok
12:45:01 <geekosaur> hpc, yes, I know, but parsec/megaparsec makes error handling and proper error reporting pretty easy. but xmobar is infamous for not bothering and thereby reporting errorsthat are really confusing to users
12:45:33 deadmarshal joins (~deadmarsh@95.38.230.238)
12:45:34 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
12:45:36 <geekosaur> sometimes I recommend the actual haskell config just to get saner error messages
12:46:02 <geekosaur> (granted, ghc is also infamous for "parse error" with little context…)
12:48:13 <romesrf> ahah
12:56:31 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:18a5:3f32:4426:9917)
12:58:21 <sprout> egelbot: 1 + "2"
12:59:31 × max22- quits (~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) (Ping timeout: 245 seconds)
13:00:36 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:18a5:3f32:4426:9917) (Ping timeout: 240 seconds)
13:03:33 alx741 joins (~alx741@157.100.197.240)
13:04:36 × bahamas quits (~lucian@84.232.140.52) (Ping timeout: 240 seconds)
13:07:19 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
13:07:38 bahamas joins (~lucian@84.232.140.52)
13:12:23 × bahamas quits (~lucian@84.232.140.52) (Ping timeout: 272 seconds)
13:17:55 × mastarija quits (~mastarija@2a05:4f46:e04:6000:f46a:7190:a000:4e97) (Quit: Leaving)
13:18:05 × jgeerds quits (~jgeerds@d53600c5.access.ecotel.net) (Ping timeout: 272 seconds)
13:18:15 × arjun quits (~arjun@user/arjun) (Remote host closed the connection)
13:18:21 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
13:18:58 kenran joins (~kenran@200116b82b58bf00ac94994ddceb2eda.dip.versatel-1u1.de)
13:24:31 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
13:24:56 alx741 joins (~alx741@157.100.197.240)
13:25:32 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 240 seconds)
13:26:12 × jespada quits (~jespada@148.252.133.112) (Ping timeout: 240 seconds)
13:27:16 CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
13:29:32 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
13:31:23 thevishy joins (~Nishant@2405:201:f005:c007:e022:4c5f:4bd4:2b64)
13:31:25 × dsrt^ quits (~dsrt@50-202-219-146-static.hfc.comcastbusiness.net) (Ping timeout: 240 seconds)
13:31:42 dsrt^ joins (~dsrt@50-202-219-146-static.hfc.comcastbusiness.net)
13:36:06 jiribenes joins (~jiribenes@rosa.jiribenes.com)
13:36:49 × mmhat quits (~mmh@55d46dab.access.ecotel.net) (Quit: WeeChat 3.4)
13:40:07 Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909)
13:40:50 <jiribenes> is there a reason why type operators cannot be partially applied like sections?
13:40:51 <jiribenes> for example `(a ->)` standing for `((->) a)` similarly to how `(2+)` stands for `((+) 2)`
13:41:14 alMalsamo joins (~alMalsamo@gateway/tor-sasl/almalsamo)
13:41:24 <jiribenes> (besides "nobody actually implemented it")
13:42:11 irishman joins (~vshev4enk@178.151.117.243)
13:43:14 <merijn> jiribenes: "Type operators weren't a thing when the report was written"? :)
13:44:10 <geekosaur> does the other way actually work? I think you can't in general do anything with (-> a) the way you can with (a ->)
13:44:22 <ski> left sections would work. right section wouldn't
13:44:24 doyougnu joins (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com)
13:44:38 <jiribenes> merijn: fair enough :)
13:45:17 <merijn> Also the above, yeah
13:45:28 <ski> @type (False,)
13:45:29 <lambdabot> t -> (Bool, t)
13:45:29 <ski> @kind (Int,)
13:45:31 <lambdabot> error: parse error on input ‘)’
13:45:48 <geekosaur> % :k (Int,)
13:45:49 <yahb> geekosaur: ; <interactive>:1:6: error: parse error on input `)'
13:45:52 <geekosaur> bah
13:46:05 alx741 joins (~alx741@157.100.197.240)
13:46:12 <geekosaur> % :set -XTupleSections
13:46:12 <yahb> geekosaur:
13:46:13 <ski> (that's `TupleSections')
13:46:17 <geekosaur> % :k (Int,)
13:46:17 <yahb> geekosaur: ; <interactive>:1:6: error: parse error on input `)'
13:46:18 <ski> it's already on
13:46:36 × irishman quits (~vshev4enk@178.151.117.243) (Ping timeout: 245 seconds)
13:46:41 <ski> % :q
13:46:42 <yahb> ski:
13:46:44 <ski> % :type (False,)
13:46:45 <yahb> ski: t -> (Bool, t)
13:48:30 <jiribenes> ski: just to be clear, why wouldn't right sections work?
13:48:33 × komikat quits (~komikat@183.82.154.239) (Remote host closed the connection)
13:50:15 <merijn> jiribenes: *right* sections won't work
13:50:29 <merijn> i.e. (-> Int) as opposed to (Int ->)
13:50:50 <merijn> jiribenes: Because right-sections are equivalent to type-level lambdas which break all sorts of things
13:51:21 <merijn> well, I guess right sections could work IFF immediately applied, but that kinda seems to defeat the purpose
13:51:28 <ski> `(2 +)' desugars to `(+) 2', while `(+ 2)' basically desugars to `flip (+) 2'. there is no corresponding `Flip' on the type level that one could use here
13:51:44 <jiribenes> oh right, yeah, that makes sense
13:52:20 <jiribenes> thanks! :)
13:53:57 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
13:54:34 alx741 joins (~alx741@157.100.197.240)
13:54:34 <ski> (well, iirc, the report specifies `(2 +)' to desugar to `\y -> 2 + y' (or `\y -> (+) 2 y' if you prefer), and `(+ 2)' to `\x -> x + 2' (or `\x -> (+) x 2') (`x' and `y' being fresh identifiers here), but, iirc, GHC instead desugars the first of those to `(+) 2')
13:56:17 × Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 240 seconds)
13:56:54 <ski> (having `Flip' be a `newtype' or `data' type wouldn't work, since `(-> b) a' would then mean `Flip (->) b a', which would be distinct from `a -> b'. and having it be a type synonym like `type Flip f b a = f a b' also wouldn't work, since type synonyms must be fully applied (saturated application, so just `Flip (->) b' will not work. i guess `(-> a) b' would work, if then you could just write `a -> b' or
13:57:00 <ski> `(->) a b' to begin with)
13:58:14 <ski> (hm .. i guess with `LiberalTypeSynonyms', having `Foo (-> b)' could work, if `Foo' is a type synonym that applies its callback argument)
13:58:55 komikat joins (~komikat@183.82.154.239)
14:02:49 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
14:06:16 × LiaoTao quits (~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection)
14:08:13 bahamas joins (~lucian@84.232.140.52)
14:09:11 LiaoTao joins (~LiaoTao@gateway/tor-sasl/liaotao)
14:09:33 × zincy_ quits (~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Remote host closed the connection)
14:11:36 lavaman joins (~lavaman@98.38.249.169)
14:12:27 zincy_ joins (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
14:14:23 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
14:14:27 × bahamas quits (~lucian@84.232.140.52) (Ping timeout: 272 seconds)
14:15:35 max22- joins (~maxime@2a01cb0883359800b5877b22b166e521.ipv6.abo.wanadoo.fr)
14:16:10 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
14:19:47 alx741 joins (~alx741@181.199.42.143)
14:21:03 jespada joins (~jespada@148.252.133.112)
14:21:19 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
14:23:07 × alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer)
14:24:08 <janus> how do i run cabal outdated on all of my transitive dependencies?
14:25:23 Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
14:26:35 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
14:26:50 × maroloccio quits (~marolocci@pousada3ja.mma.com.br) (Quit: WeeChat 3.0)
14:28:27 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
14:28:27 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
14:28:27 wroathe joins (~wroathe@user/wroathe)
14:30:23 × Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 256 seconds)
14:30:42 justsomeguy joins (~justsomeg@user/justsomeguy)
14:34:49 <justsomeguy> Is the list type basically the same thing as a stream type wrapped in Maybe? data Stream a = Stream a (Stream a); :type Just (Stream a); :type (1:)? I was thinking about all the things lists can possibly represent...
14:35:58 <ski> no. lists can be finite
14:36:15 cfricke joins (~cfricke@user/cfricke)
14:36:22 <ski> with `Maybe (Stream a)' you either have no stream, or you have an infinite stream
14:37:32 <ski> (also, `Just (Stream a)' would have type `Maybe (Stream t -> Stream t)', assuming `a' had type `t' .. i'm not sure what you were aiming for, there)
14:37:57 irishman joins (~vshev4enk@178.151.117.243)
14:38:27 <justsomeguy> My though process is Nothing would correspond to the [] data constructor. Then you can pattern match on (Just Stream a (Just (Stream a ... Nothing), right?
14:38:48 justsomeguy is not sure if that makes sense
14:38:52 <ski> (this is one reason why i typically don't like naming data constructors the same as the type constructor they belong to. i'd prefer `data Stream a = Cons a (Stream a)', or at least `data Stream a = MkStream a (Stream a)' (you could also use a `newtype' of `(a,Stream a)', if you prefer))
14:39:31 <ski> justsomeguy : yes, it does. but that's not `Maybe (Stream a)', that's not "a stream type wrapped in Maybe". that's *interleaving* your given `Stream' type with `Maybe'
14:39:51 <ski> newtype Stream a = MkStream (Maybe (a,Stream a)) -- like this
14:40:02 alx741 joins (~alx741@157.100.197.240)
14:40:49 <ski> another way to do this would be to have
14:41:07 <ski> newtype StreamF a s = MkStreamF (Maybe (a,s))
14:41:14 <ski> or
14:41:21 <ski> data StreamF a s = Nil
14:41:31 <ski> | Cons a s
14:41:35 <ski> together with
14:41:50 <ski> type Stream a = Mu (StreamF a)
14:41:57 <ski> @src Mu
14:41:57 <lambdabot> newtype Mu f = In { out :: f (Mu f) }
14:42:11 <ski> (you also see the name `Fix')
14:42:17 × irishman quits (~vshev4enk@178.151.117.243) (Ping timeout: 256 seconds)
14:43:05 × Guest28 quits (~Guest28@nat-eduroam-76-gw-01-lne.lille.inria.fr) (Ping timeout: 256 seconds)
14:43:54 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
14:43:55 <ski> so, you'd have `In (Cons 2 (In (Cons 3 (In (Cons 5 (In (Cons 7 (In Nil))))))))', or `In (Just (2,In (Just (3,In (Just (5,In (Just (7,In Nothing))))))))'
14:44:32 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds)
14:44:43 <ski> (or with s/In/MkStream/ for the latter one, if you want the directly recursive `newtype' `Stream', rather than doing recursion via `Mu')
14:44:51 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
14:45:22 jz99 joins (~jz99@pa49-179-20-247.pa.nsw.optusnet.com.au)
14:46:10 × jz99 quits (~jz99@pa49-179-20-247.pa.nsw.optusnet.com.au) (Remote host closed the connection)
14:47:58 <justsomeguy> I don't know why, but this seems interesting. I'll have to experiment with the examples you gave me just now. Thanks for humoring my silly questions :^)
14:48:43 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
14:50:36 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
14:51:10 <ski> not silly questions
14:51:28 <ski> playful, curious, questions are not silly
14:51:44 <merijn> Also, silly isn't a judgement of quality
14:51:58 <merijn> Some of my favourite haskell code is silly as hell :p
14:52:22 <merijn> "data Neither a b = Left | Right" remains a favourite :D
14:53:26 × vpan quits (~0@212.117.1.172) (Quit: Leaving.)
14:53:52 mikoto-chan joins (~mikoto-ch@213.177.151.239)
14:54:28 ski . o O ( "There are no silly questions, only silly people." ? )
14:54:34 ski is being silly
14:54:39 shriekingnoise joins (~shrieking@201.231.16.156)
14:55:16 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds)
14:57:47 zer0bitz_ joins (~zer0bitz@2001:2003:f74d:b800:b579:336d:9a22:79d7)
14:57:51 Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
14:58:11 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:18a5:3f32:4426:9917)
14:59:17 × justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 256 seconds)
14:59:58 × coot quits (~coot@213.134.190.95) (Quit: coot)
15:00:17 alx741 joins (~alx741@157.100.197.240)
15:00:55 justsomeguy joins (~justsomeg@user/justsomeguy)
15:01:08 × zer0bitz quits (~zer0bitz@2001:2003:f74d:b800:b579:336d:9a22:79d7) (Ping timeout: 252 seconds)
15:01:32 coot joins (~coot@213.134.190.95)
15:02:12 × Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
15:02:17 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:18a5:3f32:4426:9917) (Ping timeout: 240 seconds)
15:02:21 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds)
15:03:57 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
15:04:22 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
15:06:03 × doyougnu quits (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Ping timeout: 256 seconds)
15:06:18 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
15:06:45 × nf quits (~n@monade.li) (Quit: Fairfarren.)
15:08:35 nf joins (~n@2001:19f0:7400:8e5a:5400:3ff:fede:4dc0)
15:09:29 neightchan joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
15:10:34 × natechan quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
15:10:43 adamcstephens[m] joins (~adamcstep@2001:470:69fc:105::1:72a2)
15:14:25 bontaq joins (~user@ool-45779fe5.dyn.optonline.net)
15:16:01 Sgeo joins (~Sgeo@user/sgeo)
15:17:20 × coot quits (~coot@213.134.190.95) (Quit: coot)
15:17:47 × jackalope quits (~jackalope@50-24-138-131.bcstcmta02.res.dyn.suddenlink.net) (Ping timeout: 272 seconds)
15:18:47 × cods quits (~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 256 seconds)
15:19:02 cods joins (~fred@82-65-232-44.subs.proxad.net)
15:20:42 coot joins (~coot@213.134.190.95)
15:21:17 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:21:54 alx741 joins (~alx741@157.100.197.240)
15:23:13 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:ac5:f557:6cb0:e099) (Quit: WeeChat 2.8)
15:23:18 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
15:24:15 Guest28 joins (~Guest28@nat-eduroam-76-gw-01-lne.lille.inria.fr)
15:25:20 lortabac joins (~lortabac@2a01:e0a:541:b8f0:ac5:f557:6cb0:e099)
15:25:34 shapr` joins (~user@pool-173-73-44-186.washdc.fios.verizon.net)
15:27:55 × shapr quits (~user@pool-173-73-44-186.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
15:28:19 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
15:28:23 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.4)
15:29:02 alt-romes joins (~romes@44.190.189.46.rev.vodafone.pt)
15:30:19 azimut joins (~azimut@gateway/tor-sasl/azimut)
15:31:44 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 250 seconds)
15:31:58 × komikat quits (~komikat@183.82.154.239) (Remote host closed the connection)
15:35:24 komikat joins (~komikat@183.82.154.239)
15:36:02 <maerwald> merijn: lol
15:37:21 little_mac joins (~little_ma@2601:410:4300:3ce0:f10f:3b24:c2c7:662e)
15:40:30 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:43:24 × rembo10 quits (~rembo10@remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
15:44:23 rembo10 joins (~rembo10@remulis.com)
15:45:20 alx741 joins (~alx741@157.100.197.240)
15:45:40 Tuplanolla joins (~Tuplanoll@91-159-69-98.elisa-laajakaista.fi)
15:46:06 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
15:46:34 × fendor_ quits (~fendor@178.115.50.171.wireless.dyn.drei.com) (Remote host closed the connection)
15:46:54 azimut joins (~azimut@gateway/tor-sasl/azimut)
15:48:26 × califax quits (~califax@user/califx) (Remote host closed the connection)
15:48:41 califax joins (~califax@user/califx)
15:48:53 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
15:49:14 × neightchan quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
15:49:47 n8chan joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
15:54:26 Pickchea joins (~private@user/pickchea)
15:58:53 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 252 seconds)
16:00:06 × cdsmith quits (~cdsmithma@2001:470:69fc:105::284) (Quit: You have been kicked for being idle)
16:02:59 × alt-romes quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds)
16:03:26 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
16:04:58 alt-romes joins (~romes@44.190.189.46.rev.vodafone.pt)
16:05:02 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
16:05:22 alx741 joins (~alx741@157.100.197.240)
16:07:05 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
16:08:16 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
16:10:21 × little_mac quits (~little_ma@2601:410:4300:3ce0:f10f:3b24:c2c7:662e) (Ping timeout: 245 seconds)
16:10:59 × coot quits (~coot@213.134.190.95) (Ping timeout: 272 seconds)
16:12:44 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:18a5:3f32:4426:9917)
16:14:14 × mbuf quits (~Shakthi@122.174.33.79) (Quit: Leaving)
16:15:27 lechner joins (~lechner@debian/lechner)
16:15:59 ph88 joins (~ph88@2a02:8109:9e00:71d0:5819:d51:74c8:3e0f)
16:17:12 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3)
16:17:41 jgeerds joins (~jgeerds@d53600c5.access.ecotel.net)
16:17:48 dextaa_ joins (~dextaa@user/dextaa)
16:19:14 × cods quits (~fred@82-65-232-44.subs.proxad.net) (Read error: Connection reset by peer)
16:19:48 × merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
16:22:22 <edwardk> wouldn't data Neither a b = Neither (a -> Void) (b -> Void) ?
16:23:38 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
16:23:44 <edwardk> ah merijn left
16:24:17 × alt-romes quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds)
16:24:31 cods joins (~fred@82-65-232-44.subs.proxad.net)
16:24:42 alx741 joins (~alx741@181.199.42.143)
16:25:33 wonko joins (~wjc@user/wonko)
16:26:58 xkuru joins (~xkuru@user/xkuru)
16:26:58 × alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer)
16:29:08 alt-romes joins (~romes@44.190.189.46.rev.vodafone.pt)
16:29:47 × komikat quits (~komikat@183.82.154.239) (Remote host closed the connection)
16:31:10 × thevishy quits (~Nishant@2405:201:f005:c007:e022:4c5f:4bd4:2b64) (Quit: Leaving)
16:31:16 komikat joins (~komikat@183.82.154.239)
16:32:02 × jgeerds quits (~jgeerds@d53600c5.access.ecotel.net) (Ping timeout: 260 seconds)
16:32:22 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:18a5:3f32:4426:9917) (Remote host closed the connection)
16:33:25 irishman joins (~vshev4enk@178.151.117.243)
16:35:01 × nf quits (~n@2001:19f0:7400:8e5a:5400:3ff:fede:4dc0) (Quit: Fairfarren.)
16:35:12 nf joins (~n@monade.li)
16:35:52 <carbolymer> edwardk: how do you use that constructor?
16:36:07 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
16:36:27 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:ac5:f557:6cb0:e099) (Quit: WeeChat 2.8)
16:37:10 × alt-romes quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 260 seconds)
16:38:12 × irishman quits (~vshev4enk@178.151.117.243) (Ping timeout: 272 seconds)
16:38:25 alt-romes joins (~romes@44.190.189.46.rev.vodafone.pt)
16:43:28 bahamas joins (~lucian@84.232.140.52)
16:44:04 alx741 joins (~alx741@181.199.42.143)
16:44:12 × kenran quits (~kenran@200116b82b58bf00ac94994ddceb2eda.dip.versatel-1u1.de) (Ping timeout: 240 seconds)
16:44:33 _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl)
16:45:03 <byorgey> edwardk: I was going to suggest that too, but decided I was being too nitpicky about something that was just a joke. Glad I'm not the only one though =)
16:45:09 kenran joins (~kenran@200116b82b58bf00e0673ca75d341939.dip.versatel-1u1.de)
16:46:03 <byorgey> I guess it depends whether 'Neither a b' means 'neither a nor b are inhabited', or 'you have neither a value of type a nor one of type b'
16:46:17 <edwardk> carbolymer: Neither id id :: Neither Void Void -- works
16:46:21 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
16:46:50 <carbolymer> edwardk: yeah, but I can't think of any other example than that
16:46:55 <edwardk> data Neither a b = Neither { notLeft :: a -> Void, notRight :: b -> Void }
16:47:34 <edwardk> carbolymer: V1 a, Const Void x, Down (V1 a), ... are all "uninhabited" data types
16:47:45 <edwardk> all of which admit those a -> Void embeddings
16:47:45 × alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer)
16:48:19 shapr` is now known as shapr
16:48:38 <byorgey> deMorgan :: Either a b -> (Neither a b -> Void) -- exercise
16:48:52 <byorgey> deMorgan2 :: (Neither a b -> Void) -> Either a b -- beware of pacts with the devil
16:49:32 <edwardk> the latter may require timetravel or callcc
16:50:01 <byorgey> or pacts with the devil, yes
16:50:23 <edwardk> the devil pact would let you go from not not not -> not, no?
16:50:57 o-90 joins (~o-90@gateway/tor-sasl/o-90)
16:51:09 <byorgey> ah, right, I guess the devil pact story is actually constructive, isn't it
16:51:19 merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
16:52:09 <edwardk> yeah
16:52:16 <edwardk> otherwise you need the devil to exist outside the machine =)
16:52:17 × vysn quits (~vysn@user/vysn) (Ping timeout: 240 seconds)
16:52:39 <byorgey> hehe, right =)
16:52:44 <geekosaur> always knew programmers were devils :}
16:53:01 <edwardk> only scheme programmers.
16:53:39 mvk joins (~mvk@2607:fea8:5cdc:bf00::99e7)
16:55:01 × dsrt^ quits (~dsrt@50-202-219-146-static.hfc.comcastbusiness.net) (Ping timeout: 240 seconds)
16:55:57 × merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
16:56:13 dsrt^ joins (~dsrt@50-202-219-146-static.hfc.comcastbusiness.net)
17:00:14 Unicorn_Princess joins (~Unicorn_P@93-103-228-248.dynamic.t-2.net)
17:02:13 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
17:02:45 lbseale joins (~ep1ctetus@user/ep1ctetus)
17:04:12 × CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
17:04:18 alx741 joins (~alx741@157.100.197.240)
17:04:48 pretty_d1 joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
17:05:21 × alt-romes quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 245 seconds)
17:06:11 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 245 seconds)
17:07:47 × komikat quits (~komikat@183.82.154.239) (Remote host closed the connection)
17:07:47 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
17:09:00 komikat joins (~komikat@183.82.154.239)
17:11:02 vicfred joins (~vicfred@user/vicfred)
17:13:32 zebrag joins (~chris@user/zebrag)
17:16:19 doyougnu joins (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com)
17:19:28 × fef quits (~thedawn@user/thedawn) (Quit: Leaving)
17:20:41 × o-90 quits (~o-90@gateway/tor-sasl/o-90) (Quit: Leaving)
17:20:45 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
17:21:24 Vajb joins (~Vajb@2001:999:600:5133:28cb:83bf:5ecf:4314)
17:23:16 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 245 seconds)
17:23:34 little_mac joins (~little_ma@2601:410:4300:3ce0:f10f:3b24:c2c7:662e)
17:23:49 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
17:24:16 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
17:24:28 × zeenk quits (~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5) (Quit: Konversation terminated!)
17:24:33 alx741 joins (~alx741@157.100.197.240)
17:25:08 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:18a5:3f32:4426:9917)
17:26:17 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
17:27:14 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
17:27:49 analognoise joins (~analognoi@212.102.45.103)
17:29:12 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
17:29:12 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
17:29:12 wroathe joins (~wroathe@user/wroathe)
17:30:34 mastarija joins (~mastarija@2a05:4f46:e04:6000:f46a:7190:a000:4e97)
17:30:55 lavaman joins (~lavaman@98.38.249.169)
17:32:36 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 240 seconds)
17:33:38 alt-romes joins (~romes@44.190.189.46.rev.vodafone.pt)
17:35:10 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
17:38:18 × alt-romes quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 260 seconds)
17:42:43 × Pickchea quits (~private@user/pickchea) (Ping timeout: 256 seconds)
17:43:23 × mncheck quits (~mncheck@193.224.205.254) (Remote host closed the connection)
17:43:40 alx741 joins (~alx741@157.100.197.240)
17:44:13 alt-romes joins (~romes@44.190.189.46.rev.vodafone.pt)
17:45:36 × jespada quits (~jespada@148.252.133.112) (Read error: Connection reset by peer)
17:46:41 × Guest28 quits (~Guest28@nat-eduroam-76-gw-01-lne.lille.inria.fr) (Ping timeout: 256 seconds)
17:48:29 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
17:48:36 × alt-romes quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds)
17:49:01 Akiva joins (~Akiva@user/Akiva)
17:49:25 × sterni quits (~lukas@user/sterni) (Ping timeout: 240 seconds)
17:49:43 sterni joins (~lukas@user/sterni)
17:51:01 × xnbya quits (~xnbya@2a01:4f8:c17:cbdd::1) (Ping timeout: 240 seconds)
17:51:07 xnbya joins (~xnbya@2a01:4f8:c17:cbdd::1)
17:53:17 × dextaa_ quits (~dextaa@user/dextaa) (Remote host closed the connection)
17:54:19 alt-romes joins (~romes@44.190.189.46.rev.vodafone.pt)
17:56:53 × MajorBiscuit quits (~MajorBisc@wlan-145-94-218-48.wlan.tudelft.nl) (Ping timeout: 256 seconds)
18:00:00 irishman joins (~vshev4enk@178.151.117.243)
18:00:17 × bahamas quits (~lucian@84.232.140.52) (Ping timeout: 256 seconds)
18:01:37 × alt-romes quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds)
18:04:12 × irishman quits (~vshev4enk@178.151.117.243) (Ping timeout: 240 seconds)
18:04:13 × Vajb quits (~Vajb@2001:999:600:5133:28cb:83bf:5ecf:4314) (Read error: Connection reset by peer)
18:04:32 Vajb joins (~Vajb@85-76-130-48-nat.elisa-mobile.fi)
18:05:23 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds)
18:06:11 alx741 joins (~alx741@157.100.197.240)
18:07:28 alt-romes joins (~romes@44.190.189.46.rev.vodafone.pt)
18:08:31 × kenran quits (~kenran@200116b82b58bf00e0673ca75d341939.dip.versatel-1u1.de) (Quit: WeeChat info:version)
18:09:24 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
18:11:03 × Vajb quits (~Vajb@85-76-130-48-nat.elisa-mobile.fi) (Read error: Connection reset by peer)
18:11:29 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
18:11:36 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
18:11:36 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
18:11:36 wroathe joins (~wroathe@user/wroathe)
18:12:44 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
18:13:47 whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com)
18:14:27 × alt-romes quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds)
18:14:55 irishman joins (~vshev4enk@178.151.117.243)
18:14:59 × ph88 quits (~ph88@2a02:8109:9e00:71d0:5819:d51:74c8:3e0f) (Quit: Leaving)
18:16:09 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds)
18:16:58 alt-romes joins (~romes@44.190.189.46.rev.vodafone.pt)
18:17:56 Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
18:18:22 × zincy_ quits (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
18:19:00 × irishman quits (~vshev4enk@178.151.117.243) (Ping timeout: 240 seconds)
18:19:08 <bjourne> is there a tool for converting functions in pointfree style to applicative style?
18:22:20 adverbs joins (~toy@110.136.217.207)
18:23:31 <Clint> what?
18:23:45 zincy_ joins (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
18:25:44 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
18:26:03 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
18:27:01 × wonko quits (~wjc@user/wonko) (Ping timeout: 245 seconds)
18:27:34 alx741 joins (~alx741@157.100.197.240)
18:27:40 × adverbs quits (~toy@110.136.217.207) (Ping timeout: 250 seconds)
18:27:42 <bjourne> obfuscated haskell
18:27:44 <bjourne> p = m (vr g) . ysu . mapV (m (vr g)) . mv (m (mv f)) . usy . m (gv 4)
18:27:48 yauhsien_ joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net)
18:32:12 × yauhsien_ quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
18:34:09 <hgolden> I care about everyone in the Haskell community: https://www.reddit.com/r/haskell/comments/t0hib5/i_care_about_everyone_in_the_haskell_community/?utm_source=share&utm_medium=web2x&context=3
18:34:17 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
18:34:57 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 240 seconds)
18:35:01 mc47 joins (~mc47@xmonad/TheMC47)
18:35:19 × zincy_ quits (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
18:35:37 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
18:37:00 × Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
18:38:11 zincy_ joins (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
18:38:44 ski . o O ( "Devils and Angels" <http://lambda-the-ultimate.org/classic/message4528.html>,<http://lambda-the-ultimate.org/classic/message6776.html>,<https://web.archive.org/web/20040919023420/http://www.math.chalmers.se/~augustss/AFP/problems/devils-n-angels/> )
18:38:56 ski . o O ( (p. 265) "Programming with Continuations" by Daniel P. Friedman,Christopher T. Haynes,Eugene Kohlbecker in 1984 at (p. 263) <https://link.springer.com/chapter/10.1007/978-3-642-46490-4_23> ; (p. 20) "Call with Current Continuation Patterns" by Darrell Ferguson,Dwight Deugo in 2001-08-24 at <https://3e8.org/pub/scheme/doc/Call%20with%20Current%20Continuation%20patterns.pdf> )
18:39:43 <ski> bjourne : by using `Applicative (rho ->)' or what ?
18:41:53 <ski> bjourne : what's the relevant type signatures ?
18:47:31 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
18:48:17 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 240 seconds)
18:49:47 dextaa_ joins (~dextaa@user/dextaa)
18:53:02 × zincy_ quits (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
18:53:28 ProfSimm joins (~ProfSimm@87.227.196.109)
18:54:04 zincy_ joins (~zincy@host86-160-236-152.range86-160.btcentralplus.com)
18:54:12 alx741 joins (~alx741@181.199.42.143)
18:56:18 <sm> nice hgolden ! likewise!
18:56:44 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
18:56:57 merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
18:57:22 × alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer)
19:00:21 × zincy_ quits (~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Remote host closed the connection)
19:01:14 zincy_ joins (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
19:03:05 <byorgey> bjourne: you mean like an inverse to lambdabot's @pointfree command?
19:04:10 cosimone joins (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3)
19:05:10 econo joins (uid147250@user/econo)
19:05:38 <byorgey> I don't know of anything which does that automatically.
19:05:43 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:18a5:3f32:4426:9917) (Remote host closed the connection)
19:05:56 <dolio> @unpl f . g . h
19:05:57 <lambdabot> (\ x -> f (g (h x)))
19:06:24 <monochrom> @pl already does both pointfree and applicative.
19:06:33 <monochrom> @pl \x -> f x (g x)
19:06:33 <lambdabot> ap f g
19:06:41 <byorgey> oh! =D
19:06:47 <monochrom> Just change that "ap" to "(<*>)".
19:07:05 × zincy_ quits (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
19:07:14 <byorgey> @unpl m (vr g) . ysu . mapV (m (vr g)) . mv (m (mv f)) . usy . m (gv 4)
19:07:14 <lambdabot> (\ x -> m (vr g) (ysu (mapV (m (vr g)) (mv (m (mv f)) (usy (m (gv 4) x))))))
19:07:15 <monochrom> So "convert pointfree to applicative" sounds like nonsense. applicative is a special case of pointfree.
19:07:29 <byorgey> not really an improvement
19:08:13 Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
19:12:41 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
19:14:37 spacenautx joins (~spacenaut@user/spacenautx)
19:14:42 alx741 joins (~alx741@181.199.42.143)
19:15:00 × alt-romes quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds)
19:15:44 Guest402 is now known as sudden
19:16:17 × Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
19:19:00 × alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer)
19:19:20 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds)
19:20:40 zincy_ joins (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
19:21:00 bahamas joins (~lucian@84.232.140.52)
19:22:49 CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
19:25:51 × dsrt^ quits (~dsrt@50-202-219-146-static.hfc.comcastbusiness.net) (Remote host closed the connection)
19:26:41 × merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
19:28:37 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 240 seconds)
19:28:50 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
19:30:01 × zincy_ quits (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
19:30:17 geekosaur joins (~geekosaur@xmonad/geekosaur)
19:33:47 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
19:34:21 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 256 seconds)
19:34:30 × Alex_test quits (~al_test@178.34.160.252) (Ping timeout: 260 seconds)
19:35:26 × AlexZenon quits (~alzenon@178.34.160.252) (Ping timeout: 260 seconds)
19:35:48 × AlexNoo quits (~AlexNoo@178.34.160.252) (Ping timeout: 240 seconds)
19:36:05 alx741 joins (~alx741@157.100.197.240)
19:37:01 AlexNoo joins (~AlexNoo@178.34.160.252)
19:37:02 Alex_test joins (~al_test@178.34.160.252)
19:37:13 AlexZenon joins (~alzenon@178.34.160.252)
19:39:16 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
19:44:07 × CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
19:46:15 Henson joins (~kvirc@107-179-133-201.cpe.teksavvy.com)
19:46:52 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
19:47:15 <Henson> is there a way I can use BangPatterns in data types with records? I can do "data Foo = Foo !Double !Int" but I don't know if I can do "data Foo = Foo { !fooVal1 :: Double, !fooVal2 :: Int }" or some variation thereof
19:47:15 Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
19:47:37 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
19:47:45 <xerox> still bang on the type not the record name
19:48:02 <geekosaur> @let data Foo = Foo { fooVal2 :: !Double }
19:48:05 <lambdabot> Defined.
19:48:09 Lord_of_Life_ is now known as Lord_of_Life
19:49:01 <Henson> xerox, geekosaur: thank you!
19:51:08 <monochrom> If you don't mind reading a bit of grammar rules, it's covered at https://www.haskell.org/onlinereport/haskell2010/haskellch4.html#x10-690004.2.1
19:51:12 gdown joins (~gavin@h69-11-150-165.kndrid.broadband.dynamic.tds.net)
19:52:07 <Henson> monochrom: thank you for the reference
19:53:59 Pickchea joins (~private@user/pickchea)
19:56:06 alx741 joins (~alx741@157.100.197.240)
19:56:18 irishman joins (~vshev4enk@178.151.117.243)
20:00:06 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:18a5:3f32:4426:9917)
20:00:37 × irishman quits (~vshev4enk@178.151.117.243) (Ping timeout: 240 seconds)
20:02:01 coot joins (~coot@213.134.190.95)
20:04:12 × Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
20:07:54 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
20:07:54 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
20:07:54 wroathe joins (~wroathe@user/wroathe)
20:08:18 × ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection)
20:08:37 ProfSimm joins (~ProfSimm@87.227.196.109)
20:10:28 kaph joins (~kaph@net-109-116-117-37.cust.vodafonedsl.it)
20:11:31 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:13:01 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds)
20:13:33 × doyougnu quits (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Ping timeout: 272 seconds)
20:14:31 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
20:14:34 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
20:16:45 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
20:17:37 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
20:18:11 Erutuon joins (~Erutuon@user/erutuon)
20:18:11 zincy_ joins (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
20:19:20 <Zemyla> Why is minusNaturalMaybe not in Numeric.Natural?
20:19:49 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
20:19:49 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
20:19:49 wroathe joins (~wroathe@user/wroathe)
20:24:47 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds)
20:29:31 jz99 joins (~jz99@150.203.66.198)
20:30:04 × jz99 quits (~jz99@150.203.66.198) (Remote host closed the connection)
20:32:44 alx741 joins (~alx741@157.100.197.240)
20:33:09 Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
20:33:24 × mastarija quits (~mastarija@2a05:4f46:e04:6000:f46a:7190:a000:4e97) (Quit: Leaving)
20:34:21 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
20:34:48 jespada joins (~jespada@85.255.233.175)
20:35:58 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
20:36:47 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
20:37:52 jz99 joins (~jz99@150.203.66.198)
20:38:30 × jz99 quits (~jz99@150.203.66.198) (Remote host closed the connection)
20:40:08 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
20:40:27 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
20:40:56 × bahamas quits (~lucian@84.232.140.52) (Ping timeout: 256 seconds)
20:41:23 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
20:42:00 CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
20:43:00 × xff0x quits (~xff0x@2001:1a81:53fb:2b00:4af1:dbed:433f:e61a) (Ping timeout: 240 seconds)
20:43:20 × whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
20:43:57 xff0x joins (~xff0x@2001:1a81:53fb:2b00:8d8b:288f:2428:63ae)
20:45:07 agumonkey joins (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7)
20:48:02 yauhsien_ joins (~Yau-Hsien@61-231-21-135.dynamic-ip.hinet.net)
20:49:15 × zincy_ quits (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
20:50:25 × Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 250 seconds)
20:50:56 × yauhsien quits (~Yau-Hsien@61-231-19-150.dynamic-ip.hinet.net) (Ping timeout: 252 seconds)
20:51:48 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
20:52:25 zincy_ joins (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
20:52:47 alx741 joins (~alx741@157.100.197.240)
20:53:22 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.3)
20:55:05 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
21:00:07 notzmv joins (~zmv@user/notzmv)
21:04:19 pavonia joins (~user@user/siracusa)
21:04:50 × _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
21:06:44 irishman joins (~vshev4enk@178.151.117.243)
21:11:15 × irishman quits (~vshev4enk@178.151.117.243) (Ping timeout: 256 seconds)
21:11:21 × polezaivsani` quits (~polezaivs@orangeshoelaces.net) (Quit: rcirc on GNU Emacs 27.2)
21:11:53 zeenk joins (~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5)
21:12:04 <EvanR> I don't know, but in the course of using two naturals and minus I expect you have some proof leading up to the computation for why b is less than or equal to a, before you do the minus. Similar to (non) division by zero
21:12:34 <EvanR> dealing with the "exception" in the course of an arithmetical formula seems inconvenient and awkward
21:13:28 alx741 joins (~alx741@181.199.42.143)
21:14:37 × zincy_ quits (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
21:16:57 zincy_ joins (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
21:17:27 Guest68 joins (~Guest68@134.101.5.46)
21:17:35 × jonathanx__ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
21:17:57 jonathanx__ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
21:18:16 × alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer)
21:18:50 <ski> truncated/cutoff/limited/proper subtraction / difference-or-zero / monus can occasionally be useful
21:18:57 alx741 joins (~alx741@157.100.197.240)
21:19:21 <ski> (it also forms an adjunction with addition)
21:20:03 <ski> (or, i suppose you'd say, a (monotone) Galois connection)
21:21:09 Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
21:21:18 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.4)
21:21:50 whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com)
21:22:25 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
21:23:42 × zincy_ quits (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
21:23:56 zincy_ joins (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
21:24:28 × zer0bitz_ quits (~zer0bitz@2001:2003:f74d:b800:b579:336d:9a22:79d7) (Ping timeout: 250 seconds)
21:27:57 × mcglk quits (~mcglk@131.191.49.120) (Ping timeout: 240 seconds)
21:30:41 mcglk joins (~mcglk@131.191.49.120)
21:31:54 × Kaiepi quits (~Kaiepi@156.34.47.253) (Remote host closed the connection)
21:33:39 <janus> are there any other servers for Wai.Network.Application than warp?
21:34:13 jgeerds joins (~jgeerds@d53600c5.access.ecotel.net)
21:34:46 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 268 seconds)
21:36:37 × coot quits (~coot@213.134.190.95) (Ping timeout: 240 seconds)
21:39:17 × Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
21:40:13 wombat875 joins (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
21:40:17 Kaiepi joins (~Kaiepi@156.34.47.253)
21:40:33 alx741 joins (~alx741@157.100.197.240)
21:42:38 <pierrot> hello, I've installed the Barbarossa chess engine from here https://github.com/nionita/Barbarossa. I cloned the repo and compiled it through `stack build` command in the repository folder. The message at the end of the process was "Installing executable Barbarossa in ./.stack-work/install/x86_64-linux-tinfo6/0a7951934ebf7c2de4ffac9f7cdee9e7a9d9befdd60ade8bb99971cddd553639/8.8.4/bin/Barbarossa" and the
21:42:44 <pierrot> executable is indeed there and I could run it
21:42:48 <pierrot> however, that path is huge
21:42:54 mcglk_ joins (~mcglk@131.191.49.120)
21:43:08 <pierrot> I know I can make a symlink to that file
21:43:23 <pierrot> but there must be a way of running it using stack I guess
21:43:30 <pierrot> and I'm missing that way
21:43:33 × mcglk quits (~mcglk@131.191.49.120) (Ping timeout: 256 seconds)
21:43:34 <Cale> You can also just move the executable somewhere else
21:43:41 <janus> pierrot: i think if you do 'stack install' it will put it in a more convenient place
21:44:39 <sm> ~/.local/bin
21:44:47 irishman joins (~vshev4enk@178.151.117.243)
21:45:13 <sm> or if you don't want to move it: stack run
21:45:21 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
21:45:45 × komikat quits (~komikat@183.82.154.239) (Remote host closed the connection)
21:45:50 <pierrot> thank you very much Cale , janus and sm . I'll try with `stack install`
21:47:06 komikat joins (~komikat@183.82.154.239)
21:49:30 × irishman quits (~vshev4enk@178.151.117.243) (Ping timeout: 256 seconds)
21:49:47 × wombat875 quits (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
21:51:42 wombat875 joins (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
21:52:29 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
21:53:15 ChaiTRex joins (~ChaiTRex@user/chaitrex)
21:57:40 yauhsienhuangtw joins (~Yau-Hsien@61-231-21-135.dynamic-ip.hinet.net)
21:57:52 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
22:00:10 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
22:01:07 × yauhsien_ quits (~Yau-Hsien@61-231-21-135.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
22:01:11 × Tuplanolla quits (~Tuplanoll@91-159-69-98.elisa-laajakaista.fi) (Quit: Leaving.)
22:01:44 alx741 joins (~alx741@181.199.42.143)
22:02:51 irishman joins (~vshev4enk@178.151.117.243)
22:04:13 × ccntrq quits (~Thunderbi@2a01:e34:eccb:b060:1ccc:ee98:9b77:cb4a) (Remote host closed the connection)
22:06:34 × alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer)
22:07:01 × wombat875 quits (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Quit: WeeChat 2.2-dev)
22:07:13 alx741 joins (~alx741@181.199.42.143)
22:08:00 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:10:29 × alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer)
22:11:45 × jespada quits (~jespada@85.255.233.175) (Read error: Connection reset by peer)
22:13:06 × zincy_ quits (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
22:13:39 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
22:13:39 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
22:13:39 wroathe joins (~wroathe@user/wroathe)
22:13:46 cynomys joins (~cynomys@user/cynomys)
22:16:12 × auri quits (~quassel@fsf/member/auri) (Quit: auri)
22:17:02 × agumonkey quits (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) (Remote host closed the connection)
22:17:27 agumonkey joins (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7)
22:19:21 acidjnk joins (~acidjnk@p200300d0c723f84535459519c3275cf0.dip0.t-ipconnect.de)
22:20:45 × agumonkey quits (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) (Remote host closed the connection)
22:21:02 agumonkey joins (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7)
22:22:19 × komikat quits (~komikat@183.82.154.239) (Remote host closed the connection)
22:23:23 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 272 seconds)
22:24:56 × agumonkey quits (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) (Remote host closed the connection)
22:25:01 yauhsien joins (~yauhsien@61-231-21-135.dynamic-ip.hinet.net)
22:25:10 agumonkey joins (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7)
22:27:02 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
22:27:40 alx741 joins (~alx741@157.100.197.240)
22:29:47 × yauhsien quits (~yauhsien@61-231-21-135.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
22:32:55 × cynomys quits (~cynomys@user/cynomys) (Quit: Lost terminal)
22:34:20 cynomys joins (~cynomys@user/cynomys)
22:39:05 × jonathanx__ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
22:39:24 × deadmarshal quits (~deadmarsh@95.38.230.238) (Ping timeout: 240 seconds)
22:39:24 jonathanx__ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
22:43:27 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
22:44:29 × bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Remote host closed the connection)
22:45:30 lavaman joins (~lavaman@98.38.249.169)
22:46:00 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
22:47:20 × ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection)
22:48:45 × kaph quits (~kaph@net-109-116-117-37.cust.vodafonedsl.it) (Read error: Connection reset by peer)
22:49:51 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 256 seconds)
22:52:17 kaph joins (~kaph@net-109-116-117-37.cust.vodafonedsl.it)
22:53:03 × shapr quits (~user@pool-173-73-44-186.washdc.fios.verizon.net) (Remote host closed the connection)
22:53:16 shapr joins (~user@pool-173-73-44-186.washdc.fios.verizon.net)
22:56:20 × abhixec quits (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
23:00:33 cynomys_ joins (~cynomys@user/cynomys)
23:00:35 × alMalsamo quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Remote host closed the connection)
23:00:49 alMalsamo joins (~alMalsamo@gateway/tor-sasl/almalsamo)
23:01:14 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds)
23:04:18 alx741 joins (~alx741@181.199.42.143)
23:06:11 cynomys__ joins (~cynomys@user/cynomys)
23:06:37 × cynomys_ quits (~cynomys@user/cynomys) (Quit: leaving)
23:07:22 × cynomys__ quits (~cynomys@user/cynomys) (Client Quit)
23:08:36 × alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer)
23:08:59 <romesrf> could something like newtype X = X (Writer W (ExceptT Err (ReaderT R m) a)) ever be a Monad?
23:09:13 bitmapper joins (uid464869@id-464869.lymington.irccloud.com)
23:09:20 × cynomys quits (~cynomys@user/cynomys) (Quit: leaving)
23:09:32 OscarZ joins (~oscarz@95.175.104.52)
23:09:48 <romesrf> I've been trying to implement one for quite some time
23:09:57 cynomys joins (~cynomys@user/cynomys)
23:10:16 <geekosaur> the `a` has to be on the outside
23:10:30 <monochrom> Aren't you missing m and a, and should start with "newtype X m a"?
23:10:39 <romesrf> monochrom: yes it starts like that
23:10:46 <geekosaur> hm
23:10:53 <romesrf> I've tried quite hard, but I don't think it's possible
23:10:56 <monochrom> Writer? WriterT?
23:10:58 <romesrf> X m a = X ...
23:11:01 <romesrf> monochrom: yes hahah
23:11:22 <romesrf> I was thinking about just doing WriterT and propagating the W with the Error
23:11:22 <geekosaur> I think I see what they're doing, and I don't think it will work (but I am far from expert at this_
23:11:52 <romesrf> geekosaur: yes, the idea was that if Except is "Left" I don't lose what was accumulated
23:12:11 <romesrf> (bc runWriterT :: WriterT w m a -> m (a, w)
23:12:31 × michalz quits (~michalz@185.246.204.61) (Remote host closed the connection)
23:12:33 <romesrf> that's why I was trying to have it on the outside, and oh i've been trying to write >>= for close to an hour now
23:12:50 <romesrf> at least it was fun :P
23:14:39 <ski> @unmtl Writer W (ExceptT Err (ReaderT R m) a)
23:14:39 <lambdabot> (R -> m (Either Err a), W)
23:14:42 <ski> @unmtl WriterT W (ExceptT Err (ReaderT R m)) a
23:14:42 <lambdabot> R -> m (Either Err (a, W))
23:16:42 <ski> how would you do `(R -> m (Either Err a),W) -> (a -> (R -> m (Either Err b),W)) -> (R -> m (Either Err b),W)' ?
23:17:34 <Zemyla> So how, in github, do I say that a pull request closes an issue?
23:18:19 <ski> the second `W' is under the `a ->'. so, you'd need to throw that `a -> (...,W)' inside the `(R -> ..a..,W)'. but then that second `W' would be inside an `m' still, and you couldn't get it out, to merge with the other `W'
23:18:37 <romesrf> ski: ahahah that's insightful : )
23:18:58 machinedgod joins (~machinedg@24.105.81.50)
23:20:06 <romesrf> ski: I hit the wall when I got to (ExceptT E (ReaderT R m) a, ExceptT E (ReaderT R m) W) to pass to `write`
23:20:20 <romesrf> (when `write` required (ExceptT E (ReaderT R m) a, W)
23:20:25 <ski> (it'd be inside `Either Err' too, of course. so, even ignoring `m' (say it's `Identity)', the `W' might not be there. i suppose you'd just pass on the only `W' you have, in that case ..)
23:21:33 <ski> yea, that sounds like it
23:21:45 <romesrf> ski: in the end it's impossible for it to be a monad right?
23:22:09 <ski> at least for every monad `m', i'd say
23:22:20 <geekosaur> Zemyla, from what I've seen, just have a line that says "Fixes: #issue" or "Closes: #issue"
23:22:30 <geekosaur> in the description of the commit or PR
23:22:33 <romesrf> thank you for looking into it heh :)
23:23:17 × mvk quits (~mvk@2607:fea8:5cdc:bf00::99e7) (Ping timeout: 252 seconds)
23:23:24 shailangsa joins (~shailangs@host109-152-9-189.range109-152.btcentralplus.com)
23:23:37 × agumonkey quits (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) (Ping timeout: 256 seconds)
23:25:41 alx741 joins (~alx741@157.100.197.240)
23:28:20 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
23:28:57 × CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
23:30:08 × acidjnk quits (~acidjnk@p200300d0c723f84535459519c3275cf0.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
23:30:17 × niko quits (~niko@libera/staff/niko) (Ping timeout: 600 seconds)
23:35:31 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
23:35:50 AlexZenon_2 joins (~alzenon@178.34.160.252)
23:36:23 × Ranhir quits (~Ranhir@157.97.53.139) (Read error: Connection reset by peer)
23:37:27 × AlexZenon quits (~alzenon@178.34.160.252) (Ping timeout: 256 seconds)
23:38:45 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Quit: WeeChat 3.4)
23:40:37 × emf quits (~emf@2620:10d:c090:400::5:3ef2) (Ping timeout: 240 seconds)
23:41:14 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
23:41:31 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
23:41:48 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
23:43:05 x_kuru joins (xkuru@user/xkuru)
23:44:50 x_kuru_ joins (~xkuru@user/xkuru)
23:45:01 alx741 joins (~alx741@157.100.197.240)
23:45:05 × irishman quits (~vshev4enk@178.151.117.243) (Ping timeout: 272 seconds)
23:46:32 × xkuru quits (~xkuru@user/xkuru) (Ping timeout: 240 seconds)
23:47:13 xkuru joins (~xkuru@user/xkuru)
23:47:24 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 240 seconds)
23:48:51 × alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer)
23:49:04 × x_kuru quits (xkuru@user/xkuru) (Ping timeout: 256 seconds)
23:49:21 × cynomys quits (~cynomys@user/cynomys) (Ping timeout: 256 seconds)
23:49:31 × x_kuru_ quits (~xkuru@user/xkuru) (Ping timeout: 272 seconds)
23:49:31 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
23:49:32 × spacenautx quits (~spacenaut@user/spacenautx) (Quit: WeeChat 3.4)
23:49:40 jao joins (~jao@68.235.43.94)
23:50:24 × vorpuni quits (~pvorp@2001:861:3881:c690:7dcd:73c3:ce07:9a72) (Read error: Connection reset by peer)
23:51:19 × cosimone quits (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) (Quit: ERC (IRC client for Emacs 27.1))
23:53:56 Null_A joins (~null_a@c-98-210-133-39.hsd1.ca.comcast.net)
23:56:09 Codaraxis_ joins (~Codaraxis@user/codaraxis)
23:58:37 × Null_A quits (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
23:59:30 cynomys joins (~cynomys@user/cynomys)
23:59:51 × Codaraxis quits (~Codaraxis@user/codaraxis) (Ping timeout: 256 seconds)

All times are in UTC on 2022-02-24.