2022/02/24

2022-02-24 00:00:35 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com)
2022-02-24 00:01:01 +0100emf(~emf@2620:10d:c090:400::5:3ef2)
2022-02-24 00:01:15 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
2022-02-24 00:01:28 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Remote host closed the connection)
2022-02-24 00:05:37 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
2022-02-24 00:06:35 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 00:12:32 +0100 <jackdk> sm: this is very interesting, thanks for the link
2022-02-24 00:13:25 +0100 <sm> np
2022-02-24 00:13:52 +0100 <monochrom> ski: Last time you used the names "stage" and "costage" for the maps between Hom(F x, y) and Hom(x, G y) when F -| G. Do other category theorists use that name too? What is the etymology of those names? Or what inspired them?
2022-02-24 00:18:00 +0100lavaman(~lavaman@98.38.249.169)
2022-02-24 00:20:17 +0100Null_A(~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909)
2022-02-24 00:22:01 +0100TonyStone(~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Ping timeout: 256 seconds)
2022-02-24 00:23:14 +0100TonyStone(~TonyStone@2603-7080-8607-c36a-f50c-7cae-60f9-8617.res6.spectrum.com)
2022-02-24 00:23:43 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-24 00:24:34 +0100alx741(~alx741@181.199.42.143)
2022-02-24 00:25:00 +0100shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net) (Remote host closed the connection)
2022-02-24 00:25:16 +0100shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net)
2022-02-24 00:27:50 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-24 00:31:48 +0100TonyStone(~TonyStone@2603-7080-8607-c36a-f50c-7cae-60f9-8617.res6.spectrum.com) (Ping timeout: 240 seconds)
2022-02-24 00:32:06 +0100TonyStone(~TonyStone@cpe-74-76-51-197.nycap.res.rr.com)
2022-02-24 00:32:13 +0100 <ski> monochrom : i more or less made them up on the spot. for `stage' going from `G . F >---> H' to `G >---> F -> H', i was first thinking of `curry', but then thought that could be confusing. but it in some sense separates the stages of dealing with the outer `G' structure, and then the inner `F' structure. and `costage' (rather than say `unstage', which would suggest inverse; or perhaps rather than something
2022-02-24 00:32:19 +0100 <ski> else), for duality (there might be a nicer name, i didn't think of one)
2022-02-24 00:33:23 +0100 <monochrom> Ah thanks.
2022-02-24 00:35:29 +0100shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net) (Remote host closed the connection)
2022-02-24 00:35:37 +0100jrm(~jrm@156.34.173.250) (Ping timeout: 240 seconds)
2022-02-24 00:36:11 +0100 <ski> (i think i've seen some name somewhere for going in one or other direction, in the Hom-set natural isomorphism formulation of adjunctions, but i can't quite recall. maybe "transpose", or something)
2022-02-24 00:38:17 +0100Null_A(~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 240 seconds)
2022-02-24 00:38:46 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Quit: ERC (IRC client for Emacs 27.1))
2022-02-24 00:38:55 +0100 <ski> .. i've been trying to think a little, now and then, about a language where one would have terms/expressions of a type that is a functor (so, `F', rather than `F T'). the idea is that in e.g. `[[Integer]]', you'd give one name to the outer list struction, another to the inner, and a third to the `Integer's
2022-02-24 00:39:27 +0100 <monochrom> In the case of FreeMonoid -| Forgetful, Monoid(FreeMonoid x, y) becomes foldMap in Haskell, and I think it inspires the "free" package for free monads to say "foldFree" for Monad(Free m, n). So I am inspired to say "fold" in general. For the reverse direction Set(x, Forgetful y), I am thinking "core" because it feels like some kind of kernal function of the fold.
2022-02-24 00:39:30 +0100yauhsien(~yauhsien@61-231-19-150.dynamic-ip.hinet.net)
2022-02-24 00:39:52 +0100 <ski> using such notation e.g. emphasizes seeing monads as monoids. also seems to be helpful for algebras over a monad, seeing them as a monoid action
2022-02-24 00:39:54 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-02-24 00:40:15 +0100 <monochrom> I have seen "transpose" BTW, yeah.
2022-02-24 00:40:46 +0100 <ski> (i think i've seen "transpose" used for both `curry f' and `uncurry g', too, btw)
2022-02-24 00:41:37 +0100shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net)
2022-02-24 00:42:15 +0100 <ski> @type Control.Monad.Free.foldFree
2022-02-24 00:42:16 +0100 <lambdabot> Monad m => (forall x. f x -> m x) -> Control.Monad.Free.Free f a -> m a
2022-02-24 00:42:21 +0100 <ski> s/struction/structure/
2022-02-24 00:43:02 +0100 <monochrom> Emily Riehl also uses sharps and flats, but that's a bit traumatising for me, flash back to the old days when I struggled to read Patrick Cousot's abstract interpretation papers. :)
2022-02-24 00:43:36 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2022-02-24 00:43:45 +0100 <ski> hm, i think i've seen such notation in places, too. (sometimes with stars, or exclamation marks)
2022-02-24 00:43:48 +0100yauhsien(~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-02-24 00:44:49 +0100alx741(~alx741@157.100.197.240)
2022-02-24 00:45:17 +0100np(~nerdypepp@user/nerdypepper) (Quit: bye)
2022-02-24 00:46:26 +0100 <monochrom> Oh oops, typo. Set(x, ForgetFul y)->Monoid(FreeMonoid x, y) becomes foldMap; Functor(f, Forgetful m)->Monad(Free f, m) is foldFree.
2022-02-24 00:47:20 +0100 <ski> (btw, in case it wasn't too clear, my `costage' above wasn't the inverse of `stage', but rather the `Lan' counterpart version of the one for `Ran')
2022-02-24 00:47:40 +0100 <monochrom> so Monoid(FreeMonoid x, y)->Set(x, Forgetful y) feels like extracting the "core" of a monoid homomorphism.
2022-02-24 00:48:02 +0100 <monochrom> Ah OK, it was specific to Kan extensions.
2022-02-24 00:48:33 +0100 <ski> yes, that was the situation i was trying to give a reasonable name for, there
2022-02-24 00:49:10 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 00:50:03 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-24 00:52:17 +0100 <ski> looking at <https://hackage.haskell.org/package/free-5.1.7/docs/Control-Monad-Free.html>, to see what this `core' would be there
2022-02-24 00:52:37 +0100 <ski> hm, i guess it's (when applied to `id') `lift' in `MonadTrans'
2022-02-24 00:53:04 +0100 <monochrom> I think no one cares, but it's liftF id.
2022-02-24 00:53:31 +0100 <monochrom> If you squint, liftF is analogous to singleton :: a -> FreeMonoid a, e.g., \x -> [x].
2022-02-24 00:53:55 +0100 <ski> ah .. i guess. (i ignored looking at `MonadFree')
2022-02-24 00:54:27 +0100 <monochrom> I had a recent revelation that singleton and core are expressible in each other.
2022-02-24 00:54:27 +0100 <ski> .. yes
2022-02-24 00:54:49 +0100 <ski> ("Oh oops, typo. .." -- yea, i figured)
2022-02-24 00:55:23 +0100 <ski> why `core' ? ("kernal function" ?)
2022-02-24 00:56:13 +0100ski. o O ( <https://en.wikipedia.org/wiki/KERNAL> )
2022-02-24 00:57:23 +0100acidjnk(~acidjnk@p5487dbd8.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2022-02-24 00:57:46 +0100 <monochrom> If you give me a monoid homomorphism phi : FreeMonoid x -> y, it is equivalent to giving me a set function g : x -> Forgetful y and letting me extend that to phi. So g is some kind of kernal of phi. And then I decided to say "core" because I want to have the same number of letters as "fold".
2022-02-24 01:00:39 +0100 <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)'
2022-02-24 01:00:42 +0100 <ski> (i think)
2022-02-24 01:01:30 +0100 <monochrom> Ah, I'll have to think about that.
2022-02-24 01:01:42 +0100 <monochrom> Damn this Yoneda lemma popping up everywhere.
2022-02-24 01:02:03 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2022-02-24 01:02:24 +0100 <ski> hm .. yea, like going from a linear transformation (from a based/free vector space) to the column vectors of its associated matrix
2022-02-24 01:02:36 +0100 <monochrom> The equivalence between adjunctions defined by the transposes and adjunctions defined by the unit-counit pair is also Yoneda striking again.
2022-02-24 01:03:36 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-02-24 01:04:20 +0100 <monochrom> I guess basically every time I see "foo = bar id" I should recall "OK so Yoneda told you so" :)
2022-02-24 01:04:48 +0100 <ski> hm .. perhaps it is. (the natural isomorphism between Homs was always easiest to grasp for me. and the "universal morphisms" the hardest)
2022-02-24 01:05:55 +0100burnside_(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2022-02-24 01:06:07 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-24 01:06:42 +0100 <ski> `P e <=> let x = e in P x' is sortof a low-resolution (and undirected) version of Yoneda/Coyoneda
2022-02-24 01:07:21 +0100alx741(~alx741@157.100.197.240)
2022-02-24 01:07:51 +0100TonyStone(~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Quit: Leaving)
2022-02-24 01:10:18 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
2022-02-24 01:10:39 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 01:14:19 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-02-24 01:14:39 +0100gdown(~gavin@h69-11-150-165.kndrid.broadband.dynamic.tds.net)
2022-02-24 01:14:48 +0100 <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'
2022-02-24 01:16:10 +0100 <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
2022-02-24 01:17:04 +0100 <ski> (er, should be `P x <=> ..x..' in the last one)
2022-02-24 01:23:07 +0100lavaman(~lavaman@98.38.249.169)
2022-02-24 01:23:31 +0100forell(~forell@user/forell) (Ping timeout: 272 seconds)
2022-02-24 01:24:56 +0100 <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)')
2022-02-24 01:26:25 +0100 <ski> @type concatMap :: (a -> [b]) -> ([a] -> [b]) -- is basically Yoneda on `concat :: [[a]] -> [b]', btw
2022-02-24 01:26:26 +0100 <lambdabot> (a -> [b]) -> [a] -> [b]
2022-02-24 01:26:30 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-02-24 01:27:23 +0100alx741(~alx741@157.100.197.240)
2022-02-24 01:28:17 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
2022-02-24 01:32:26 +0100vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2022-02-24 01:32:51 +0100 <monochrom> join p = (p >>=) id :(
2022-02-24 01:33:39 +0100 <ski> yep
2022-02-24 01:36:16 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 01:38:24 +0100max22-(~maxime@2a01cb08833598005699785cb4ec772c.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
2022-02-24 01:42:21 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2022-02-24 01:42:36 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-02-24 01:43:34 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-24 01:45:01 +0100akegalj(~akegalj@93-139-180-172.adsl.net.t-com.hr) (Ping timeout: 240 seconds)
2022-02-24 01:45:20 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 252 seconds)
2022-02-24 01:46:21 +0100forell(~forell@user/forell)
2022-02-24 01:46:56 +0100akegalj(~akegalj@78-3-44-141.adsl.net.t-com.hr)
2022-02-24 01:47:33 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-02-24 01:54:01 +0100alx741(~alx741@181.199.42.143)
2022-02-24 01:57:35 +0100cynomys(~cynomys@user/cynomys) (Quit: Lost terminal)
2022-02-24 01:57:42 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-24 01:57:42 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-24 01:57:42 +0100wroathe(~wroathe@user/wroathe)
2022-02-24 02:03:41 +0100jgeerds(~jgeerds@d53600c5.access.ecotel.net) (Ping timeout: 245 seconds)
2022-02-24 02:04:34 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-24 02:05:43 +0100Morrow[m](~morrowmma@2001:470:69fc:105::1d0)
2022-02-24 02:10:47 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-02-24 02:16:39 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
2022-02-24 02:16:54 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-02-24 02:19:43 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-24 02:20:27 +0100vickyHaskell(~textual@49.37.173.82)
2022-02-24 02:21:18 +0100alx741(~alx741@157.100.197.240)
2022-02-24 02:21:55 +0100vickyHaskell(~textual@49.37.173.82) (Client Quit)
2022-02-24 02:24:53 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 02:28:41 +0100lavaman(~lavaman@98.38.249.169)
2022-02-24 02:31:48 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
2022-02-24 02:33:57 +0100vickyHaskell(~textual@49.37.173.82)
2022-02-24 02:35:42 +0100td_(~td@94.134.91.238) (Ping timeout: 256 seconds)
2022-02-24 02:38:56 +0100jrm(~jrm@156.34.173.250)
2022-02-24 02:40:03 +0100dextaa(~DV@user/dextaa) (Quit: Ping timeout (120 seconds))
2022-02-24 02:40:26 +0100dextaa(~DV@user/dextaa)
2022-02-24 02:40:38 +0100ubert(~Thunderbi@p548c8d84.dip0.t-ipconnect.de) (Remote host closed the connection)
2022-02-24 02:40:56 +0100ubert(~Thunderbi@p200300ecdf3be97f8c4ccd199ca8265c.dip0.t-ipconnect.de)
2022-02-24 02:41:22 +0100FragByte_(~christian@user/fragbyte)
2022-02-24 02:41:30 +0100FragByte(~christian@user/fragbyte) (Quit: Quit)
2022-02-24 02:41:51 +0100FragByte_FragByte
2022-02-24 02:42:55 +0100alx741(~alx741@157.100.197.240)
2022-02-24 02:44:12 +0100jao(~jao@66.63.167.125) (Ping timeout: 256 seconds)
2022-02-24 02:46:06 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-02-24 02:47:09 +0100Null_A(~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909)
2022-02-24 02:47:40 +0100yauhsien(~yauhsien@61-231-19-150.dynamic-ip.hinet.net)
2022-02-24 02:47:40 +0100yauhsien(~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-02-24 02:48:48 +0100slack1256(~slack1256@45.4.2.52) (Remote host closed the connection)
2022-02-24 02:48:53 +0100yauhsien(~yauhsien@61-231-19-150.dynamic-ip.hinet.net)
2022-02-24 02:49:41 +0100xff0x(~xff0x@2001:1a81:53c8:8500:acc6:628c:c348:430) (Ping timeout: 252 seconds)
2022-02-24 02:50:16 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 02:51:27 +0100xff0x(~xff0x@2001:1a81:53df:600:42e4:eab6:10ab:71af)
2022-02-24 02:53:41 +0100yauhsien(~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Ping timeout: 245 seconds)
2022-02-24 02:54:58 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 256 seconds)
2022-02-24 02:57:24 +0100jkaye(~jkaye@2601:281:8300:7530:1f3b:3a8f:f843:9a79) (Ping timeout: 240 seconds)
2022-02-24 02:58:33 +0100vickyHaskell(~textual@49.37.173.82) (Quit: Textual IRC Client: www.textualapp.com)
2022-02-24 03:04:04 +0100ec(~ec@gateway/tor-sasl/ec) (Quit: ec)
2022-02-24 03:04:31 +0100Null_A(~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 245 seconds)
2022-02-24 03:06:58 +0100akegalj(~akegalj@78-3-44-141.adsl.net.t-com.hr) (Quit: leaving)
2022-02-24 03:07:03 +0100alx741(~alx741@181.199.42.143)
2022-02-24 03:08:15 +0100tinwood(~tinwood@canonical/tinwood) (Remote host closed the connection)
2022-02-24 03:11:00 +0100vysn(~vysn@user/vysn)
2022-02-24 03:11:15 +0100tinwood(~tinwood@general.default.akavanagh.uk0.bigv.io)
2022-02-24 03:11:15 +0100tinwood(~tinwood@general.default.akavanagh.uk0.bigv.io) (Changing host)
2022-02-24 03:11:15 +0100tinwood(~tinwood@canonical/tinwood)
2022-02-24 03:14:37 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-24 03:28:08 +0100burnside_(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-24 03:29:32 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-24 03:31:24 +0100alx741(~alx741@157.100.197.240)
2022-02-24 03:32:45 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
2022-02-24 03:32:46 +0100TonyStone(~TonyStone@2603-7080-8607-c36a-a068-f96d-6ad8-5504.res6.spectrum.com)
2022-02-24 03:37:31 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 256 seconds)
2022-02-24 03:40:28 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-02-24 03:40:28 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 03:46:04 +0100ravella(~ravella@user/ryanavella) (Remote host closed the connection)
2022-02-24 03:46:29 +0100ravella(~ravella@user/ryanavella)
2022-02-24 03:47:48 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 240 seconds)
2022-02-24 03:51:21 +0100notzmv(~zmv@user/notzmv)
2022-02-24 03:55:05 +0100xkuru(~xkuru@user/xkuru) (Ping timeout: 256 seconds)
2022-02-24 03:55:19 +0100ski(~ski@remote12.chalmers.se) (Ping timeout: 256 seconds)
2022-02-24 03:55:55 +0100ski(~ski@remote12.chalmers.se)
2022-02-24 03:57:47 +0100alx741(~alx741@157.100.197.240)
2022-02-24 03:59:20 +0100xkuru(~xkuru@user/xkuru)
2022-02-24 04:00:46 +0100xff0x(~xff0x@2001:1a81:53df:600:42e4:eab6:10ab:71af) (Ping timeout: 250 seconds)
2022-02-24 04:02:37 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 04:02:39 +0100xff0x(~xff0x@2001:1a81:53e8:6f00:9716:e8e7:86fc:1482)
2022-02-24 04:08:18 +0100Null_A(~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909)
2022-02-24 04:10:04 +0100ub(~Thunderbi@p548c8d84.dip0.t-ipconnect.de)
2022-02-24 04:11:11 +0100ubert(~Thunderbi@p200300ecdf3be97f8c4ccd199ca8265c.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2022-02-24 04:11:11 +0100ububert
2022-02-24 04:14:02 +0100xkuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2022-02-24 04:14:02 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2022-02-24 04:16:25 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 272 seconds)
2022-02-24 04:19:40 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-24 04:20:32 +0100alx741(~alx741@181.199.42.143)
2022-02-24 04:21:18 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-24 04:21:18 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-24 04:21:18 +0100wroathe(~wroathe@user/wroathe)
2022-02-24 04:22:35 +0100lavaman(~lavaman@98.38.249.169)
2022-02-24 04:23:52 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-24 04:25:32 +0100mbuf(~Shakthi@122.174.33.79)
2022-02-24 04:26:12 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-24 04:26:36 +0100Null_A(~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 240 seconds)
2022-02-24 04:40:48 +0100alx741(~alx741@157.100.197.240)
2022-02-24 04:40:59 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-24 04:40:59 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-24 04:40:59 +0100wroathe(~wroathe@user/wroathe)
2022-02-24 04:45:16 +0100abhixec(~abhinav@c-67-169-139-16.hsd1.ca.comcast.net) (Remote host closed the connection)
2022-02-24 04:45:56 +0100deadmarshal(~deadmarsh@95.38.230.238)
2022-02-24 04:46:49 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 272 seconds)
2022-02-24 04:47:40 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-24 04:47:40 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-24 04:47:40 +0100wroathe(~wroathe@user/wroathe)
2022-02-24 04:50:12 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 04:56:00 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
2022-02-24 05:00:18 +0100arjun(~arjun@103.57.87.142)
2022-02-24 05:00:45 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 250 seconds)
2022-02-24 05:04:26 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 260 seconds)
2022-02-24 05:05:01 +0100drdo(~drdo@roach0.drdo.eu) (Quit: Ping timeout (120 seconds))
2022-02-24 05:06:05 +0100drdo(~drdo@roach0.drdo.eu)
2022-02-24 05:08:21 +0100alx741(~alx741@181.199.42.143)
2022-02-24 05:12:17 +0100phma_phma
2022-02-24 05:13:00 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
2022-02-24 05:13:01 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-24 05:15:15 +0100arjun(~arjun@103.57.87.142) (Changing host)
2022-02-24 05:15:15 +0100arjun(~arjun@user/arjun)
2022-02-24 05:16:58 +0100arjun(~arjun@user/arjun) (Remote host closed the connection)
2022-02-24 05:19:24 +0100alp(~alp@user/alp) (Ping timeout: 240 seconds)
2022-02-24 05:20:23 +0100drdo(~drdo@roach0.drdo.eu) (Ping timeout: 272 seconds)
2022-02-24 05:24:09 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 250 seconds)
2022-02-24 05:26:48 +0100drdo(~drdo@roach0.drdo.eu)
2022-02-24 05:29:36 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
2022-02-24 05:29:43 +0100alx741(~alx741@157.100.197.240)
2022-02-24 05:30:57 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
2022-02-24 05:31:01 +0100benin(~benin@106.195.37.136)
2022-02-24 05:32:11 +0100notzmv(~zmv@user/notzmv)
2022-02-24 05:35:37 +0100drdo(~drdo@roach0.drdo.eu) (Ping timeout: 256 seconds)
2022-02-24 05:40:20 +0100zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-02-24 05:47:59 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 05:59:17 +0100jackalope(~jackalope@50-24-138-131.bcstcmta02.res.dyn.suddenlink.net)
2022-02-24 06:04:09 +0100jackalope(~jackalope@50-24-138-131.bcstcmta02.res.dyn.suddenlink.net) (Client Quit)
2022-02-24 06:04:26 +0100jackalope(~jackalope@50-24-138-131.bcstcmta02.res.dyn.suddenlink.net)
2022-02-24 06:04:46 +0100alx741(~alx741@181.199.42.143)
2022-02-24 06:09:08 +0100benin6(~benin@106.195.34.202)
2022-02-24 06:11:41 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 272 seconds)
2022-02-24 06:12:36 +0100benin(~benin@106.195.37.136) (Ping timeout: 240 seconds)
2022-02-24 06:12:37 +0100benin6benin
2022-02-24 06:13:51 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-24 06:14:27 +0100Erutuon(~Erutuon@user/erutuon)
2022-02-24 06:14:36 +0100lechner(~lechner@debian/lechner) (Ping timeout: 240 seconds)
2022-02-24 06:15:09 +0100wroathe(~wroathe@user/wroathe)
2022-02-24 06:15:40 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-02-24 06:17:18 +0100lechner(~lechner@debian/lechner)
2022-02-24 06:18:12 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
2022-02-24 06:19:48 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-02-24 06:20:12 +0100aweinstock(~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) (Ping timeout: 240 seconds)
2022-02-24 06:22:20 +0100aweinstock(~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com)
2022-02-24 06:24:57 +0100hpc(~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 240 seconds)
2022-02-24 06:28:10 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2022-02-24 06:31:10 +0100alx741(~alx741@181.199.42.143)
2022-02-24 06:34:22 +0100 <gentauro> "pseudo-science" -> https://greenlab.di.uminho.pt/wp-content/uploads/2017/10/sleFinal.pdf
2022-02-24 06:34:25 +0100 <gentauro> :|
2022-02-24 06:34:47 +0100xff0x(~xff0x@2001:1a81:53e8:6f00:9716:e8e7:86fc:1482) (Ping timeout: 250 seconds)
2022-02-24 06:35:17 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
2022-02-24 06:35:17 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-24 06:36:50 +0100xff0x(~xff0x@2001:1a81:53fa:e800:fe67:1298:c7d8:80eb)
2022-02-24 06:45:19 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-24 06:45:24 +0100analognoise1(~analognoi@192.145.80.4) (Read error: Connection reset by peer)
2022-02-24 06:48:01 +0100benin(~benin@106.195.34.202) (Read error: Connection reset by peer)
2022-02-24 06:50:12 +0100raym(~raym@user/raym) (Ping timeout: 240 seconds)
2022-02-24 06:52:08 +0100hpc(~juzz@ip98-169-35-13.dc.dc.cox.net)
2022-02-24 06:52:19 +0100alx741(~alx741@181.199.42.143)
2022-02-24 06:52:21 +0100raym(~raym@user/raym)
2022-02-24 06:54:06 +0100xff0x(~xff0x@2001:1a81:53fa:e800:fe67:1298:c7d8:80eb) (Ping timeout: 250 seconds)
2022-02-24 06:55:41 +0100bahamas(~lucian@84.232.140.52)
2022-02-24 06:56:01 +0100xff0x(~xff0x@2001:1a81:53fb:2b00:39af:d957:9c8c:d6f6)
2022-02-24 06:56:01 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-24 06:59:48 +0100hpc(~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 272 seconds)
2022-02-24 07:06:36 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
2022-02-24 07:11:17 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
2022-02-24 07:11:24 +0100hpc(~juzz@ip98-169-35-13.dc.dc.cox.net)
2022-02-24 07:12:35 +0100alx741(~alx741@157.100.197.240)
2022-02-24 07:15:39 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 272 seconds)
2022-02-24 07:17:08 +0100benin(~benin@106.195.33.202)
2022-02-24 07:31:00 +0100lechner(~lechner@debian/lechner) (Ping timeout: 240 seconds)
2022-02-24 07:31:01 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 07:33:46 +0100lechner(~lechner@debian/lechner)
2022-02-24 07:34:42 +0100benin5(~benin@106.195.39.120)
2022-02-24 07:35:55 +0100benin5(~benin@106.195.39.120) (Read error: Connection reset by peer)
2022-02-24 07:36:53 +0100benin(~benin@106.195.33.202) (Ping timeout: 256 seconds)
2022-02-24 07:37:51 +0100benin(~benin@106.195.39.120)
2022-02-24 07:39:43 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
2022-02-24 07:40:12 +0100hpc(~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 240 seconds)
2022-02-24 07:42:37 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 240 seconds)
2022-02-24 07:44:17 +0100benin(~benin@106.195.39.120) (Read error: Connection reset by peer)
2022-02-24 07:44:56 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-02-24 07:46:03 +0100aweinstock(~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) (Ping timeout: 272 seconds)
2022-02-24 07:47:05 +0100hpc(~juzz@ip98-169-35-13.dc.dc.cox.net)
2022-02-24 07:47:23 +0100benin(~benin@106.195.39.120)
2022-02-24 07:47:51 +0100alx741(~alx741@157.100.197.240)
2022-02-24 07:52:38 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 07:54:19 +0100little_mac(~little_ma@2601:410:4300:3ce0:25e4:decc:c8da:26b5) (Quit: Leaving)
2022-02-24 07:59:14 +0100coot(~coot@213.134.190.95)
2022-02-24 08:03:25 +0100lechner(~lechner@debian/lechner) (Quit: WeeChat 3.0)
2022-02-24 08:03:50 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-02-24 08:05:14 +0100arjun(~arjun@user/arjun)
2022-02-24 08:08:37 +0100benin(~benin@106.195.39.120) (Ping timeout: 256 seconds)
2022-02-24 08:10:16 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-02-24 08:10:26 +0100alx741(~alx741@157.100.197.240)
2022-02-24 08:13:15 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
2022-02-24 08:15:08 +0100hpc(~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 256 seconds)
2022-02-24 08:15:09 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 08:24:39 +0100abhixec(~abhinav@c-67-169-139-16.hsd1.ca.comcast.net)
2022-02-24 08:25:40 +0100vorpuni(~pvorp@2001:861:3881:c690:7b63:89fd:c536:5b73)
2022-02-24 08:26:42 +0100hpc(~juzz@ip98-169-35-13.dc.dc.cox.net)
2022-02-24 08:27:33 +0100dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2022-02-24 08:28:02 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 240 seconds)
2022-02-24 08:29:19 +0100Ariakenom(~Ariakenom@2001:9b1:efe:9d00:b428:2ed3:2da:8b6f)
2022-02-24 08:29:24 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
2022-02-24 08:32:55 +0100alx741(~alx741@181.199.42.143)
2022-02-24 08:33:43 +0100omantere(~pi@85-156-109-34.elisa-laajakaista.fi)
2022-02-24 08:36:17 +0100YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Ping timeout: 240 seconds)
2022-02-24 08:36:56 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2022-02-24 08:39:14 +0100Ariakenom_(~Ariakenom@h-82-196-111-63.NA.cust.bahnhof.se)
2022-02-24 08:41:10 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-02-24 08:41:42 +0100aweinstock(~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com)
2022-02-24 08:42:52 +0100Ariakenom(~Ariakenom@2001:9b1:efe:9d00:b428:2ed3:2da:8b6f) (Ping timeout: 250 seconds)
2022-02-24 08:44:48 +0100shriekingnoise(~shrieking@201.231.16.156) (Quit: Quit)
2022-02-24 08:45:25 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-24 08:49:40 +0100mc47(~mc47@xmonad/TheMC47)
2022-02-24 08:52:14 +0100komikat(~komikat@183.82.154.239)
2022-02-24 08:53:09 +0100komikat(~komikat@183.82.154.239) (Remote host closed the connection)
2022-02-24 08:53:27 +0100gehmehgeh(~user@user/gehmehgeh)
2022-02-24 08:53:36 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd) (Remote host closed the connection)
2022-02-24 08:54:10 +0100komikat(~komikat@183.82.154.239)
2022-02-24 08:55:57 +0100mvk(~mvk@2607:fea8:5cdc:bf00::99e7) (Ping timeout: 240 seconds)
2022-02-24 08:58:46 +0100hpc(~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 256 seconds)
2022-02-24 08:58:49 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd)
2022-02-24 08:59:13 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
2022-02-24 09:01:25 +0100komikat(~komikat@183.82.154.239) (Ping timeout: 272 seconds)
2022-02-24 09:02:16 +0100alx741(~alx741@157.100.197.240)
2022-02-24 09:03:48 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
2022-02-24 09:03:57 +0100Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Ping timeout: 272 seconds)
2022-02-24 09:06:43 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 09:06:56 +0100zeenk(~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5)
2022-02-24 09:10:40 +0100komikat(~komikat@183.82.154.239)
2022-02-24 09:15:59 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-02-24 09:16:33 +0100drdo(~drdo@roach0.drdo.eu)
2022-02-24 09:17:10 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
2022-02-24 09:18:25 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-02-24 09:23:25 +0100alx741(~alx741@157.100.197.240)
2022-02-24 09:24:13 +0100ccntrq(~Thunderbi@2a01:e34:eccb:b060:1ccc:ee98:9b77:cb4a)
2022-02-24 09:24:35 +0100gdown(~gavin@h69-11-150-165.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection)
2022-02-24 09:24:44 +0100polezaivsani(~polezaivs@orangeshoelaces.net)
2022-02-24 09:25:09 +0100alp(~alp@user/alp)
2022-02-24 09:25:22 +0100vpan(~0@212.117.1.172)
2022-02-24 09:30:23 +0100hpc(~juzz@ip98-169-35-13.dc.dc.cox.net)
2022-02-24 09:30:29 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com)
2022-02-24 09:30:32 +0100 <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?
2022-02-24 09:32:42 +0100 <davean> Theres only one x
2022-02-24 09:32:55 +0100 <davean> There is no second x
2022-02-24 09:32:55 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 09:32:59 +0100 <ski> both occurances of `x' refer to the same computation. with lazy evaluation, the result of this computation is cached/shared
2022-02-24 09:33:17 +0100 <ski> consider this definition
2022-02-24 09:33:23 +0100 <ski> square x = x * x
2022-02-24 09:33:44 +0100 <ski> now, assume that you're computing `square (2 + 3)'
2022-02-24 09:34:09 +0100 <polezaivsani> do i have to have a putr language in order to easily make such assumptions?
2022-02-24 09:34:14 +0100 <ski> naïvely (using call-by-name evaluation/reduction), you'd imagine a reduction sequence like
2022-02-24 09:34:15 +0100 <polezaivsani> s/putr/pure/
2022-02-24 09:34:27 +0100 <ski> square (2 + 3)
2022-02-24 09:34:32 +0100 <ski> = (2 + 3) * (2 + 3)
2022-02-24 09:34:38 +0100 <ski> = 5 * (2 + 3)
2022-02-24 09:34:40 +0100 <ski> = 5 * 5
2022-02-24 09:34:42 +0100 <ski> = 25
2022-02-24 09:34:44 +0100 <polezaivsani> yep
2022-02-24 09:35:06 +0100 <ski> this is not directly (but indirectly) related to absence of side-effects
2022-02-24 09:35:19 +0100 <ski> anyway, with call-by-value evaluation, you'd instead get
2022-02-24 09:35:24 +0100 <ski> square (2 + 3)
2022-02-24 09:35:24 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
2022-02-24 09:35:28 +0100 <ski> = square 5
2022-02-24 09:35:30 +0100 <ski> = 5 * 5
2022-02-24 09:35:32 +0100 <ski> = 25
2022-02-24 09:35:48 +0100 <polezaivsani> roger that
2022-02-24 09:36:47 +0100 <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')
2022-02-24 09:38:30 +0100komikat(~komikat@183.82.154.239) (Remote host closed the connection)
2022-02-24 09:38:37 +0100 <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
2022-02-24 09:38:42 +0100komikat(~komikat@183.82.154.239)
2022-02-24 09:38:43 +0100 <ski> actually evaluate the actual parameter expression (`2 + 3')
2022-02-24 09:39:20 +0100 <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
2022-02-24 09:39:35 +0100polezaivsaninods
2022-02-24 09:39:43 +0100 <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
2022-02-24 09:40:28 +0100 <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
2022-02-24 09:40:45 +0100 <ski> so indicate this in a reduction trace like above, we could write like
2022-02-24 09:40:49 +0100 <ski> square (2 + 3)
2022-02-24 09:41:02 +0100 <ski> = x * x where x = 2 + 3
2022-02-24 09:41:04 +0100 <ski> = x * x where x = 5
2022-02-24 09:41:08 +0100 <ski> = 5 * x where x = 5
2022-02-24 09:41:10 +0100 <polezaivsani> oh, right, now i'm recalling the call-by-need!
2022-02-24 09:41:11 +0100 <ski> = 5 * 5 where x = 5
2022-02-24 09:41:13 +0100 <ski> = 5 * 5
2022-02-24 09:41:17 +0100 <ski> = 25
2022-02-24 09:41:54 +0100 <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))
2022-02-24 09:42:46 +0100acidjnk(~acidjnk@p200300d0c71c0563a9d152fa4048aeb9.dip0.t-ipconnect.de)
2022-02-24 09:43:02 +0100ProfSimm(~ProfSimm@87.227.196.109)
2022-02-24 09:43:03 +0100dextaa_(~dextaa@user/dextaa) (Quit: The Lounge - https://thelounge.chat)
2022-02-24 09:43:12 +0100 <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 = ...')
2022-02-24 09:43:38 +0100 <ski> polezaivsani : this makes sense ?
2022-02-24 09:45:23 +0100 <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)
2022-02-24 09:46:59 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-02-24 09:48:11 +0100 <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
2022-02-24 09:48:17 +0100machinedgod(~machinedg@24.105.81.50)
2022-02-24 09:48:19 +0100cfricke(~cfricke@user/cfricke)
2022-02-24 09:49:44 +0100 <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
2022-02-24 09:49:45 +0100 <davean> x is a name, not the thing
2022-02-24 09:49:51 +0100YoungFrog(~youngfrog@2a02:a03f:c21b:f900:b4ac:6a8f:4bfc:720a)
2022-02-24 09:50:21 +0100 <ski> `(*)' is just another function, just like `someFn'
2022-02-24 09:50:32 +0100 <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
2022-02-24 09:51:11 +0100alx741(~alx741@157.100.197.240)
2022-02-24 09:51:49 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:ac5:f557:6cb0:e099)
2022-02-24 09:52:19 +0100 <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
2022-02-24 09:52:47 +0100 <ski> this means that, in general, `f x' may have an answer, even if `x' does not
2022-02-24 09:53:06 +0100 <ski> > (const 2) (3 `div` 0)
2022-02-24 09:53:07 +0100 <lambdabot> 2
2022-02-24 09:54:00 +0100 <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
2022-02-24 09:54:03 +0100 <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
2022-02-24 09:54:28 +0100 <ski> @where lazy
2022-02-24 09:54:28 +0100 <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.
2022-02-24 09:54:28 +0100 <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-
2022-02-24 09:54:28 +0100 <lambdabot> strictness-guarded-recursion>
2022-02-24 09:54:39 +0100 <ski> polezaivsani : perhaps some of those ^ links might also help
2022-02-24 09:54:47 +0100 <polezaivsani> cheers!
2022-02-24 09:54:54 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Remote host closed the connection)
2022-02-24 09:56:34 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
2022-02-24 09:57:17 +0100 <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,
2022-02-24 09:57:23 +0100 <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
2022-02-24 09:57:59 +0100 <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 :)
2022-02-24 09:58:10 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-02-24 09:58:33 +0100fendor(~fendor@91.141.59.141.wireless.dyn.drei.com)
2022-02-24 09:58:36 +0100 <polezaivsani> s/but/but you/
2022-02-24 09:59:00 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
2022-02-24 09:59:01 +0100 <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.)
2022-02-24 09:59:37 +0100yauhsien(~Yau-Hsien@61-231-19-150.dynamic-ip.hinet.net)
2022-02-24 10:00:02 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 10:00:10 +0100sofviic[m](~sofviicma@2001:470:69fc:105::1:51fd) (Quit: You have been kicked for being idle)
2022-02-24 10:00:10 +0100Sixto[m](~provornyc@2001:470:69fc:105::1:74df) (Quit: You have been kicked for being idle)
2022-02-24 10:00:40 +0100alx741(~alx741@157.100.197.240)
2022-02-24 10:02:23 +0100td_(~td@94.134.91.148)
2022-02-24 10:04:13 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 10:05:06 +0100Null_A(~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909)
2022-02-24 10:06:26 +0100drdo(~drdo@roach0.drdo.eu) (Quit: Ping timeout (120 seconds))
2022-02-24 10:07:13 +0100fef(~thedawn@user/thedawn)
2022-02-24 10:07:30 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2022-02-24 10:09:17 +0100Null_A(~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 240 seconds)
2022-02-24 10:10:58 +0100drdo(~drdo@roach0.drdo.eu)
2022-02-24 10:14:21 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
2022-02-24 10:15:00 +0100polezaivsani`(~polezaivs@orangeshoelaces.net)
2022-02-24 10:15:42 +0100polezaivsani`(~polezaivs@orangeshoelaces.net) (Client Quit)
2022-02-24 10:15:59 +0100polezaivsani`(~polezaivs@orangeshoelaces.net)
2022-02-24 10:16:24 +0100polezaivsani(~polezaivs@orangeshoelaces.net) (Ping timeout: 256 seconds)
2022-02-24 10:21:00 +0100alx741(~alx741@181.199.42.143)
2022-02-24 10:21:05 +0100ubert1(~Thunderbi@2a02:8109:9880:303c:a167:dd2d:8526:2dcf)
2022-02-24 10:26:24 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
2022-02-24 10:27:58 +0100Guest28(~Guest28@nat-eduroam-76-gw-01-lne.lille.inria.fr)
2022-02-24 10:28:35 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
2022-02-24 10:29:44 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-24 10:30:20 +0100MajorBiscuit(~MajorBisc@wlan-145-94-218-48.wlan.tudelft.nl)
2022-02-24 10:30:28 +0100alx741(~alx741@181.199.42.143)
2022-02-24 10:30:35 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
2022-02-24 10:32:51 +0100jespada(~jespada@148.252.133.112)
2022-02-24 10:33:22 +0100Alex_test(~al_test@178.34.160.252) (Quit: ;-)
2022-02-24 10:33:34 +0100AlexZenon(~alzenon@178.34.160.252) (Quit: ;-)
2022-02-24 10:34:07 +0100AlexNoo(~AlexNoo@178.34.160.252) (Quit: Leaving)
2022-02-24 10:34:35 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-24 10:35:26 +0100 <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
2022-02-24 10:35:26 +0100 <Guest28> xml.
2022-02-24 10:36:15 +0100 <[exa]> Guest28: this output format looks like a pretty standard haskell ADT
2022-02-24 10:36:20 +0100 <[exa]> aka "normal datatype"
2022-02-24 10:36:29 +0100 <ski> that's (sortof, not quite), Haskell format
2022-02-24 10:36:46 +0100 <ski> (someone's been abusing `Show')
2022-02-24 10:36:46 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com)
2022-02-24 10:36:51 +0100 <[exa]> if you want JSON, formatting it as JSON shouldn't be that hard
2022-02-24 10:37:09 +0100[exa]wishes that they have Generic instances
2022-02-24 10:38:12 +0100cosimone(~user@93-34-132-33.ip49.fastwebnet.it)
2022-02-24 10:38:41 +0100irishman(~vshev4enk@178.151.117.243)
2022-02-24 10:38:46 +0100 <Guest28> [exa] okay thank you, I will try to understand this format and how I can convert it to xml format or json.
2022-02-24 10:39:05 +0100 <[exa]> Guest28: how did you now get the code out?
2022-02-24 10:39:24 +0100 <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
2022-02-24 10:39:26 +0100 <[exa]> oh they have a commandline interface, I see
2022-02-24 10:39:47 +0100 <Guest28> [exa] `fortran-src file.f77`
2022-02-24 10:40:07 +0100 <[exa]> you might need to write a tiny bit of haskell to get the conversion done
2022-02-24 10:40:10 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-24 10:40:26 +0100lavaman(~lavaman@98.38.249.169)
2022-02-24 10:40:31 +0100 <[exa]> good news: they indeed have generic instances :D
2022-02-24 10:40:33 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-24 10:41:38 +0100 <Guest28> [exa] it would be better indeed, even though I have never used a haskel before.
2022-02-24 10:41:56 +0100hololeap(~hololeap@user/hololeap) (Ping timeout: 240 seconds)
2022-02-24 10:42:26 +0100 <Guest28> thank you for your quick response.
2022-02-24 10:42:37 +0100AlexZenon(~alzenon@178.34.160.252)
2022-02-24 10:42:45 +0100AlexNoo(~AlexNoo@178.34.160.252)
2022-02-24 10:43:22 +0100irishman(~vshev4enk@178.151.117.243) (Ping timeout: 272 seconds)
2022-02-24 10:44:17 +0100Alex_test(~al_test@178.34.160.252)
2022-02-24 10:46:07 +0100 <[exa]> okay well, they have an actual supporting library that you can use, docs are here: https://hackage.haskell.org/package/fortran-src
2022-02-24 10:46:33 +0100 <[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
2022-02-24 10:47:03 +0100 <[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
2022-02-24 10:48:06 +0100 <[exa]> and when you have that, you define your chosen JSON encoding of the source (not very complicated) and print it out as JSON
2022-02-24 10:48:20 +0100cosimone(~user@93-34-132-33.ip49.fastwebnet.it) (Quit: ERC (IRC client for Emacs 27.1))
2022-02-24 10:48:24 +0100 <[exa]> (there's Aeson package for doing that in a pretty straightforward way)
2022-02-24 10:51:43 +0100alx741(~alx741@157.100.197.240)
2022-02-24 10:53:40 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-02-24 10:54:45 +0100mmhat(~mmh@55d46dab.access.ecotel.net)
2022-02-24 10:56:01 +0100hololeap(~hololeap@user/hololeap)
2022-02-24 10:57:02 +0100 <ski> Guest28 ^
2022-02-24 10:58:03 +0100Guest28(~Guest28@nat-eduroam-76-gw-01-lne.lille.inria.fr) (Ping timeout: 256 seconds)
2022-02-24 11:00:47 +0100califax(~califax@user/califx)
2022-02-24 11:01:36 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 11:08:43 +0100cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2022-02-24 11:09:15 +0100hololeap_(~hololeap@user/hololeap)
2022-02-24 11:11:54 +0100vorpuni(~pvorp@2001:861:3881:c690:7b63:89fd:c536:5b73) (Quit: bye)
2022-02-24 11:11:56 +0100hololeap(~hololeap@user/hololeap) (Ping timeout: 240 seconds)
2022-02-24 11:12:25 +0100komikat(~komikat@183.82.154.239) (Quit: Leaving...)
2022-02-24 11:14:21 +0100vorpuni(~pvorp@2001:861:3881:c690:7dcd:73c3:ce07:9a72)
2022-02-24 11:14:26 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2022-02-24 11:15:11 +0100komikat(~komikat@183.82.154.239)
2022-02-24 11:15:46 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2022-02-24 11:17:54 +0100Guest|81(~Guest|81@195.176.16.2)
2022-02-24 11:18:28 +0100Guest|81(~Guest|81@195.176.16.2) (Client Quit)
2022-02-24 11:19:15 +0100alx741(~alx741@157.100.197.240)
2022-02-24 11:29:28 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 11:30:13 +0100cheater(~Username@user/cheater)
2022-02-24 11:31:00 +0100monochrom(trebla@216.138.220.146) (Ping timeout: 240 seconds)
2022-02-24 11:32:12 +0100 <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?
2022-02-24 11:35:28 +0100 <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)
2022-02-24 11:36:23 +0100 <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
2022-02-24 11:37:52 +0100 <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
2022-02-24 11:38:47 +0100 <ski> does that help ?
2022-02-24 11:39:57 +0100thyriaen(~thyriaen@dynamic-089-014-003-224.89.14.pool.telefonica.de)
2022-02-24 11:40:50 +0100 <polezaivsani`> i meant that we'd retain the recursive map call only if we'd have it bound to a name - is that correct?
2022-02-24 11:41:47 +0100 <ski> well, you could also end up with the recursive call being a *part* of something that's bound to a name
2022-02-24 11:42:27 +0100 <polezaivsani`> yes
2022-02-24 11:42:48 +0100 <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
2022-02-24 11:43:07 +0100 <polezaivsani`> makes perfect sense, again - much thanks, ski!
2022-02-24 11:44:14 +0100 <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
2022-02-24 11:44:49 +0100 <ski> hm, btw, another example i was thinking about before, but didn't cover then
2022-02-24 11:44:56 +0100fef(~thedawn@user/thedawn) (Ping timeout: 240 seconds)
2022-02-24 11:44:57 +0100 <ski> swap (x,y) = (y,x)
2022-02-24 11:45:04 +0100 <ski> sumPair (a,b) = a + b
2022-02-24 11:46:14 +0100 <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
2022-02-24 11:46:37 +0100 <ski> so, `swap (2,3)' gets reduced to `(3,2)'
2022-02-24 11:46:59 +0100 <polezaivsani`> yep
2022-02-24 11:47:34 +0100 <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)'
2022-02-24 11:47:42 +0100alx741(~alx741@157.100.197.240)
2022-02-24 11:48:45 +0100 <ski> or, if we were reducing `let p = swap (2,3) in sumPair p + ..p..', then `p' would also get cached
2022-02-24 11:49:28 +0100 <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
2022-02-24 11:50:09 +0100 <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)
2022-02-24 11:51:19 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 11:51:24 +0100 <polezaivsani`> yes, now there's no ghost of some abstract evaulation cahing happening to bother me anymore :)
2022-02-24 11:51:31 +0100 <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)
2022-02-24 11:51:33 +0100acidsys(~LSD@2a03:4000:55:d20::3) (Excess Flood)
2022-02-24 11:52:11 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3)
2022-02-24 11:52:12 +0100acidsys(~LSD@2a03:4000:55:d20::3)
2022-02-24 11:53:17 +0100 <polezaivsani`> yes, i see that
2022-02-24 11:53:37 +0100 <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
2022-02-24 11:53:46 +0100 <ski> but it's the same concept, just different way to convey it
2022-02-24 11:53:53 +0100mbuf(~Shakthi@122.174.33.79) (Remote host closed the connection)
2022-02-24 11:54:10 +0100mbuf(~Shakthi@122.174.33.79)
2022-02-24 11:54:35 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:18a5:3f32:4426:9917)
2022-02-24 11:55:13 +0100 <polezaivsani`> yes, it's a graph in there
2022-02-24 11:58:04 +0100monochrom(trebla@216.138.220.146)
2022-02-24 11:59:00 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:18a5:3f32:4426:9917) (Ping timeout: 240 seconds)
2022-02-24 12:00:07 +0100fef(~thedawn@user/thedawn)
2022-02-24 12:01:31 +0100Akiva(~Akiva@user/Akiva) (Ping timeout: 256 seconds)
2022-02-24 12:03:01 +0100acidjnk(~acidjnk@p200300d0c71c0563a9d152fa4048aeb9.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-02-24 12:03:17 +0100xff0x(~xff0x@2001:1a81:53fb:2b00:39af:d957:9c8c:d6f6) (Ping timeout: 240 seconds)
2022-02-24 12:04:24 +0100xff0x(~xff0x@2001:1a81:53fb:2b00:4af1:dbed:433f:e61a)
2022-02-24 12:07:43 +0100alx741(~alx741@157.100.197.240)
2022-02-24 12:13:12 +0100max22-(~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr)
2022-02-24 12:17:45 +0100fendor_(~fendor@178.115.50.171.wireless.dyn.drei.com)
2022-02-24 12:18:12 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 12:18:32 +0100Midjak(~Midjak@82.66.147.146)
2022-02-24 12:20:02 +0100fendor(~fendor@91.141.59.141.wireless.dyn.drei.com) (Ping timeout: 240 seconds)
2022-02-24 12:28:29 +0100acidsys(~LSD@2a03:4000:55:d20::3) (Excess Flood)
2022-02-24 12:29:09 +0100acidsys(~LSD@2a03:4000:55:d20::3)
2022-02-24 12:35:48 +0100Unhammer(~Unhammer@user/unhammer) (Ping timeout: 240 seconds)
2022-02-24 12:36:10 +0100alx741(~alx741@181.199.42.143)
2022-02-24 12:37:36 +0100Unhammer(~Unhammer@user/unhammer)
2022-02-24 12:37:38 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds)
2022-02-24 12:38:43 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2022-02-24 12:38:43 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-02-24 12:40:43 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-24 12:46:00 +0100deadmarshal(~deadmarsh@95.38.230.238) (Ping timeout: 256 seconds)
2022-02-24 12:49:47 +0100cajun(~cajun@user/cajun)
2022-02-24 12:54:51 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt)
2022-02-24 12:54:57 +0100 <romesrf> !hello
2022-02-24 12:55:38 +0100Null_A(~null_a@c-98-210-133-39.hsd1.ca.comcast.net)
2022-02-24 12:57:04 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2022-02-24 12:57:33 +0100alx741(~alx741@157.100.197.240)
2022-02-24 13:00:02 +0100Null_A(~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2022-02-24 13:00:13 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-24 13:00:15 +0100 <romesrf> I'm wondering: If I use WriterT but never use the accumulated values, is it "zero cost"?
2022-02-24 13:00:45 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-02-24 13:01:03 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 13:01:06 +0100 <geekosaur> would waste memory
2022-02-24 13:01:13 +0100 <geekosaur> thunks aren't free
2022-02-24 13:01:58 +0100 <romesrf> thank you
2022-02-24 13:03:06 +0100 <romesrf> What were the RTS options to see the memory used ? I want to see how bad it is for my scenario
2022-02-24 13:06:32 +0100 <romesrf> it's -T (sorry, that was in the docs obviously)
2022-02-24 13:08:09 +0100 <joel135> i tried copying the xmobar config from here https://xmonad.org/TUTORIAL.html but i get a very obscure syntax error
2022-02-24 13:09:16 +0100irishman(~vshev4enk@178.151.117.243)
2022-02-24 13:09:24 +0100 <joel135> (line 31, column 10), unexpected "s", expecting space or "Run"
2022-02-24 13:09:38 +0100econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-02-24 13:10:31 +0100 <joel135> i tried simplifying the file but then it also doesn't work because it needs all those fields apparently
2022-02-24 13:10:57 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-24 13:11:27 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-02-24 13:12:57 +0100mastarija(~mastarija@2a05:4f46:e04:6000:7d10:23d8:e646:5686)
2022-02-24 13:13:24 +0100irishman(~vshev4enk@178.151.117.243) (Ping timeout: 240 seconds)
2022-02-24 13:14:12 +0100maroloccio(~marolocci@pousada3ja.mma.com.br)
2022-02-24 13:14:19 +0100bahamas(~lucian@84.232.140.52)
2022-02-24 13:16:42 +0100 <geekosaur> joel135, xmobar config only looks like Haskell, and yes the parser is really lousy about error messages
2022-02-24 13:17:16 +0100 <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
2022-02-24 13:18:00 +0100 <joel135> i installed it like "stack install xmobar"
2022-02-24 13:18:28 +0100 <geekosaur> if you built xmobar yourself, rebuild it with --flags=all_extensions
2022-02-24 13:19:10 +0100alx741(~alx741@157.100.197.240)
2022-02-24 13:19:18 +0100 <joel135> i tried removing the alsa part and now i get: unexpected end of input
2022-02-24 13:19:57 +0100 <geekosaur> @where paste
2022-02-24 13:19:58 +0100 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2022-02-24 13:20:55 +0100 <geekosaur> (and I *really* wish they'd do proper error handling, it's not that hard ):
2022-02-24 13:21:42 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-02-24 13:22:23 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-02-24 13:22:48 +0100jgeerds(~jgeerds@d53600c5.access.ecotel.net)
2022-02-24 13:22:49 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 13:23:06 +0100 <joel135> https://termbin.com/re9i
2022-02-24 13:24:48 +0100 <geekosaur> hm, that looks right aside from the alsa plugin still being in the template
2022-02-24 13:25:13 +0100 <joel135> i am missing a closing " !
2022-02-24 13:25:15 +0100 <geekosaur> which shouldn;t cause an "unexpected end of input", I think
2022-02-24 13:25:31 +0100 <joel135> now it works (without alsa, which is fine :)
2022-02-24 13:25:34 +0100 <geekosaur> oh right, right at the end of the template
2022-02-24 13:25:53 +0100zer0bitz(~zer0bitz@2001:2003:f74d:b800:b579:336d:9a22:79d7)
2022-02-24 13:26:05 +0100 <geekosaur> personally I'd turn on all the extensions, they're nice
2022-02-24 13:26:23 +0100 <joel135> can i do it from stack?
2022-02-24 13:26:36 +0100 <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
2022-02-24 13:26:51 +0100dsrt^(~dsrt@50-202-219-146-static.hfc.comcastbusiness.net)
2022-02-24 13:26:58 +0100 <geekosaur> yes, just rerun the stack install with --flags=all_extensions
2022-02-24 13:28:23 +0100ubert1(~Thunderbi@2a02:8109:9880:303c:a167:dd2d:8526:2dcf) (Remote host closed the connection)
2022-02-24 13:28:38 +0100 <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
2022-02-24 13:28:43 +0100mastarija_(~mastarija@2a05:4f46:e04:6000:f46a:7190:a000:4e97)
2022-02-24 13:28:48 +0100 <hpc> it gets all the way to the end, and finally that's where it gets surprised
2022-02-24 13:28:51 +0100mastarija_(~mastarija@2a05:4f46:e04:6000:f46a:7190:a000:4e97) (Client Quit)
2022-02-24 13:28:57 +0100 <hpc> the error isn't where the problem happened, it's where the surprise happened
2022-02-24 13:29:09 +0100mastarija_(~mastarija@2a05:4f46:e04:6000:f46a:7190:a000:4e97)
2022-02-24 13:29:09 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
2022-02-24 13:29:16 +0100 <joel135> it could also have been mismatched {} i think
2022-02-24 13:29:31 +0100 <joel135> or []
2022-02-24 13:30:03 +0100 <joel135> or any other unfinished syntactical form (if that's the right word for it)
2022-02-24 13:30:41 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-02-24 13:31:09 +0100 <joel135> "stack install xmobar --flags=all_extensions"
2022-02-24 13:31:30 +0100 <joel135> did you really mean this? stack says invalid option
2022-02-24 13:32:02 +0100 <geekosaur> I'm not a stack user so no, I'm not sure. The install instructions are for cabal
2022-02-24 13:32:43 +0100mastarija(~mastarija@2a05:4f46:e04:6000:7d10:23d8:e646:5686) (Ping timeout: 268 seconds)
2022-02-24 13:32:57 +0100 <geekosaur> looks like it's --flag all_extensions
2022-02-24 13:33:04 +0100 <geekosaur> can't have consistency, can we? :(
2022-02-24 13:33:11 +0100mastarija__(~mastarija@2a05:4f46:e04:6000:f46a:7190:a000:4e97)
2022-02-24 13:33:37 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
2022-02-24 13:33:39 +0100 <joel135> "option flag: Must have a colon" :(
2022-02-24 13:33:48 +0100 <geekosaur> o.O
2022-02-24 13:34:10 +0100 <geekosaur> sigh
2022-02-24 13:34:21 +0100 <geekosaur> --flag xmobar:all_extensions
2022-02-24 13:34:24 +0100 <geekosaur> I think
2022-02-24 13:34:48 +0100Guest28(~Guest28@nat-eduroam-76-gw-01-lne.lille.inria.fr)
2022-02-24 13:35:44 +0100mastarija__(~mastarija@2a05:4f46:e04:6000:f46a:7190:a000:4e97) (Client Quit)
2022-02-24 13:36:02 +0100 <joel135> "stack install xmobar --flags=xmobar:all_extensions"
2022-02-24 13:36:02 +0100mastarija(~mastarija@2a05:4f46:e04:6000:f46a:7190:a000:4e97)
2022-02-24 13:36:21 +0100 <joel135> ok, this is progress. now it is just asking me to update my global stack.yaml
2022-02-24 13:36:29 +0100mastarija_(~mastarija@2a05:4f46:e04:6000:f46a:7190:a000:4e97) (Ping timeout: 252 seconds)
2022-02-24 13:37:42 +0100 <joel135> it is compiling now :)
2022-02-24 13:39:37 +0100 <geekosaur> possibly it'llstop later asking for some C libs to be installed for things like mpris
2022-02-24 13:41:01 +0100alx741(~alx741@157.100.197.240)
2022-02-24 13:41:32 +0100mcglk(~mcglk@131.191.49.120) (Read error: Connection reset by peer)
2022-02-24 13:42:05 +0100mcglk(~mcglk@131.191.49.120)
2022-02-24 13:42:51 +0100 <joel135> ok
2022-02-24 13:45:01 +0100 <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
2022-02-24 13:45:33 +0100deadmarshal(~deadmarsh@95.38.230.238)
2022-02-24 13:45:34 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 13:45:36 +0100 <geekosaur> sometimes I recommend the actual haskell config just to get saner error messages
2022-02-24 13:46:02 +0100 <geekosaur> (granted, ghc is also infamous for "parse error" with little context…)
2022-02-24 13:48:13 +0100 <romesrf> ahah
2022-02-24 13:56:31 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:18a5:3f32:4426:9917)
2022-02-24 13:58:21 +0100 <sprout> egelbot: 1 + "2"
2022-02-24 13:59:31 +0100max22-(~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) (Ping timeout: 245 seconds)
2022-02-24 14:00:36 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:18a5:3f32:4426:9917) (Ping timeout: 240 seconds)
2022-02-24 14:03:33 +0100alx741(~alx741@157.100.197.240)
2022-02-24 14:04:36 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 240 seconds)
2022-02-24 14:07:19 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 14:07:38 +0100bahamas(~lucian@84.232.140.52)
2022-02-24 14:12:23 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 272 seconds)
2022-02-24 14:17:55 +0100mastarija(~mastarija@2a05:4f46:e04:6000:f46a:7190:a000:4e97) (Quit: Leaving)
2022-02-24 14:18:05 +0100jgeerds(~jgeerds@d53600c5.access.ecotel.net) (Ping timeout: 272 seconds)
2022-02-24 14:18:15 +0100arjun(~arjun@user/arjun) (Remote host closed the connection)
2022-02-24 14:18:21 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-02-24 14:18:58 +0100kenran(~kenran@200116b82b58bf00ac94994ddceb2eda.dip.versatel-1u1.de)
2022-02-24 14:24:31 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-02-24 14:24:56 +0100alx741(~alx741@157.100.197.240)
2022-02-24 14:25:32 +0100cfricke(~cfricke@user/cfricke) (Ping timeout: 240 seconds)
2022-02-24 14:26:12 +0100jespada(~jespada@148.252.133.112) (Ping timeout: 240 seconds)
2022-02-24 14:27:16 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-02-24 14:29:32 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 14:31:23 +0100thevishy(~Nishant@2405:201:f005:c007:e022:4c5f:4bd4:2b64)
2022-02-24 14:31:25 +0100dsrt^(~dsrt@50-202-219-146-static.hfc.comcastbusiness.net) (Ping timeout: 240 seconds)
2022-02-24 14:31:42 +0100dsrt^(~dsrt@50-202-219-146-static.hfc.comcastbusiness.net)
2022-02-24 14:36:06 +0100jiribenes(~jiribenes@rosa.jiribenes.com)
2022-02-24 14:36:49 +0100mmhat(~mmh@55d46dab.access.ecotel.net) (Quit: WeeChat 3.4)
2022-02-24 14:40:07 +0100Null_A(~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909)
2022-02-24 14:40:50 +0100 <jiribenes> is there a reason why type operators cannot be partially applied like sections?
2022-02-24 14:40:51 +0100 <jiribenes> for example `(a ->)` standing for `((->) a)` similarly to how `(2+)` stands for `((+) 2)`
2022-02-24 14:41:14 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-02-24 14:41:24 +0100 <jiribenes> (besides "nobody actually implemented it")
2022-02-24 14:42:11 +0100irishman(~vshev4enk@178.151.117.243)
2022-02-24 14:43:14 +0100 <merijn> jiribenes: "Type operators weren't a thing when the report was written"? :)
2022-02-24 14:44:10 +0100 <geekosaur> does the other way actually work? I think you can't in general do anything with (-> a) the way you can with (a ->)
2022-02-24 14:44:22 +0100 <ski> left sections would work. right section wouldn't
2022-02-24 14:44:24 +0100doyougnu(~doyougnu@cpe-67-249-83-190.twcny.res.rr.com)
2022-02-24 14:44:38 +0100 <jiribenes> merijn: fair enough :)
2022-02-24 14:45:17 +0100 <merijn> Also the above, yeah
2022-02-24 14:45:28 +0100 <ski> @type (False,)
2022-02-24 14:45:29 +0100 <lambdabot> t -> (Bool, t)
2022-02-24 14:45:29 +0100 <ski> @kind (Int,)
2022-02-24 14:45:31 +0100 <lambdabot> error: parse error on input ‘)’
2022-02-24 14:45:48 +0100 <geekosaur> % :k (Int,)
2022-02-24 14:45:49 +0100 <yahb> geekosaur: ; <interactive>:1:6: error: parse error on input `)'
2022-02-24 14:45:52 +0100 <geekosaur> bah
2022-02-24 14:46:05 +0100alx741(~alx741@157.100.197.240)
2022-02-24 14:46:12 +0100 <geekosaur> % :set -XTupleSections
2022-02-24 14:46:12 +0100 <yahb> geekosaur:
2022-02-24 14:46:13 +0100 <ski> (that's `TupleSections')
2022-02-24 14:46:17 +0100 <geekosaur> % :k (Int,)
2022-02-24 14:46:17 +0100 <yahb> geekosaur: ; <interactive>:1:6: error: parse error on input `)'
2022-02-24 14:46:18 +0100 <ski> it's already on
2022-02-24 14:46:36 +0100irishman(~vshev4enk@178.151.117.243) (Ping timeout: 245 seconds)
2022-02-24 14:46:41 +0100 <ski> % :q
2022-02-24 14:46:42 +0100 <yahb> ski:
2022-02-24 14:46:44 +0100 <ski> % :type (False,)
2022-02-24 14:46:45 +0100 <yahb> ski: t -> (Bool, t)
2022-02-24 14:48:30 +0100 <jiribenes> ski: just to be clear, why wouldn't right sections work?
2022-02-24 14:48:33 +0100komikat(~komikat@183.82.154.239) (Remote host closed the connection)
2022-02-24 14:50:15 +0100 <merijn> jiribenes: *right* sections won't work
2022-02-24 14:50:29 +0100 <merijn> i.e. (-> Int) as opposed to (Int ->)
2022-02-24 14:50:50 +0100 <merijn> jiribenes: Because right-sections are equivalent to type-level lambdas which break all sorts of things
2022-02-24 14:51:21 +0100 <merijn> well, I guess right sections could work IFF immediately applied, but that kinda seems to defeat the purpose
2022-02-24 14:51:28 +0100 <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
2022-02-24 14:51:44 +0100 <jiribenes> oh right, yeah, that makes sense
2022-02-24 14:52:20 +0100 <jiribenes> thanks! :)
2022-02-24 14:53:57 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 14:54:34 +0100alx741(~alx741@157.100.197.240)
2022-02-24 14:54:34 +0100 <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')
2022-02-24 14:56:17 +0100Null_A(~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 240 seconds)
2022-02-24 14:56:54 +0100 <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
2022-02-24 14:57:00 +0100 <ski> `(->) a b' to begin with)
2022-02-24 14:58:14 +0100 <ski> (hm .. i guess with `LiberalTypeSynonyms', having `Foo (-> b)' could work, if `Foo' is a type synonym that applies its callback argument)
2022-02-24 14:58:55 +0100komikat(~komikat@183.82.154.239)
2022-02-24 15:02:49 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 15:06:16 +0100LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection)
2022-02-24 15:08:13 +0100bahamas(~lucian@84.232.140.52)
2022-02-24 15:09:11 +0100LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao)
2022-02-24 15:09:33 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Remote host closed the connection)
2022-02-24 15:11:36 +0100lavaman(~lavaman@98.38.249.169)
2022-02-24 15:12:27 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
2022-02-24 15:14:23 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-24 15:14:27 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 272 seconds)
2022-02-24 15:15:35 +0100max22-(~maxime@2a01cb0883359800b5877b22b166e521.ipv6.abo.wanadoo.fr)
2022-02-24 15:16:10 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-02-24 15:19:47 +0100alx741(~alx741@181.199.42.143)
2022-02-24 15:21:03 +0100jespada(~jespada@148.252.133.112)
2022-02-24 15:21:19 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2022-02-24 15:23:07 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-24 15:24:08 +0100 <janus> how do i run cabal outdated on all of my transitive dependencies?
2022-02-24 15:25:23 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
2022-02-24 15:26:35 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-02-24 15:26:50 +0100maroloccio(~marolocci@pousada3ja.mma.com.br) (Quit: WeeChat 3.0)
2022-02-24 15:28:27 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-24 15:28:27 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-24 15:28:27 +0100wroathe(~wroathe@user/wroathe)
2022-02-24 15:30:23 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 256 seconds)
2022-02-24 15:30:42 +0100justsomeguy(~justsomeg@user/justsomeguy)
2022-02-24 15:34:49 +0100 <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...
2022-02-24 15:35:58 +0100 <ski> no. lists can be finite
2022-02-24 15:36:15 +0100cfricke(~cfricke@user/cfricke)
2022-02-24 15:36:22 +0100 <ski> with `Maybe (Stream a)' you either have no stream, or you have an infinite stream
2022-02-24 15:37:32 +0100 <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)
2022-02-24 15:37:57 +0100irishman(~vshev4enk@178.151.117.243)
2022-02-24 15:38:27 +0100 <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?
2022-02-24 15:38:48 +0100justsomeguyis not sure if that makes sense
2022-02-24 15:38:52 +0100 <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))
2022-02-24 15:39:31 +0100 <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'
2022-02-24 15:39:51 +0100 <ski> newtype Stream a = MkStream (Maybe (a,Stream a)) -- like this
2022-02-24 15:40:02 +0100alx741(~alx741@157.100.197.240)
2022-02-24 15:40:49 +0100 <ski> another way to do this would be to have
2022-02-24 15:41:07 +0100 <ski> newtype StreamF a s = MkStreamF (Maybe (a,s))
2022-02-24 15:41:14 +0100 <ski> or
2022-02-24 15:41:21 +0100 <ski> data StreamF a s = Nil
2022-02-24 15:41:31 +0100 <ski> | Cons a s
2022-02-24 15:41:35 +0100 <ski> together with
2022-02-24 15:41:50 +0100 <ski> type Stream a = Mu (StreamF a)
2022-02-24 15:41:57 +0100 <ski> @src Mu
2022-02-24 15:41:57 +0100 <lambdabot> newtype Mu f = In { out :: f (Mu f) }
2022-02-24 15:42:11 +0100 <ski> (you also see the name `Fix')
2022-02-24 15:42:17 +0100irishman(~vshev4enk@178.151.117.243) (Ping timeout: 256 seconds)
2022-02-24 15:43:05 +0100Guest28(~Guest28@nat-eduroam-76-gw-01-lne.lille.inria.fr) (Ping timeout: 256 seconds)
2022-02-24 15:43:54 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 15:43:55 +0100 <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))))))))'
2022-02-24 15:44:32 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds)
2022-02-24 15:44:43 +0100 <ski> (or with s/In/MkStream/ for the latter one, if you want the directly recursive `newtype' `Stream', rather than doing recursion via `Mu')
2022-02-24 15:44:51 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
2022-02-24 15:45:22 +0100jz99(~jz99@pa49-179-20-247.pa.nsw.optusnet.com.au)
2022-02-24 15:46:10 +0100jz99(~jz99@pa49-179-20-247.pa.nsw.optusnet.com.au) (Remote host closed the connection)
2022-02-24 15:47:58 +0100 <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 :^)
2022-02-24 15:48:43 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-02-24 15:50:36 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt)
2022-02-24 15:51:10 +0100 <ski> not silly questions
2022-02-24 15:51:28 +0100 <ski> playful, curious, questions are not silly
2022-02-24 15:51:44 +0100 <merijn> Also, silly isn't a judgement of quality
2022-02-24 15:51:58 +0100 <merijn> Some of my favourite haskell code is silly as hell :p
2022-02-24 15:52:22 +0100 <merijn> "data Neither a b = Left | Right" remains a favourite :D
2022-02-24 15:53:26 +0100vpan(~0@212.117.1.172) (Quit: Leaving.)
2022-02-24 15:53:52 +0100mikoto-chan(~mikoto-ch@213.177.151.239)
2022-02-24 15:54:28 +0100ski. o O ( "There are no silly questions, only silly people." ? )
2022-02-24 15:54:34 +0100skiis being silly
2022-02-24 15:54:39 +0100shriekingnoise(~shrieking@201.231.16.156)
2022-02-24 15:55:16 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds)
2022-02-24 15:57:47 +0100zer0bitz_(~zer0bitz@2001:2003:f74d:b800:b579:336d:9a22:79d7)
2022-02-24 15:57:51 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
2022-02-24 15:58:11 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:18a5:3f32:4426:9917)
2022-02-24 15:59:17 +0100justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 256 seconds)
2022-02-24 15:59:58 +0100coot(~coot@213.134.190.95) (Quit: coot)
2022-02-24 16:00:17 +0100alx741(~alx741@157.100.197.240)
2022-02-24 16:00:55 +0100justsomeguy(~justsomeg@user/justsomeguy)
2022-02-24 16:01:08 +0100zer0bitz(~zer0bitz@2001:2003:f74d:b800:b579:336d:9a22:79d7) (Ping timeout: 252 seconds)
2022-02-24 16:01:32 +0100coot(~coot@213.134.190.95)
2022-02-24 16:02:12 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
2022-02-24 16:02:17 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:18a5:3f32:4426:9917) (Ping timeout: 240 seconds)
2022-02-24 16:02:21 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-24 16:03:57 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 16:04:22 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-02-24 16:06:03 +0100doyougnu(~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Ping timeout: 256 seconds)
2022-02-24 16:06:18 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt)
2022-02-24 16:06:45 +0100nf(~n@monade.li) (Quit: Fairfarren.)
2022-02-24 16:08:35 +0100nf(~n@2001:19f0:7400:8e5a:5400:3ff:fede:4dc0)
2022-02-24 16:09:29 +0100neightchan(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2022-02-24 16:10:34 +0100natechan(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2022-02-24 16:10:43 +0100adamcstephens[m](~adamcstep@2001:470:69fc:105::1:72a2)
2022-02-24 16:14:25 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net)
2022-02-24 16:16:01 +0100Sgeo(~Sgeo@user/sgeo)
2022-02-24 16:17:20 +0100coot(~coot@213.134.190.95) (Quit: coot)
2022-02-24 16:17:47 +0100jackalope(~jackalope@50-24-138-131.bcstcmta02.res.dyn.suddenlink.net) (Ping timeout: 272 seconds)
2022-02-24 16:18:47 +0100cods(~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 256 seconds)
2022-02-24 16:19:02 +0100cods(~fred@82-65-232-44.subs.proxad.net)
2022-02-24 16:20:42 +0100coot(~coot@213.134.190.95)
2022-02-24 16:21:17 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-02-24 16:21:54 +0100alx741(~alx741@157.100.197.240)
2022-02-24 16:23:13 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:ac5:f557:6cb0:e099) (Quit: WeeChat 2.8)
2022-02-24 16:23:18 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-02-24 16:24:15 +0100Guest28(~Guest28@nat-eduroam-76-gw-01-lne.lille.inria.fr)
2022-02-24 16:25:20 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:ac5:f557:6cb0:e099)
2022-02-24 16:25:34 +0100shapr`(~user@pool-173-73-44-186.washdc.fios.verizon.net)
2022-02-24 16:27:55 +0100shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
2022-02-24 16:28:19 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 16:28:23 +0100justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.4)
2022-02-24 16:29:02 +0100alt-romes(~romes@44.190.189.46.rev.vodafone.pt)
2022-02-24 16:30:19 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-02-24 16:31:44 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 250 seconds)
2022-02-24 16:31:58 +0100komikat(~komikat@183.82.154.239) (Remote host closed the connection)
2022-02-24 16:35:24 +0100komikat(~komikat@183.82.154.239)
2022-02-24 16:36:02 +0100 <maerwald> merijn: lol
2022-02-24 16:37:21 +0100little_mac(~little_ma@2601:410:4300:3ce0:f10f:3b24:c2c7:662e)
2022-02-24 16:40:30 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-02-24 16:43:24 +0100rembo10(~rembo10@remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
2022-02-24 16:44:23 +0100rembo10(~rembo10@remulis.com)
2022-02-24 16:45:20 +0100alx741(~alx741@157.100.197.240)
2022-02-24 16:45:40 +0100Tuplanolla(~Tuplanoll@91-159-69-98.elisa-laajakaista.fi)
2022-02-24 16:46:06 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-02-24 16:46:34 +0100fendor_(~fendor@178.115.50.171.wireless.dyn.drei.com) (Remote host closed the connection)
2022-02-24 16:46:54 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-02-24 16:48:26 +0100califax(~califax@user/califx) (Remote host closed the connection)
2022-02-24 16:48:41 +0100califax(~califax@user/califx)
2022-02-24 16:48:53 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 16:49:14 +0100neightchan(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2022-02-24 16:49:47 +0100n8chan(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2022-02-24 16:54:26 +0100Pickchea(~private@user/pickchea)
2022-02-24 16:58:53 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 252 seconds)
2022-02-24 17:00:06 +0100cdsmith(~cdsmithma@2001:470:69fc:105::284) (Quit: You have been kicked for being idle)
2022-02-24 17:02:59 +0100alt-romes(~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds)
2022-02-24 17:03:26 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-02-24 17:04:58 +0100alt-romes(~romes@44.190.189.46.rev.vodafone.pt)
2022-02-24 17:05:02 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-02-24 17:05:22 +0100alx741(~alx741@157.100.197.240)
2022-02-24 17:07:05 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2022-02-24 17:08:16 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 17:10:21 +0100little_mac(~little_ma@2601:410:4300:3ce0:f10f:3b24:c2c7:662e) (Ping timeout: 245 seconds)
2022-02-24 17:10:59 +0100coot(~coot@213.134.190.95) (Ping timeout: 272 seconds)
2022-02-24 17:12:44 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:18a5:3f32:4426:9917)
2022-02-24 17:14:14 +0100mbuf(~Shakthi@122.174.33.79) (Quit: Leaving)
2022-02-24 17:15:27 +0100lechner(~lechner@debian/lechner)
2022-02-24 17:15:59 +0100ph88(~ph88@2a02:8109:9e00:71d0:5819:d51:74c8:3e0f)
2022-02-24 17:17:12 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3)
2022-02-24 17:17:41 +0100jgeerds(~jgeerds@d53600c5.access.ecotel.net)
2022-02-24 17:17:48 +0100dextaa_(~dextaa@user/dextaa)
2022-02-24 17:19:14 +0100cods(~fred@82-65-232-44.subs.proxad.net) (Read error: Connection reset by peer)
2022-02-24 17:19:48 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-02-24 17:22:22 +0100 <edwardk> wouldn't data Neither a b = Neither (a -> Void) (b -> Void) ?
2022-02-24 17:23:38 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-24 17:23:44 +0100 <edwardk> ah merijn left
2022-02-24 17:24:17 +0100alt-romes(~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds)
2022-02-24 17:24:31 +0100cods(~fred@82-65-232-44.subs.proxad.net)
2022-02-24 17:24:42 +0100alx741(~alx741@181.199.42.143)
2022-02-24 17:25:33 +0100wonko(~wjc@user/wonko)
2022-02-24 17:26:58 +0100xkuru(~xkuru@user/xkuru)
2022-02-24 17:26:58 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-24 17:29:08 +0100alt-romes(~romes@44.190.189.46.rev.vodafone.pt)
2022-02-24 17:29:47 +0100komikat(~komikat@183.82.154.239) (Remote host closed the connection)
2022-02-24 17:31:10 +0100thevishy(~Nishant@2405:201:f005:c007:e022:4c5f:4bd4:2b64) (Quit: Leaving)
2022-02-24 17:31:16 +0100komikat(~komikat@183.82.154.239)
2022-02-24 17:32:02 +0100jgeerds(~jgeerds@d53600c5.access.ecotel.net) (Ping timeout: 260 seconds)
2022-02-24 17:32:22 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:18a5:3f32:4426:9917) (Remote host closed the connection)
2022-02-24 17:33:25 +0100irishman(~vshev4enk@178.151.117.243)
2022-02-24 17:35:01 +0100nf(~n@2001:19f0:7400:8e5a:5400:3ff:fede:4dc0) (Quit: Fairfarren.)
2022-02-24 17:35:12 +0100nf(~n@monade.li)
2022-02-24 17:35:52 +0100 <carbolymer> edwardk: how do you use that constructor?
2022-02-24 17:36:07 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2022-02-24 17:36:27 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:ac5:f557:6cb0:e099) (Quit: WeeChat 2.8)
2022-02-24 17:37:10 +0100alt-romes(~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 260 seconds)
2022-02-24 17:38:12 +0100irishman(~vshev4enk@178.151.117.243) (Ping timeout: 272 seconds)
2022-02-24 17:38:25 +0100alt-romes(~romes@44.190.189.46.rev.vodafone.pt)
2022-02-24 17:43:28 +0100bahamas(~lucian@84.232.140.52)
2022-02-24 17:44:04 +0100alx741(~alx741@181.199.42.143)
2022-02-24 17:44:12 +0100kenran(~kenran@200116b82b58bf00ac94994ddceb2eda.dip.versatel-1u1.de) (Ping timeout: 240 seconds)
2022-02-24 17:44:33 +0100_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-02-24 17:45:03 +0100 <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 =)
2022-02-24 17:45:09 +0100kenran(~kenran@200116b82b58bf00e0673ca75d341939.dip.versatel-1u1.de)
2022-02-24 17:46:03 +0100 <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'
2022-02-24 17:46:17 +0100 <edwardk> carbolymer: Neither id id :: Neither Void Void -- works
2022-02-24 17:46:21 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-24 17:46:50 +0100 <carbolymer> edwardk: yeah, but I can't think of any other example than that
2022-02-24 17:46:55 +0100 <edwardk> data Neither a b = Neither { notLeft :: a -> Void, notRight :: b -> Void }
2022-02-24 17:47:34 +0100 <edwardk> carbolymer: V1 a, Const Void x, Down (V1 a), ... are all "uninhabited" data types
2022-02-24 17:47:45 +0100 <edwardk> all of which admit those a -> Void embeddings
2022-02-24 17:47:45 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-24 17:48:19 +0100shapr`shapr
2022-02-24 17:48:38 +0100 <byorgey> deMorgan :: Either a b -> (Neither a b -> Void) -- exercise
2022-02-24 17:48:52 +0100 <byorgey> deMorgan2 :: (Neither a b -> Void) -> Either a b -- beware of pacts with the devil
2022-02-24 17:49:32 +0100 <edwardk> the latter may require timetravel or callcc
2022-02-24 17:50:01 +0100 <byorgey> or pacts with the devil, yes
2022-02-24 17:50:23 +0100 <edwardk> the devil pact would let you go from not not not -> not, no?
2022-02-24 17:50:57 +0100o-90(~o-90@gateway/tor-sasl/o-90)
2022-02-24 17:51:09 +0100 <byorgey> ah, right, I guess the devil pact story is actually constructive, isn't it
2022-02-24 17:51:19 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-02-24 17:52:09 +0100 <edwardk> yeah
2022-02-24 17:52:16 +0100 <edwardk> otherwise you need the devil to exist outside the machine =)
2022-02-24 17:52:17 +0100vysn(~vysn@user/vysn) (Ping timeout: 240 seconds)
2022-02-24 17:52:39 +0100 <byorgey> hehe, right =)
2022-02-24 17:52:44 +0100 <geekosaur> always knew programmers were devils :}
2022-02-24 17:53:01 +0100 <edwardk> only scheme programmers.
2022-02-24 17:53:39 +0100mvk(~mvk@2607:fea8:5cdc:bf00::99e7)
2022-02-24 17:55:01 +0100dsrt^(~dsrt@50-202-219-146-static.hfc.comcastbusiness.net) (Ping timeout: 240 seconds)
2022-02-24 17:55:57 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-02-24 17:56:13 +0100dsrt^(~dsrt@50-202-219-146-static.hfc.comcastbusiness.net)
2022-02-24 18:00:14 +0100Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net)
2022-02-24 18:02:13 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-02-24 18:02:45 +0100lbseale(~ep1ctetus@user/ep1ctetus)
2022-02-24 18:04:12 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-02-24 18:04:18 +0100alx741(~alx741@157.100.197.240)
2022-02-24 18:04:48 +0100pretty_d1(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-02-24 18:05:21 +0100alt-romes(~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 245 seconds)
2022-02-24 18:06:11 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 245 seconds)
2022-02-24 18:07:47 +0100komikat(~komikat@183.82.154.239) (Remote host closed the connection)
2022-02-24 18:07:47 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 18:09:00 +0100komikat(~komikat@183.82.154.239)
2022-02-24 18:11:02 +0100vicfred(~vicfred@user/vicfred)
2022-02-24 18:13:32 +0100zebrag(~chris@user/zebrag)
2022-02-24 18:16:19 +0100doyougnu(~doyougnu@cpe-67-249-83-190.twcny.res.rr.com)
2022-02-24 18:19:28 +0100fef(~thedawn@user/thedawn) (Quit: Leaving)
2022-02-24 18:20:41 +0100o-90(~o-90@gateway/tor-sasl/o-90) (Quit: Leaving)
2022-02-24 18:20:45 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-24 18:21:24 +0100Vajb(~Vajb@2001:999:600:5133:28cb:83bf:5ecf:4314)
2022-02-24 18:23:16 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 245 seconds)
2022-02-24 18:23:34 +0100little_mac(~little_ma@2601:410:4300:3ce0:f10f:3b24:c2c7:662e)
2022-02-24 18:23:49 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2022-02-24 18:24:16 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-02-24 18:24:28 +0100zeenk(~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5) (Quit: Konversation terminated!)
2022-02-24 18:24:33 +0100alx741(~alx741@157.100.197.240)
2022-02-24 18:25:08 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:18a5:3f32:4426:9917)
2022-02-24 18:26:17 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2022-02-24 18:27:14 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 18:27:49 +0100analognoise(~analognoi@212.102.45.103)
2022-02-24 18:29:12 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-24 18:29:12 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-24 18:29:12 +0100wroathe(~wroathe@user/wroathe)
2022-02-24 18:30:34 +0100mastarija(~mastarija@2a05:4f46:e04:6000:f46a:7190:a000:4e97)
2022-02-24 18:30:55 +0100lavaman(~lavaman@98.38.249.169)
2022-02-24 18:32:36 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 240 seconds)
2022-02-24 18:33:38 +0100alt-romes(~romes@44.190.189.46.rev.vodafone.pt)
2022-02-24 18:35:10 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2022-02-24 18:38:18 +0100alt-romes(~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 260 seconds)
2022-02-24 18:42:43 +0100Pickchea(~private@user/pickchea) (Ping timeout: 256 seconds)
2022-02-24 18:43:23 +0100mncheck(~mncheck@193.224.205.254) (Remote host closed the connection)
2022-02-24 18:43:40 +0100alx741(~alx741@157.100.197.240)
2022-02-24 18:44:13 +0100alt-romes(~romes@44.190.189.46.rev.vodafone.pt)
2022-02-24 18:45:36 +0100jespada(~jespada@148.252.133.112) (Read error: Connection reset by peer)
2022-02-24 18:46:41 +0100Guest28(~Guest28@nat-eduroam-76-gw-01-lne.lille.inria.fr) (Ping timeout: 256 seconds)
2022-02-24 18:48:29 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 18:48:36 +0100alt-romes(~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds)
2022-02-24 18:49:01 +0100Akiva(~Akiva@user/Akiva)
2022-02-24 18:49:25 +0100sterni(~lukas@user/sterni) (Ping timeout: 240 seconds)
2022-02-24 18:49:43 +0100sterni(~lukas@user/sterni)
2022-02-24 18:51:01 +0100xnbya(~xnbya@2a01:4f8:c17:cbdd::1) (Ping timeout: 240 seconds)
2022-02-24 18:51:07 +0100xnbya(~xnbya@2a01:4f8:c17:cbdd::1)
2022-02-24 18:53:17 +0100dextaa_(~dextaa@user/dextaa) (Remote host closed the connection)
2022-02-24 18:54:19 +0100alt-romes(~romes@44.190.189.46.rev.vodafone.pt)
2022-02-24 18:56:53 +0100MajorBiscuit(~MajorBisc@wlan-145-94-218-48.wlan.tudelft.nl) (Ping timeout: 256 seconds)
2022-02-24 19:00:00 +0100irishman(~vshev4enk@178.151.117.243)
2022-02-24 19:00:17 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 256 seconds)
2022-02-24 19:01:37 +0100alt-romes(~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds)
2022-02-24 19:04:12 +0100irishman(~vshev4enk@178.151.117.243) (Ping timeout: 240 seconds)
2022-02-24 19:04:13 +0100Vajb(~Vajb@2001:999:600:5133:28cb:83bf:5ecf:4314) (Read error: Connection reset by peer)
2022-02-24 19:04:32 +0100Vajb(~Vajb@85-76-130-48-nat.elisa-mobile.fi)
2022-02-24 19:05:23 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-24 19:06:11 +0100alx741(~alx741@157.100.197.240)
2022-02-24 19:07:28 +0100alt-romes(~romes@44.190.189.46.rev.vodafone.pt)
2022-02-24 19:08:31 +0100kenran(~kenran@200116b82b58bf00e0673ca75d341939.dip.versatel-1u1.de) (Quit: WeeChat info:version)
2022-02-24 19:09:24 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 19:11:03 +0100Vajb(~Vajb@85-76-130-48-nat.elisa-mobile.fi) (Read error: Connection reset by peer)
2022-02-24 19:11:29 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-24 19:11:36 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-24 19:11:36 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-24 19:11:36 +0100wroathe(~wroathe@user/wroathe)
2022-02-24 19:12:44 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2022-02-24 19:13:47 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2022-02-24 19:14:27 +0100alt-romes(~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds)
2022-02-24 19:14:55 +0100irishman(~vshev4enk@178.151.117.243)
2022-02-24 19:14:59 +0100ph88(~ph88@2a02:8109:9e00:71d0:5819:d51:74c8:3e0f) (Quit: Leaving)
2022-02-24 19:16:09 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-24 19:16:58 +0100alt-romes(~romes@44.190.189.46.rev.vodafone.pt)
2022-02-24 19:17:56 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
2022-02-24 19:18:22 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
2022-02-24 19:19:00 +0100irishman(~vshev4enk@178.151.117.243) (Ping timeout: 240 seconds)
2022-02-24 19:19:08 +0100 <bjourne> is there a tool for converting functions in pointfree style to applicative style?
2022-02-24 19:22:20 +0100adverbs(~toy@110.136.217.207)
2022-02-24 19:23:31 +0100 <Clint> what?
2022-02-24 19:23:45 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
2022-02-24 19:25:44 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-02-24 19:26:03 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-02-24 19:27:01 +0100wonko(~wjc@user/wonko) (Ping timeout: 245 seconds)
2022-02-24 19:27:34 +0100alx741(~alx741@157.100.197.240)
2022-02-24 19:27:40 +0100adverbs(~toy@110.136.217.207) (Ping timeout: 250 seconds)
2022-02-24 19:27:42 +0100 <bjourne> obfuscated haskell
2022-02-24 19:27:44 +0100 <bjourne> p = m (vr g) . ysu . mapV (m (vr g)) . mv (m (mv f)) . usy . m (gv 4)
2022-02-24 19:27:48 +0100yauhsien_(~yauhsien@61-231-19-150.dynamic-ip.hinet.net)
2022-02-24 19:32:12 +0100yauhsien_(~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-02-24 19:34:09 +0100 <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/?u…
2022-02-24 19:34:17 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-02-24 19:34:57 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 240 seconds)
2022-02-24 19:35:01 +0100mc47(~mc47@xmonad/TheMC47)
2022-02-24 19:35:19 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
2022-02-24 19:35:37 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 19:37:00 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
2022-02-24 19:38:11 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
2022-02-24 19:38:44 +0100ski. 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/devi…> )
2022-02-24 19:38:56 +0100ski. 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> )
2022-02-24 19:39:43 +0100 <ski> bjourne : by using `Applicative (rho ->)' or what ?
2022-02-24 19:41:53 +0100 <ski> bjourne : what's the relevant type signatures ?
2022-02-24 19:47:31 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-02-24 19:48:17 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 240 seconds)
2022-02-24 19:49:47 +0100dextaa_(~dextaa@user/dextaa)
2022-02-24 19:53:02 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
2022-02-24 19:53:28 +0100ProfSimm(~ProfSimm@87.227.196.109)
2022-02-24 19:54:04 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com)
2022-02-24 19:54:12 +0100alx741(~alx741@181.199.42.143)
2022-02-24 19:56:18 +0100 <sm> nice hgolden ! likewise!
2022-02-24 19:56:44 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-24 19:56:57 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-02-24 19:57:22 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-24 20:00:21 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Remote host closed the connection)
2022-02-24 20:01:14 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
2022-02-24 20:03:05 +0100 <byorgey> bjourne: you mean like an inverse to lambdabot's @pointfree command?
2022-02-24 20:04:10 +0100cosimone(~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3)
2022-02-24 20:05:10 +0100econo(uid147250@user/econo)
2022-02-24 20:05:38 +0100 <byorgey> I don't know of anything which does that automatically.
2022-02-24 20:05:43 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:18a5:3f32:4426:9917) (Remote host closed the connection)
2022-02-24 20:05:56 +0100 <dolio> @unpl f . g . h
2022-02-24 20:05:57 +0100 <lambdabot> (\ x -> f (g (h x)))
2022-02-24 20:06:24 +0100 <monochrom> @pl already does both pointfree and applicative.
2022-02-24 20:06:33 +0100 <monochrom> @pl \x -> f x (g x)
2022-02-24 20:06:33 +0100 <lambdabot> ap f g
2022-02-24 20:06:41 +0100 <byorgey> oh! =D
2022-02-24 20:06:47 +0100 <monochrom> Just change that "ap" to "(<*>)".
2022-02-24 20:07:05 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
2022-02-24 20:07:14 +0100 <byorgey> @unpl m (vr g) . ysu . mapV (m (vr g)) . mv (m (mv f)) . usy . m (gv 4)
2022-02-24 20:07:14 +0100 <lambdabot> (\ x -> m (vr g) (ysu (mapV (m (vr g)) (mv (m (mv f)) (usy (m (gv 4) x))))))
2022-02-24 20:07:15 +0100 <monochrom> So "convert pointfree to applicative" sounds like nonsense. applicative is a special case of pointfree.
2022-02-24 20:07:29 +0100 <byorgey> not really an improvement
2022-02-24 20:08:13 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
2022-02-24 20:12:41 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt)
2022-02-24 20:14:37 +0100spacenautx(~spacenaut@user/spacenautx)
2022-02-24 20:14:42 +0100alx741(~alx741@181.199.42.143)
2022-02-24 20:15:00 +0100alt-romes(~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds)
2022-02-24 20:15:44 +0100Guest402sudden
2022-02-24 20:16:17 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
2022-02-24 20:19:00 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-24 20:19:20 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds)
2022-02-24 20:20:40 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
2022-02-24 20:21:00 +0100bahamas(~lucian@84.232.140.52)
2022-02-24 20:22:49 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-02-24 20:25:51 +0100dsrt^(~dsrt@50-202-219-146-static.hfc.comcastbusiness.net) (Remote host closed the connection)
2022-02-24 20:26:41 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-02-24 20:28:37 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Ping timeout: 240 seconds)
2022-02-24 20:28:50 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2022-02-24 20:30:01 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
2022-02-24 20:30:17 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2022-02-24 20:33:47 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt)
2022-02-24 20:34:21 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 256 seconds)
2022-02-24 20:34:30 +0100Alex_test(~al_test@178.34.160.252) (Ping timeout: 260 seconds)
2022-02-24 20:35:26 +0100AlexZenon(~alzenon@178.34.160.252) (Ping timeout: 260 seconds)
2022-02-24 20:35:48 +0100AlexNoo(~AlexNoo@178.34.160.252) (Ping timeout: 240 seconds)
2022-02-24 20:36:05 +0100alx741(~alx741@157.100.197.240)
2022-02-24 20:37:01 +0100AlexNoo(~AlexNoo@178.34.160.252)
2022-02-24 20:37:02 +0100Alex_test(~al_test@178.34.160.252)
2022-02-24 20:37:13 +0100AlexZenon(~alzenon@178.34.160.252)
2022-02-24 20:39:16 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 20:44:07 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2022-02-24 20:46:15 +0100Henson(~kvirc@107-179-133-201.cpe.teksavvy.com)
2022-02-24 20:46:52 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2022-02-24 20:47:15 +0100 <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
2022-02-24 20:47:15 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
2022-02-24 20:47:37 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
2022-02-24 20:47:45 +0100 <xerox> still bang on the type not the record name
2022-02-24 20:48:02 +0100 <geekosaur> @let data Foo = Foo { fooVal2 :: !Double }
2022-02-24 20:48:05 +0100 <lambdabot> Defined.
2022-02-24 20:48:09 +0100Lord_of_Life_Lord_of_Life
2022-02-24 20:49:01 +0100 <Henson> xerox, geekosaur: thank you!
2022-02-24 20:51:08 +0100 <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
2022-02-24 20:51:12 +0100gdown(~gavin@h69-11-150-165.kndrid.broadband.dynamic.tds.net)
2022-02-24 20:52:07 +0100 <Henson> monochrom: thank you for the reference
2022-02-24 20:53:59 +0100Pickchea(~private@user/pickchea)
2022-02-24 20:56:06 +0100alx741(~alx741@157.100.197.240)
2022-02-24 20:56:18 +0100irishman(~vshev4enk@178.151.117.243)
2022-02-24 21:00:06 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:18a5:3f32:4426:9917)
2022-02-24 21:00:37 +0100irishman(~vshev4enk@178.151.117.243) (Ping timeout: 240 seconds)
2022-02-24 21:02:01 +0100coot(~coot@213.134.190.95)
2022-02-24 21:04:12 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
2022-02-24 21:07:54 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-24 21:07:54 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-24 21:07:54 +0100wroathe(~wroathe@user/wroathe)
2022-02-24 21:08:18 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2022-02-24 21:08:37 +0100ProfSimm(~ProfSimm@87.227.196.109)
2022-02-24 21:10:28 +0100kaph(~kaph@net-109-116-117-37.cust.vodafonedsl.it)
2022-02-24 21:11:31 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-02-24 21:13:01 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-02-24 21:13:33 +0100doyougnu(~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Ping timeout: 272 seconds)
2022-02-24 21:14:31 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 21:14:34 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-02-24 21:16:45 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2022-02-24 21:17:37 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-02-24 21:18:11 +0100Erutuon(~Erutuon@user/erutuon)
2022-02-24 21:18:11 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
2022-02-24 21:19:20 +0100 <Zemyla> Why is minusNaturalMaybe not in Numeric.Natural?
2022-02-24 21:19:49 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-24 21:19:49 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-24 21:19:49 +0100wroathe(~wroathe@user/wroathe)
2022-02-24 21:24:47 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-24 21:29:31 +0100jz99(~jz99@150.203.66.198)
2022-02-24 21:30:04 +0100jz99(~jz99@150.203.66.198) (Remote host closed the connection)
2022-02-24 21:32:44 +0100alx741(~alx741@157.100.197.240)
2022-02-24 21:33:09 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
2022-02-24 21:33:24 +0100mastarija(~mastarija@2a05:4f46:e04:6000:f46a:7190:a000:4e97) (Quit: Leaving)
2022-02-24 21:34:21 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-02-24 21:34:48 +0100jespada(~jespada@85.255.233.175)
2022-02-24 21:35:58 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 21:36:47 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-02-24 21:37:52 +0100jz99(~jz99@150.203.66.198)
2022-02-24 21:38:30 +0100jz99(~jz99@150.203.66.198) (Remote host closed the connection)
2022-02-24 21:40:08 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-02-24 21:40:27 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2022-02-24 21:40:56 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 256 seconds)
2022-02-24 21:41:23 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-02-24 21:42:00 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-02-24 21:43:00 +0100xff0x(~xff0x@2001:1a81:53fb:2b00:4af1:dbed:433f:e61a) (Ping timeout: 240 seconds)
2022-02-24 21:43:20 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2022-02-24 21:43:57 +0100xff0x(~xff0x@2001:1a81:53fb:2b00:8d8b:288f:2428:63ae)
2022-02-24 21:45:07 +0100agumonkey(~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7)
2022-02-24 21:48:02 +0100yauhsien_(~Yau-Hsien@61-231-21-135.dynamic-ip.hinet.net)
2022-02-24 21:49:15 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
2022-02-24 21:50:25 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 250 seconds)
2022-02-24 21:50:56 +0100yauhsien(~Yau-Hsien@61-231-19-150.dynamic-ip.hinet.net) (Ping timeout: 252 seconds)
2022-02-24 21:51:48 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2022-02-24 21:52:25 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
2022-02-24 21:52:47 +0100alx741(~alx741@157.100.197.240)
2022-02-24 21:53:22 +0100cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.3)
2022-02-24 21:55:05 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 22:00:07 +0100notzmv(~zmv@user/notzmv)
2022-02-24 22:04:19 +0100pavonia(~user@user/siracusa)
2022-02-24 22:04:50 +0100_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
2022-02-24 22:06:44 +0100irishman(~vshev4enk@178.151.117.243)
2022-02-24 22:11:15 +0100irishman(~vshev4enk@178.151.117.243) (Ping timeout: 256 seconds)
2022-02-24 22:11:21 +0100polezaivsani`(~polezaivs@orangeshoelaces.net) (Quit: rcirc on GNU Emacs 27.2)
2022-02-24 22:11:53 +0100zeenk(~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5)
2022-02-24 22:12:04 +0100 <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
2022-02-24 22:12:34 +0100 <EvanR> dealing with the "exception" in the course of an arithmetical formula seems inconvenient and awkward
2022-02-24 22:13:28 +0100alx741(~alx741@181.199.42.143)
2022-02-24 22:14:37 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
2022-02-24 22:16:57 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
2022-02-24 22:17:27 +0100Guest68(~Guest68@134.101.5.46)
2022-02-24 22:17:35 +0100jonathanx__(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2022-02-24 22:17:57 +0100jonathanx__(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-02-24 22:18:16 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-24 22:18:50 +0100 <ski> truncated/cutoff/limited/proper subtraction / difference-or-zero / monus can occasionally be useful
2022-02-24 22:18:57 +0100alx741(~alx741@157.100.197.240)
2022-02-24 22:19:21 +0100 <ski> (it also forms an adjunction with addition)
2022-02-24 22:20:03 +0100 <ski> (or, i suppose you'd say, a (monotone) Galois connection)
2022-02-24 22:21:09 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729)
2022-02-24 22:21:18 +0100dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.4)
2022-02-24 22:21:50 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2022-02-24 22:22:25 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 22:23:42 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
2022-02-24 22:23:56 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9)
2022-02-24 22:24:28 +0100zer0bitz_(~zer0bitz@2001:2003:f74d:b800:b579:336d:9a22:79d7) (Ping timeout: 250 seconds)
2022-02-24 22:27:57 +0100mcglk(~mcglk@131.191.49.120) (Ping timeout: 240 seconds)
2022-02-24 22:30:41 +0100mcglk(~mcglk@131.191.49.120)
2022-02-24 22:31:54 +0100Kaiepi(~Kaiepi@156.34.47.253) (Remote host closed the connection)
2022-02-24 22:33:39 +0100 <janus> are there any other servers for Wai.Network.Application than warp?
2022-02-24 22:34:13 +0100jgeerds(~jgeerds@d53600c5.access.ecotel.net)
2022-02-24 22:34:46 +0100mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 268 seconds)
2022-02-24 22:36:37 +0100coot(~coot@213.134.190.95) (Ping timeout: 240 seconds)
2022-02-24 22:39:17 +0100Null_A(~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds)
2022-02-24 22:40:13 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
2022-02-24 22:40:17 +0100Kaiepi(~Kaiepi@156.34.47.253)
2022-02-24 22:40:33 +0100alx741(~alx741@157.100.197.240)
2022-02-24 22:42:38 +0100 <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
2022-02-24 22:42:44 +0100 <pierrot> executable is indeed there and I could run it
2022-02-24 22:42:48 +0100 <pierrot> however, that path is huge
2022-02-24 22:42:54 +0100mcglk_(~mcglk@131.191.49.120)
2022-02-24 22:43:08 +0100 <pierrot> I know I can make a symlink to that file
2022-02-24 22:43:23 +0100 <pierrot> but there must be a way of running it using stack I guess
2022-02-24 22:43:30 +0100 <pierrot> and I'm missing that way
2022-02-24 22:43:33 +0100mcglk(~mcglk@131.191.49.120) (Ping timeout: 256 seconds)
2022-02-24 22:43:34 +0100 <Cale> You can also just move the executable somewhere else
2022-02-24 22:43:41 +0100 <janus> pierrot: i think if you do 'stack install' it will put it in a more convenient place
2022-02-24 22:44:39 +0100 <sm> ~/.local/bin
2022-02-24 22:44:47 +0100irishman(~vshev4enk@178.151.117.243)
2022-02-24 22:45:13 +0100 <sm> or if you don't want to move it: stack run
2022-02-24 22:45:21 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 22:45:45 +0100komikat(~komikat@183.82.154.239) (Remote host closed the connection)
2022-02-24 22:45:50 +0100 <pierrot> thank you very much Cale , janus and sm . I'll try with `stack install`
2022-02-24 22:47:06 +0100komikat(~komikat@183.82.154.239)
2022-02-24 22:49:30 +0100irishman(~vshev4enk@178.151.117.243) (Ping timeout: 256 seconds)
2022-02-24 22:49:47 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
2022-02-24 22:51:42 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
2022-02-24 22:52:29 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
2022-02-24 22:53:15 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-02-24 22:57:40 +0100yauhsienhuangtw(~Yau-Hsien@61-231-21-135.dynamic-ip.hinet.net)
2022-02-24 22:57:52 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-02-24 23:00:10 +0100gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2022-02-24 23:01:07 +0100yauhsien_(~Yau-Hsien@61-231-21-135.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-02-24 23:01:11 +0100Tuplanolla(~Tuplanoll@91-159-69-98.elisa-laajakaista.fi) (Quit: Leaving.)
2022-02-24 23:01:44 +0100alx741(~alx741@181.199.42.143)
2022-02-24 23:02:51 +0100irishman(~vshev4enk@178.151.117.243)
2022-02-24 23:04:13 +0100ccntrq(~Thunderbi@2a01:e34:eccb:b060:1ccc:ee98:9b77:cb4a) (Remote host closed the connection)
2022-02-24 23:06:34 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-24 23:07:01 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Quit: WeeChat 2.2-dev)
2022-02-24 23:07:13 +0100alx741(~alx741@181.199.42.143)
2022-02-24 23:08:00 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-02-24 23:10:29 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-24 23:11:45 +0100jespada(~jespada@85.255.233.175) (Read error: Connection reset by peer)
2022-02-24 23:13:06 +0100zincy_(~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection)
2022-02-24 23:13:39 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-24 23:13:39 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-24 23:13:39 +0100wroathe(~wroathe@user/wroathe)
2022-02-24 23:13:46 +0100cynomys(~cynomys@user/cynomys)
2022-02-24 23:16:12 +0100auri(~quassel@fsf/member/auri) (Quit: auri)
2022-02-24 23:17:02 +0100agumonkey(~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) (Remote host closed the connection)
2022-02-24 23:17:27 +0100agumonkey(~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7)
2022-02-24 23:19:21 +0100acidjnk(~acidjnk@p200300d0c723f84535459519c3275cf0.dip0.t-ipconnect.de)
2022-02-24 23:20:45 +0100agumonkey(~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) (Remote host closed the connection)
2022-02-24 23:21:02 +0100agumonkey(~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7)
2022-02-24 23:22:19 +0100komikat(~komikat@183.82.154.239) (Remote host closed the connection)
2022-02-24 23:23:23 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 272 seconds)
2022-02-24 23:24:56 +0100agumonkey(~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) (Remote host closed the connection)
2022-02-24 23:25:01 +0100yauhsien(~yauhsien@61-231-21-135.dynamic-ip.hinet.net)
2022-02-24 23:25:10 +0100agumonkey(~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7)
2022-02-24 23:27:02 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
2022-02-24 23:27:40 +0100alx741(~alx741@157.100.197.240)
2022-02-24 23:29:47 +0100yauhsien(~yauhsien@61-231-21-135.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-02-24 23:32:55 +0100cynomys(~cynomys@user/cynomys) (Quit: Lost terminal)
2022-02-24 23:34:20 +0100cynomys(~cynomys@user/cynomys)
2022-02-24 23:39:05 +0100jonathanx__(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2022-02-24 23:39:24 +0100deadmarshal(~deadmarsh@95.38.230.238) (Ping timeout: 240 seconds)
2022-02-24 23:39:24 +0100jonathanx__(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-02-24 23:43:27 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2022-02-24 23:44:29 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net) (Remote host closed the connection)
2022-02-24 23:45:30 +0100lavaman(~lavaman@98.38.249.169)
2022-02-24 23:46:00 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-24 23:47:20 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2022-02-24 23:48:45 +0100kaph(~kaph@net-109-116-117-37.cust.vodafonedsl.it) (Read error: Connection reset by peer)
2022-02-24 23:49:51 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 256 seconds)
2022-02-24 23:52:17 +0100kaph(~kaph@net-109-116-117-37.cust.vodafonedsl.it)
2022-02-24 23:53:03 +0100shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net) (Remote host closed the connection)
2022-02-24 23:53:16 +0100shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net)
2022-02-24 23:56:20 +0100abhixec(~abhinav@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)