2025/02/11

2025-02-11 00:04:30 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 00:09:40 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-02-11 00:09:54 +0100hololeap(~quassel@user/hololeap) (Quit: Bye)
2025-02-11 00:10:57 +0100hololeap(~quassel@user/hololeap) hololeap
2025-02-11 00:15:26 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2025-02-11 00:19:52 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 00:24:39 +0100sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 265 seconds)
2025-02-11 00:26:59 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-11 00:27:09 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-11 00:31:11 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-02-11 00:39:33 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 00:44:19 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-02-11 00:53:47 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2025-02-11 00:53:48 +0100otbergsten(~otbergste@user/otbergsten) (Remote host closed the connection)
2025-02-11 00:54:55 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 00:59:39 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-02-11 01:07:21 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2025-02-11 01:10:17 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 01:13:13 +0100athan(~athan@syn-173-042-095-241.biz.spectrum.com) athan
2025-02-11 01:14:33 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-02-11 01:15:03 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-11 01:16:54 +0100 <lyxia> I somehow need existential newtypes in Haskell... are there any workarounds (or have they been implemented already)?
2025-02-11 01:17:47 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-02-11 01:19:06 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 246 seconds)
2025-02-11 01:19:58 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 272 seconds)
2025-02-11 01:19:58 +0100ljdarj1ljdarj
2025-02-11 01:21:51 +0100 <Leary> lyxia: You can use a smart constructor that secretly `unsafeCoerce`s the hidden type to `Any`, then provide a Rank2 `withFoo` for unwrapping. See `Data.Some.Newtype` for an example in the wild.
2025-02-11 01:22:39 +0100athan(~athan@syn-173-042-095-241.biz.spectrum.com) (Quit: Konversation terminated!)
2025-02-11 01:25:39 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 01:27:49 +0100 <Leary> There's also a similar trick to give the constructor a constraint, so long as any runtime data can be computed from the argument: https://gist.github.com/LSLeary/ef0f75468938fa6ff505331171bb011c
2025-02-11 01:32:26 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-11 01:35:15 +0100 <lyxia> Very cursed, thank you :)
2025-02-11 01:43:18 +0100acidjnk_new3(~acidjnk@p200300d6e7283f999088022741b454a0.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2025-02-11 01:43:43 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 01:48:12 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-11 01:58:39 +0100hammond(proscan@gateway04.insomnia247.nl) (Ping timeout: 246 seconds)
2025-02-11 01:59:04 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 02:02:01 +0100sprotte24(~sprotte24@p200300d16f01b7005c77723fc43a3702.dip0.t-ipconnect.de) (Quit: Leaving)
2025-02-11 02:03:28 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-11 02:03:49 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-11 02:04:53 +0100tri(~tri@ool-44c70bcb.dyn.optonline.net)
2025-02-11 02:07:33 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 248 seconds)
2025-02-11 02:09:39 +0100tri(~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 260 seconds)
2025-02-11 02:14:00 +0100neto(~Netnet@143-208-42-129.users.certto.com.br)
2025-02-11 02:14:26 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 02:19:29 +0100euouae(~euouae@user/euouae) (Remote host closed the connection)
2025-02-11 02:19:30 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-02-11 02:19:50 +0100neto(~Netnet@143-208-42-129.users.certto.com.br) (Remote host closed the connection)
2025-02-11 02:20:08 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 272 seconds)
2025-02-11 02:20:41 +0100hammond(proscan@gateway04.insomnia247.nl)
2025-02-11 02:24:35 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-02-11 02:25:23 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 245 seconds)
2025-02-11 02:29:49 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 02:34:24 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-11 02:38:21 +0100 <lisbeths> bash_macros(){ while read -r i; do eval "$( printf "%s" "$i" | awk "$1" ; )" ; done ; } ;
2025-02-11 02:39:54 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-02-11 02:43:56 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds)
2025-02-11 02:45:11 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 02:49:34 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-02-11 02:52:33 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-11 02:57:12 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 268 seconds)
2025-02-11 03:00:35 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 03:07:49 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-02-11 03:12:50 +0100tri(~tri@ool-44c70bcb.dyn.optonline.net)
2025-02-11 03:13:33 +0100robobub(uid248673@id-248673.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2025-02-11 03:17:18 +0100tri(~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 252 seconds)
2025-02-11 03:17:45 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 246 seconds)
2025-02-11 03:18:36 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 03:23:03 +0100pikajude(~jude@2001:19f0:ac01:373:5400:2ff:fe86:3274) (Quit: ZNC 1.8.2 - https://znc.in)
2025-02-11 03:23:06 +0100pounce(~pounce@user/cute/pounce) (Read error: Connection reset by peer)
2025-02-11 03:23:13 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-11 03:23:14 +0100Vajb(~Vajb@n84e9ei03jkqt6rm3ev-1.v6.elisa-mobile.fi) (Ping timeout: 248 seconds)
2025-02-11 03:23:19 +0100pounce(~pounce@user/cute/pounce) pounce
2025-02-11 03:23:23 +0100pikajude(~jude@149.28.207.64) pikajude
2025-02-11 03:23:40 +0100andreas303(andreas303@is.drunk.and.ready-to.party) (Quit: fBNC - https://bnc4free.com)
2025-02-11 03:24:02 +0100berberman(~berberman@user/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
2025-02-11 03:24:15 +0100berberman(~berberman@user/berberman) berberman
2025-02-11 03:24:18 +0100andreas303(andreas303@is.drunk.and.ready-to.party) andreas303
2025-02-11 03:24:21 +0100bryanv(~quassel@2603:c028:4503:7500:45b7:933:ab17:bc10) (Quit: No Ping reply in 180 seconds.)
2025-02-11 03:25:34 +0100bryanv(~quassel@2603:c028:4503:7500:45b7:933:ab17:bc10)
2025-02-11 03:25:54 +0100ggVGc(~ggVGc@a.lowtech.earth) (Ping timeout: 248 seconds)
2025-02-11 03:25:54 +0100[_________](~oos95GWG@user/oos95GWG) (Ping timeout: 248 seconds)
2025-02-11 03:26:46 +0100ggVGc(~ggVGc@a.lowtech.earth)
2025-02-11 03:26:47 +0100[_________](~oos95GWG@user/oos95GWG) oos95GWG
2025-02-11 03:28:21 +0100Axma24393Axman6
2025-02-11 03:29:36 +0100 <haskellbridge> <thirdofmay18081814goya> Where is lens' Fold composition defined?
2025-02-11 03:29:41 +0100yegorc(~yegorc@user/yegorc) (Leaving)
2025-02-11 03:33:58 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 03:35:10 +0100 <c_wraith> a Fold is still a function of shape `(a -> f b) -> s -> f t', so they compose with (.) like every other optic
2025-02-11 03:35:46 +0100 <c_wraith> The only thing special about a Fold is that they add a Contravariant constraint to f
2025-02-11 03:36:49 +0100 <c_wraith> which when combined with the Applicative constraint means that you can't use them with any choice of f that would actually contain a t
2025-02-11 03:39:08 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-02-11 03:40:39 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-11 03:45:14 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 265 seconds)
2025-02-11 03:49:21 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 03:53:55 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-02-11 03:53:56 +0100m5zs7k(aquares@web10.mydevil.net) (Ping timeout: 268 seconds)
2025-02-11 03:58:16 +0100 <haskellbridge> <thirdofmay18081814goya> ah right ok I see, ty!
2025-02-11 03:58:41 +0100Square3(~Square@user/square) Square
2025-02-11 03:59:48 +0100tri(~tri@ool-44c70bcb.dyn.optonline.net)
2025-02-11 04:00:14 +0100Square3Square
2025-02-11 04:01:05 +0100chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2025-02-11 04:01:47 +0100chiselfuse(~chiselfus@user/chiselfuse) chiselfuse
2025-02-11 04:04:43 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 04:09:08 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-02-11 04:20:05 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 04:21:28 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 252 seconds)
2025-02-11 04:23:14 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-02-11 04:24:33 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-11 04:28:38 +0100tri(~tri@ool-44c70bcb.dyn.optonline.net) (Remote host closed the connection)
2025-02-11 04:30:55 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-11 04:33:34 +0100m5zs7k(aquares@web10.mydevil.net) m5zs7k
2025-02-11 04:35:02 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-02-11 04:35:02 +0100tri(~tri@ool-44c70bcb.dyn.optonline.net)
2025-02-11 04:35:28 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 04:42:12 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-02-11 04:43:34 +0100manwithluck`(~manwithlu@2a09:bac1:5be0:20::49:de) (Remote host closed the connection)
2025-02-11 04:47:19 +0100hattckory(~hattckry@user/hattckory) hattckory
2025-02-11 04:51:30 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 244 seconds)
2025-02-11 04:53:20 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-02-11 04:53:31 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 04:53:48 +0100hattckoryattk
2025-02-11 04:57:53 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-02-11 04:57:54 +0100tavare(~tavare@user/tavare) tavare
2025-02-11 05:04:17 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-02-11 05:08:52 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 05:13:37 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-11 05:18:08 +0100Googulator28(~Googulato@2a01-036d-0106-4074-758c-12a1-cbb4-05eb.pool6.digikabel.hu) (Quit: Client closed)
2025-02-11 05:18:23 +0100Googulator28(~Googulato@2a01-036d-0106-4074-758c-12a1-cbb4-05eb.pool6.digikabel.hu)
2025-02-11 05:18:58 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-11 05:21:52 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-02-11 05:23:26 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-02-11 05:24:16 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 05:28:42 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-02-11 05:33:48 +0100infinity0(~infinity0@pwned.gg) (Ping timeout: 252 seconds)
2025-02-11 05:34:03 +0100attk(~hattckry@user/hattckory) (Quit: attk)
2025-02-11 05:35:32 +0100foul_owl(~kerry@193.42.0.122) (Ping timeout: 252 seconds)
2025-02-11 05:38:09 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds)
2025-02-11 05:39:39 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 05:43:58 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-11 05:48:10 +0100lol_(~lol@2603:3016:1e01:b9c0:f7:4b70:33ec:27a0)
2025-02-11 05:48:17 +0100foul_owl(~kerry@193.42.0.122) foul_owl
2025-02-11 05:51:03 +0100aforemny(~aforemny@2001:9e8:6cfe:5000:87c7:acaa:b551:71f7) (Ping timeout: 246 seconds)
2025-02-11 05:51:46 +0100aforemny(~aforemny@i59F4C4A3.versanet.de) aforemny
2025-02-11 05:52:39 +0100jcarpenter2(~lol@2603:3016:1e01:b9c0:41a0:c194:66be:75a1) (Ping timeout: 276 seconds)
2025-02-11 05:54:10 +0100m5zs7k(aquares@web10.mydevil.net) (Ping timeout: 248 seconds)
2025-02-11 05:54:36 +0100infinity0(~infinity0@pwned.gg) infinity0
2025-02-11 05:55:01 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 05:58:53 +0100m5zs7k(aquares@web10.mydevil.net) m5zs7k
2025-02-11 05:59:16 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-02-11 05:59:29 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-11 06:07:22 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-11 06:10:25 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 06:11:44 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 260 seconds)
2025-02-11 06:14:02 +0100emmanuelux(~emmanuelu@user/emmanuelux) (Quit: au revoir)
2025-02-11 06:14:24 +0100mrmr155334346318(~mrmr@user/mrmr) (Ping timeout: 252 seconds)
2025-02-11 06:17:05 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-11 06:23:54 +0100tri(~tri@ool-44c70bcb.dyn.optonline.net) (Remote host closed the connection)
2025-02-11 06:24:33 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 248 seconds)
2025-02-11 06:24:41 +0100tri(~tri@ool-44c70bcb.dyn.optonline.net)
2025-02-11 06:26:26 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-02-11 06:28:28 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 06:29:21 +0100tri(~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 248 seconds)
2025-02-11 06:32:27 +0100attk(~attk@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca) attk
2025-02-11 06:33:05 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-11 06:35:09 +0100 <haskellbridge> <thirdofmay18081814goya> does anyone have examples of transformations that are particularly clearly expressed using profunctor optics?
2025-02-11 06:35:40 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2025-02-11 06:38:14 +0100foul_owl(~kerry@193.42.0.122) (Ping timeout: 252 seconds)
2025-02-11 06:39:13 +0100tri(~tri@ool-44c70bcb.dyn.optonline.net)
2025-02-11 06:43:30 +0100fmira(~user@user/fmira) fmira
2025-02-11 06:43:49 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 06:48:08 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-11 06:50:54 +0100tri(~tri@ool-44c70bcb.dyn.optonline.net) (Remote host closed the connection)
2025-02-11 06:52:16 +0100Square2(~Square4@user/square) Square
2025-02-11 06:52:42 +0100foul_owl(~kerry@174-21-138-88.tukw.qwest.net) foul_owl
2025-02-11 06:53:16 +0100Square(~Square@user/square) (Ping timeout: 252 seconds)
2025-02-11 06:55:26 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-11 06:57:35 +0100lunitur(~lunitur@86.33.73.151) (Ping timeout: 265 seconds)
2025-02-11 06:59:13 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 06:59:45 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 248 seconds)
2025-02-11 07:02:56 +0100hgolden(~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) (Remote host closed the connection)
2025-02-11 07:03:29 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-11 07:04:02 +0100hattckory(~hattckory@user/hattckory) hattckory
2025-02-11 07:08:22 +0100hgolden(~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) hgolden
2025-02-11 07:09:18 +0100michalz(~michalz@185.246.207.200)
2025-02-11 07:13:30 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 07:16:22 +0100JeremyB99(~JeremyB99@dhcp-251-168.resnet.purdue.edu)
2025-02-11 07:16:27 +0100Googulator31(~Googulato@2a01-036d-0106-4074-758c-12a1-cbb4-05eb.pool6.digikabel.hu)
2025-02-11 07:17:25 +0100takuan(~takuan@d8D86B601.access.telenet.be)
2025-02-11 07:17:53 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-11 07:18:08 +0100Googulator28(~Googulato@2a01-036d-0106-4074-758c-12a1-cbb4-05eb.pool6.digikabel.hu) (Quit: Client closed)
2025-02-11 07:18:34 +0100lunitur(~lunitur@86.33.95.148)
2025-02-11 07:28:04 +0100hattckory(~hattckory@user/hattckory) (Remote host closed the connection)
2025-02-11 07:28:19 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca)
2025-02-11 07:28:52 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 07:29:43 +0100misterfish(~misterfis@84.53.85.146) misterfish
2025-02-11 07:32:52 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 252 seconds)
2025-02-11 07:33:09 +0100tnt1(~Thunderbi@user/tnt1) tnt1
2025-02-11 07:33:14 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-11 07:33:57 +0100mrmr155334346318(~mrmr@user/mrmr) mrmr
2025-02-11 07:34:37 +0100tri(~tri@ool-44c70bcb.dyn.optonline.net)
2025-02-11 07:38:33 +0100mrmr155334346318(~mrmr@user/mrmr) (Read error: Connection reset by peer)
2025-02-11 07:38:54 +0100tri(~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 244 seconds)
2025-02-11 07:39:53 +0100 <dminuoso> thirdofmay18081814goya: What do you mean by transformations?
2025-02-11 07:40:29 +0100mange(~user@user/mange) (Quit: Quittin' time!)
2025-02-11 07:40:55 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-11 07:43:11 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-11 07:44:53 +0100 <haskellbridge> <thirdofmay18081814goya> dminuoso: the applying of a lens and an action to a datatype
2025-02-11 07:45:09 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-11 07:45:17 +0100 <dminuoso> They dont differ from van laarhoven or the mixed (van laarhoven + profunctor-style) in that sense.
2025-02-11 07:45:25 +0100 <dminuoso> Profunctors are an implementation detail here.
2025-02-11 07:46:14 +0100 <haskellbridge> <thirdofmay18081814goya> we'd expect composition to be easier when using a higher abstraction no?
2025-02-11 07:46:29 +0100 <haskellbridge> <Bowuigi> thirdofmay18081814goya cleanly wrt VL lenses or in general?
2025-02-11 07:47:13 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 248 seconds)
2025-02-11 07:47:18 +0100 <haskellbridge> <thirdofmay18081814goya> Bowuigi: in general
2025-02-11 07:47:57 +0100 <haskellbridge> <thirdofmay18081814goya> it's not a rigorous question tbh, I'm just looking for personal opinions of instructive usages of the profunctor encoding
2025-02-11 07:49:21 +0100 <haskellbridge> <Bowuigi> Ah, the nice part of the profunctor encoding is that you have access to the profunctor API. But since arrows are profunctors it doesn't make much of a difference wrt VL lenses
2025-02-11 07:49:40 +0100ft(~ft@p4fc2a610.dip0.t-ipconnect.de) (Quit: leaving)
2025-02-11 07:51:06 +0100 <haskellbridge> <Bowuigi> But switching the underlying profunctor that you use in a combined VL/profunctor optic could help yeah
2025-02-11 07:51:53 +0100 <haskellbridge> <Bowuigi> Like, to get effectful lenses over Kleisli or something like that
2025-02-11 07:52:26 +0100 <haskellbridge> <thirdofmay18081814goya> hm I see
2025-02-11 07:59:09 +0100 <haskellbridge> <Bowuigi> I had a "type Optic p f s t a b = p a (f b) -> p s (f t)" sitting around my projects
2025-02-11 07:59:56 +0100 <haskellbridge> <Bowuigi> Oddly enough the definition on profunctor-optics is "type Optic p s t a b = p a b -> p s t", which is equivalent
2025-02-11 08:04:10 +0100 <haskellbridge> <Bowuigi> Namely, "Optic1 p f s t a b = Optic2 (\x y -> p x (f y)) s t a b" and "Optic2 p s t a b = Optic1 p Identity s t a b"
2025-02-11 08:06:16 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca) (Remote host closed the connection)
2025-02-11 08:06:26 +0100 <haskellbridge> <thirdofmay18081814goya> huh I haven't encountered a case where "f" is not the identity functor yet
2025-02-11 08:06:30 +0100 <haskellbridge> <thirdofmay18081814goya> what did you use it for?
2025-02-11 08:08:21 +0100sabathan(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer)
2025-02-11 08:08:26 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 252 seconds)
2025-02-11 08:08:27 +0100tnt2(~Thunderbi@user/tnt1) tnt1
2025-02-11 08:09:19 +0100 <haskellbridge> <Bowuigi> It's a bit nicer to write VL lenses with it. For example, the usual Lens (not generalizing over the profunctor) is just "forall f. Functor f => Optic (->) f s t a b"
2025-02-11 08:09:36 +0100polykernel_(~polykerne@user/polykernel) polykernel
2025-02-11 08:10:41 +0100 <haskellbridge> <Bowuigi> Similar syntax can be achieved for the rest of the hierarchy using constraints, like how lens does it but with much less type aliases
2025-02-11 08:10:42 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca)
2025-02-11 08:10:44 +0100tnt2tnt1
2025-02-11 08:11:53 +0100sabathan(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-02-11 08:12:20 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca) (Remote host closed the connection)
2025-02-11 08:12:34 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca)
2025-02-11 08:13:28 +0100polykernel(~polykerne@user/polykernel) (Ping timeout: 265 seconds)
2025-02-11 08:13:29 +0100polykernel_polykernel
2025-02-11 08:14:41 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca) (Remote host closed the connection)
2025-02-11 08:15:01 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca)
2025-02-11 08:15:09 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca) (Remote host closed the connection)
2025-02-11 08:15:34 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca)
2025-02-11 08:17:34 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 260 seconds)
2025-02-11 08:20:10 +0100polykernel(~polykerne@user/polykernel) (Ping timeout: 252 seconds)
2025-02-11 08:21:27 +0100tnt1(~Thunderbi@user/tnt1) tnt1
2025-02-11 08:21:48 +0100 <haskellbridge> <thirdofmay18081814goya> oh cool
2025-02-11 08:22:26 +0100 <dminuoso> One should say, that VL lenses themselves are an ancient construct that is not used by `lens` either.
2025-02-11 08:22:38 +0100 <dminuoso> Lens uses an encoding that is a mixture of VL and profunctor.
2025-02-11 08:23:10 +0100CiaoSen(~Jura@2a02:8071:64e1:7180:4e50:ddff:fe9b:8922) CiaoSen
2025-02-11 08:23:28 +0100 <dminuoso> thirdofmay18081814goya: The big advantage of the profunctor encoding is that the implementation becomes completely uniform, there's no weird encodings depending on the type of optic.
2025-02-11 08:23:36 +0100 <dminuoso> Like `lens` has.
2025-02-11 08:26:06 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca) (Remote host closed the connection)
2025-02-11 08:26:21 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca)
2025-02-11 08:27:00 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca) (Remote host closed the connection)
2025-02-11 08:27:16 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca)
2025-02-11 08:28:47 +0100akegalj(~akegalj@78-3-100-82.adsl.net.t-com.hr) akegalj
2025-02-11 08:30:40 +0100 <energizer> am i missing anything relevant? https://bpa.st/CF7A
2025-02-11 08:30:53 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-11 08:31:47 +0100 <haskellbridge> <thirdofmay18081814goya> dminuoso: ah that's nice
2025-02-11 08:35:13 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 248 seconds)
2025-02-11 08:35:26 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca) (Remote host closed the connection)
2025-02-11 08:35:40 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca)
2025-02-11 08:36:05 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca) (Remote host closed the connection)
2025-02-11 08:36:28 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca)
2025-02-11 08:36:48 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca) (Remote host closed the connection)
2025-02-11 08:36:58 +0100CiaoSen(~Jura@2a02:8071:64e1:7180:4e50:ddff:fe9b:8922) (Ping timeout: 272 seconds)
2025-02-11 08:37:02 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca)
2025-02-11 08:38:35 +0100CiaoSen(~Jura@2a02:8071:64e1:7180:4e50:ddff:fe9b:8922) CiaoSen
2025-02-11 08:40:06 +0100sawilagar(~sawilagar@user/sawilagar) sawilagar
2025-02-11 08:44:49 +0100CiaoSen(~Jura@2a02:8071:64e1:7180:4e50:ddff:fe9b:8922) (Ping timeout: 248 seconds)
2025-02-11 08:47:09 +0100CiaoSen(~Jura@ip-037-201-241-067.um10.pools.vodafone-ip.de) CiaoSen
2025-02-11 08:52:35 +0100tri(~tri@ool-44c70bcb.dyn.optonline.net)
2025-02-11 08:55:54 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca) (Remote host closed the connection)
2025-02-11 08:57:03 +0100tri(~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 245 seconds)
2025-02-11 08:58:00 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca)
2025-02-11 08:58:34 +0100dtman34(~dtman34@c-75-72-179-251.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
2025-02-11 08:58:45 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca) (Remote host closed the connection)
2025-02-11 08:58:48 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2025-02-11 08:58:53 +0100sord937(~sord937@gateway/tor-sasl/sord937) sord937
2025-02-11 08:58:59 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca)
2025-02-11 09:00:01 +0100caconym(~caconym@user/caconym) (Quit: bye)
2025-02-11 09:00:33 +0100dtman34(~dtman34@2601:447:d000:1f5e:74c2:4ec:de8d:13d3) dtman34
2025-02-11 09:00:40 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2025-02-11 09:00:50 +0100caconym(~caconym@user/caconym) caconym
2025-02-11 09:00:51 +0100 <ski> energizer : occasionally `(<*>>) :: f (a -> f b) -> f a -> f b' is useful (`frob <$> foo <*> bar <*> baz <*>> quux')
2025-02-11 09:02:07 +0100 <energizer> ski: i don't see that on hoogle. is that a recognized thing?
2025-02-11 09:02:21 +0100 <ski> custom think i define, at times
2025-02-11 09:03:38 +0100misterfish(~misterfis@84.53.85.146) (Ping timeout: 244 seconds)
2025-02-11 09:04:21 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca) (Remote host closed the connection)
2025-02-11 09:04:21 +0100 <ski> imagine (with `Monad f') `frob :: a -> b -> c -> d -> f e', `foo :: f a', `bar :: f b', `baz :: f c', `quux :: f d', and then `frob <$> foo <*> bar <*> baz <*>> quux :: f e'
2025-02-11 09:04:35 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca)
2025-02-11 09:04:59 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca) (Remote host closed the connection)
2025-02-11 09:05:07 +0100 <ski> allows you to use the idiomatic/applicative combinators with an occasional monadic `join' effect
2025-02-11 09:05:13 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca)
2025-02-11 09:06:51 +0100 <energizer> interesting
2025-02-11 09:06:54 +0100 <dminuoso> thirdofmay18081814goya: For instance, consider type IndexedFold i s a = forall p f. (Indexable i p, Contravariant f, Applicative f) => p a (f a) -> s -> f s
2025-02-11 09:07:02 +0100 <ski> @hoogle (a -> f b) -> f (a -> b)
2025-02-11 09:07:02 +0100 <lambdabot> No results found
2025-02-11 09:08:15 +0100 <ski> energizer : because it can get annoying, cluttered, to have to write `join (frob <$> foo <*> bar <*> baz <*> quux)'
2025-02-11 09:08:17 +0100 <haskellbridge> <thirdofmay18081814goya> dminuoso: any chance you know of an example?
2025-02-11 09:08:33 +0100 <dminuoso> Just gave you one.
2025-02-11 09:08:47 +0100 <haskellbridge> <thirdofmay18081814goya> I meant a particular action on it
2025-02-11 09:10:05 +0100 <ski> (that `(a -> f b) -> f (a -> b)' would be kinda opposite of `(??) :: f (a -> b) -> a -> f b'. would only work for quite special `f's)