2024/03/12

2024-03-12 00:04:12 +0100acidjnk_new3(~acidjnk@p200300d6e737e7747555095b6f843b59.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2024-03-12 00:05:55 +0100incertia(~incertia@209.122.137.252) (Ping timeout: 260 seconds)
2024-03-12 00:10:05 +0100incertia(~incertia@209.122.137.252)
2024-03-12 00:13:31 +0100Lycurgus(~georg@user/Lycurgus) (Quit: leaving)
2024-03-12 00:15:35 +0100srz(~srz@181.228.49.93) (Ping timeout: 264 seconds)
2024-03-12 00:17:27 +0100gmg(~user@user/gehmehgeh) (Quit: Leaving)
2024-03-12 00:30:21 +0100remedan(~remedan@ip-78-102-118-253.bb.vodafone.cz) (Quit: Bye!)
2024-03-12 00:33:43 +0100remedan(~remedan@ip-78-102-118-253.bb.vodafone.cz)
2024-03-12 00:42:47 +0100mandober(~mandober@109.245.206.36)
2024-03-12 00:43:44 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
2024-03-12 00:44:17 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-03-12 00:46:55 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2024-03-12 00:48:50 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 252 seconds)
2024-03-12 00:49:48 +0100srz(~srz@181.228.49.93)
2024-03-12 00:56:09 +0100mandober(~mandober@109.245.206.36) (Quit: Connection closed)
2024-03-12 01:04:19 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-03-12 01:16:57 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-03-12 01:26:13 +0100srz(~srz@181.228.49.93) (Ping timeout: 264 seconds)
2024-03-12 01:27:30 +0100califax(~califax@user/califx) (Quit: ZNC 1.8.2 - https://znc.in)
2024-03-12 01:27:39 +0100califax_(~califax@user/califx)
2024-03-12 01:28:51 +0100califax_califax
2024-03-12 01:30:48 +0100Inst_Inst
2024-03-12 01:34:29 +0100lg188(~lg188@82.18.98.230) (Quit: Ping timeout (120 seconds))
2024-03-12 01:35:07 +0100lg188(~lg188@82.18.98.230)
2024-03-12 01:37:35 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-03-12 01:45:29 +0100FeuermagierGuest9916
2024-03-12 01:45:29 +0100Feuermagier_(~Feuermagi@user/feuermagier)
2024-03-12 01:45:29 +0100Guest9916(~Feuermagi@user/feuermagier) (Killed (zinc.libera.chat (Nickname regained by services)))
2024-03-12 01:45:29 +0100Feuermagier_Feuermagier
2024-03-12 02:01:51 +0100TonyStone(~TonyStone@074-076-057-186.res.spectrum.com)
2024-03-12 02:02:04 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2024-03-12 02:03:09 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 272 seconds)
2024-03-12 02:04:42 +0100rvalue(~rvalue@user/rvalue) (Ping timeout: 268 seconds)
2024-03-12 02:08:11 +0100benjaminl(~benjaminl@user/benjaminl) (Read error: Connection reset by peer)
2024-03-12 02:08:26 +0100benjaminl(~benjaminl@user/benjaminl)
2024-03-12 02:09:49 +0100oo_miguel(~Thunderbi@78-11-181-16.static.ip.netia.com.pl) (Ping timeout: 256 seconds)
2024-03-12 02:15:37 +0100rvalue(~rvalue@user/rvalue)
2024-03-12 02:20:18 +0100benjaminl(~benjaminl@user/benjaminl) (Read error: Connection reset by peer)
2024-03-12 02:20:33 +0100benjaminl(~benjaminl@user/benjaminl)
2024-03-12 02:27:24 +0100dsrt^(~cd@c-98-242-74-66.hsd1.ga.comcast.net)
2024-03-12 02:33:03 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-03-12 02:34:11 +0100amjoseph(~amjoseph@static-198-44-128-146.cust.tzulo.com) (Ping timeout: 272 seconds)
2024-03-12 02:37:44 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 252 seconds)
2024-03-12 02:39:10 +0100amjoseph(~amjoseph@static-198-44-128-146.cust.tzulo.com)
2024-03-12 02:45:17 +0100Square(~Square@user/square)
2024-03-12 02:50:40 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-03-12 02:53:24 +0100xff0x(~xff0x@ai082039.d.east.v6connect.net) (Ping timeout: 255 seconds)
2024-03-12 02:56:19 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
2024-03-12 02:56:59 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 272 seconds)
2024-03-12 02:58:02 +0100Feuermagier(~Feuermagi@user/feuermagier) (Quit: Leaving)
2024-03-12 03:01:55 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds)
2024-03-12 03:02:19 +0100ski(~ski@ext-1-033.eduroam.chalmers.se) (Ping timeout: 260 seconds)
2024-03-12 03:04:22 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2024-03-12 03:22:31 +0100Feuermagier(~Feuermagi@user/feuermagier)
2024-03-12 03:23:54 +0100cheater_(~Username@user/cheater)
2024-03-12 03:24:40 +0100cheater(~Username@user/cheater) (Ping timeout: 256 seconds)
2024-03-12 03:24:40 +0100cheater_cheater
2024-03-12 03:26:26 +0100cowboy861(~cowboy@2001-48F8-4002-1DC-4041-DBE2-85D9-A794-dynamic.midco.net)
2024-03-12 03:27:17 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-03-12 03:27:59 +0100cowboy861(~cowboy@2001-48F8-4002-1DC-4041-DBE2-85D9-A794-dynamic.midco.net) (Client Quit)
2024-03-12 03:36:15 +0100emmanuelux(~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
2024-03-12 03:36:58 +0100emmanuelux(~emmanuelu@user/emmanuelux)
2024-03-12 03:37:04 +0100mmhat(~mmh@p200300f1c73c2256ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2024-03-12 03:39:30 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2024-03-12 03:39:55 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 256 seconds)
2024-03-12 03:40:40 +0100otto_s(~user@93.226.245.124) (Ping timeout: 255 seconds)
2024-03-12 03:42:21 +0100otto_s(~user@p5b044b17.dip0.t-ipconnect.de)
2024-03-12 03:50:27 +0100mmhat(~mmh@p200300f1c70d3313ee086bfffe095315.dip0.t-ipconnect.de)
2024-03-12 04:02:31 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
2024-03-12 04:03:11 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-03-12 04:04:06 +0100ski(~ski@ext-1-033.eduroam.chalmers.se)
2024-03-12 04:12:35 +0100ski(~ski@ext-1-033.eduroam.chalmers.se) (Ping timeout: 264 seconds)
2024-03-12 04:15:02 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
2024-03-12 04:19:29 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2024-03-12 04:27:54 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds)
2024-03-12 04:31:02 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-03-12 04:37:43 +0100ski(~ski@ext-1-033.eduroam.chalmers.se)
2024-03-12 04:42:07 +0100notzmv(~daniel@user/notzmv) (Ping timeout: 272 seconds)
2024-03-12 04:56:23 +0100td_(~td@i53870932.versanet.de) (Ping timeout: 264 seconds)
2024-03-12 04:57:20 +0100notzmv(~daniel@user/notzmv)
2024-03-12 04:57:56 +0100td_(~td@i5387092D.versanet.de)
2024-03-12 04:58:20 +0100 <tri> hi, im looking at eitherT monad transfomer, EitherT e m a = EitherT { runEitherT :: m (Either e a) }
2024-03-12 04:58:33 +0100 <tri> i don't get why the order of e m a is that way
2024-03-12 04:58:58 +0100 <tri> why can't i swap them so that it's EitherT m e a?
2024-03-12 05:02:56 +0100 <monochrom> It is much more usual to fix e, consider "EitherT e" as one single thing Foo, then we are transforming m to Foo m.
2024-03-12 05:04:35 +0100 <monochrom> Indeed by the time you write "instance MonadTrans (EitherT ???)" then putting m first makes no sense, whereas "instance MonadTrans (EitherT e)" is the only legal choice.
2024-03-12 05:05:43 +0100motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 255 seconds)
2024-03-12 05:08:43 +0100 <tri> hmm i don't get it. So for a being at the end, i understand it, because for that's the order needed to implement Functor. As in, Functor (EitherT e m)
2024-03-12 05:09:53 +0100 <monochrom> So try writing MonadTrans and see how many choices you have. (One.)
2024-03-12 05:10:51 +0100 <monochrom> "Positive" thinking is overrated. Sometimes "negative" thinking is the way to go. There are 6 choices, but 5 of them make no sense. Therefore the remaining one does.
2024-03-12 05:11:20 +0100 <monochrom> Or more rigorously, s/make no sense/is provably broken/
2024-03-12 05:11:34 +0100 <tri> hmm i haven't seen monadtrans yet, is that the typeclass that provide the lift function?
2024-03-12 05:11:44 +0100 <monochrom> Yes.
2024-03-12 05:11:47 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-03-12 05:11:51 +0100 <tri> ah i haven't read to that part yet
2024-03-12 05:12:10 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2024-03-12 05:12:12 +0100 <tri> im just reading at writing functor, applicative and monad instance for monad transformers
2024-03-12 05:12:26 +0100 <tri> and because they are so lengthy, i skimmed most of them
2024-03-12 05:12:41 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2024-03-12 05:12:50 +0100 <tri> so when i look at EitherT, i wonder why the order of the type arguments are that way
2024-03-12 05:13:59 +0100liskin(~liskin@xmonad/liskin) (Remote host closed the connection)
2024-03-12 05:14:11 +0100 <monochrom> This is why we of the older generation believes (correctly) that the young generation is learning nothing. None. Zilch.
2024-03-12 05:14:42 +0100 <monochrom> And the most right-wing reactionary of us want to bring back RTFM.
2024-03-12 05:15:38 +0100liskin(~liskin@xmonad/liskin)
2024-03-12 05:18:22 +0100motherfsck(~motherfsc@user/motherfsck)
2024-03-12 05:19:59 +0100mulk(~mulk@pd951476c.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2024-03-12 05:20:32 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-03-12 05:21:20 +0100mulk(~mulk@p5b2dc406.dip0.t-ipconnect.de)
2024-03-12 05:21:29 +0100aforemny(~aforemny@2001:9e8:6cf5:5c00:49a:ce0c:787c:65b3)
2024-03-12 05:21:51 +0100aforemny_(~aforemny@i59F516E8.versanet.de) (Ping timeout: 260 seconds)
2024-03-12 05:25:12 +0100mmhat(~mmh@p200300f1c70d3313ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.2.1)
2024-03-12 05:28:10 +0100 <probie> You mean "ask ChatGPT what the manual says" :p
2024-03-12 05:28:22 +0100 <monochrom> :(
2024-03-12 05:28:26 +0100 <monochrom> :D
2024-03-12 05:30:30 +0100 <int-e> so if ChatGPT makes the contents up on the spot would that be a manual override?
2024-03-12 05:31:18 +0100 <int-e> (this would work better if ChatGPT actually *knew* stuff)
2024-03-12 05:32:53 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-03-12 05:33:25 +0100notzmv(~daniel@user/notzmv) (Ping timeout: 272 seconds)
2024-03-12 05:38:55 +0100Inst(~Inst@120.244.192.27) (Ping timeout: 256 seconds)
2024-03-12 05:43:01 +0100RedNifre(~RedNifre@dslb-002-205-008-195.002.205.pools.vodafone-ip.de) (Ping timeout: 264 seconds)
2024-03-12 05:47:25 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 256 seconds)
2024-03-12 05:48:02 +0100mulk(~mulk@p5b2dc406.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2024-03-12 05:52:21 +0100mulk(~mulk@p5b2dc4c2.dip0.t-ipconnect.de)
2024-03-12 05:55:17 +0100ania123(~ania123@146.255.226.194)
2024-03-12 05:55:23 +0100Guest18(~Guest18@2601:204:f083:6c50:e1e:7d31:f492:223d)
2024-03-12 05:57:01 +0100RedNifre(~RedNifre@dslb-002-206-121-180.002.206.pools.vodafone-ip.de)
2024-03-12 05:58:29 +0100 <EvanR> the meaning of actually knowing
2024-03-12 05:59:00 +0100 <EvanR> after reading anything from chatgpt I question if I know anything or ever did
2024-03-12 06:08:06 +0100michalz(~michalz@185.246.207.203)
2024-03-12 06:17:33 +0100Guest18(~Guest18@2601:204:f083:6c50:e1e:7d31:f492:223d) (Ping timeout: 250 seconds)
2024-03-12 06:20:37 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-03-12 06:21:24 +0100benjaminl(~benjaminl@user/benjaminl) (Read error: Connection reset by peer)
2024-03-12 06:21:40 +0100benjaminl(~benjaminl@user/benjaminl)
2024-03-12 06:23:23 +0100rainbyte(~rainbyte@186.22.19.215) (Ping timeout: 264 seconds)
2024-03-12 06:28:38 +0100ania123(~ania123@146.255.226.194) (Quit: Client closed)
2024-03-12 06:30:19 +0100benjaminl(~benjaminl@user/benjaminl) (Read error: Connection reset by peer)
2024-03-12 06:30:34 +0100benjaminl(~benjaminl@user/benjaminl)
2024-03-12 06:30:57 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
2024-03-12 06:36:38 +0100Square2(~Square4@user/square)
2024-03-12 06:37:21 +0100benjaminl(~benjaminl@user/benjaminl) (Remote host closed the connection)
2024-03-12 06:39:25 +0100Square(~Square@user/square) (Ping timeout: 264 seconds)
2024-03-12 06:41:34 +0100elkcl(~elkcl@broadband-95-84-176-204.ip.moscow.rt.ru) (Ping timeout: 255 seconds)
2024-03-12 07:03:14 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan) (Quit: _)
2024-03-12 07:03:53 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan)
2024-03-12 07:04:44 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2024-03-12 07:05:06 +0100Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 256 seconds)
2024-03-12 07:05:46 +0100Maxdamantus(~Maxdamant@user/maxdamantus)
2024-03-12 07:08:15 +0100audaine(~gentoo@2601:5cf:8000:7960:4be0:890f:3fe7:f011)
2024-03-12 07:10:30 +0100elkcl(~elkcl@broadband-95-84-176-204.ip.moscow.rt.ru)
2024-03-12 07:12:15 +0100julie_pilgrim(~julie_pil@user/julie-pilgrim/x-1240752)
2024-03-12 07:14:18 +0100koz(~koz@121.99.240.58) (Quit: ZNC 1.8.2 - https://znc.in)
2024-03-12 07:16:05 +0100koz(~koz@121.99.240.58)
2024-03-12 07:16:12 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-03-12 07:17:11 +0100igemnace(~ian@user/igemnace)
2024-03-12 07:17:45 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2024-03-12 07:20:24 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 256 seconds)
2024-03-12 07:24:15 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-12 07:27:11 +0100acidjnk_new3(~acidjnk@p200300d6e737e788d91e6e3566650313.dip0.t-ipconnect.de)
2024-03-12 07:33:28 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-12 07:35:22 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
2024-03-12 07:37:12 +0100euleritian(~euleritia@dynamic-176-006-190-100.176.6.pool.telefonica.de)
2024-03-12 07:43:59 +0100Inst(~Inst@120.244.192.27)
2024-03-12 07:52:40 +0100dtman34(~dtman34@2601:447:d001:ed50:71b1:9fdc:d135:745b) (Ping timeout: 255 seconds)
2024-03-12 07:57:15 +0100elkcl(~elkcl@broadband-95-84-176-204.ip.moscow.rt.ru) (Ping timeout: 260 seconds)
2024-03-12 07:57:45 +0100zetef(~quassel@95.77.17.251)
2024-03-12 08:00:38 +0100stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds)
2024-03-12 08:15:09 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-12 08:16:40 +0100 <Inst> hmmm
2024-03-12 08:16:46 +0100 <Inst> actually, isn't reverse on lists O(1)? ;)
2024-03-12 08:17:11 +0100 <Inst> All of a sudden saw some slide that reads O(n) reverse
2024-03-12 08:17:22 +0100ccapndave(~ccapndave@xcpe-62-167-165-159.cgn.res.adslplus.ch)
2024-03-12 08:17:41 +0100 <Inst> actually, nope, even under laziness you can't get it to avoid being O(n) :(
2024-03-12 08:17:49 +0100ccapndave(~ccapndave@xcpe-62-167-165-159.cgn.res.adslplus.ch) (Client Quit)
2024-03-12 08:19:22 +0100 <Inst> but under laziness, reverse on a vector / array is O(1), right? ;)
2024-03-12 08:20:10 +0100dtman34(~dtman34@c-75-72-163-222.hsd1.mn.comcast.net)
2024-03-12 08:22:06 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds)
2024-03-12 08:27:15 +0100julie_pilgrim(~julie_pil@user/julie-pilgrim/x-1240752) (Remote host closed the connection)
2024-03-12 08:38:19 +0100elkcl(~elkcl@broadband-178-140-136-65.ip.moscow.rt.ru)
2024-03-12 08:39:45 +0100chele(~chele@user/chele)
2024-03-12 08:39:58 +0100enyc(~enyc@user/enyc)
2024-03-12 08:40:24 +0100bgamari_(~bgamari@64.223.200.57) (Ping timeout: 260 seconds)
2024-03-12 08:41:20 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2024-03-12 08:42:03 +0100bgamari(~bgamari@64.223.157.69)
2024-03-12 08:44:58 +0100danza(~francesco@151.35.230.238)
2024-03-12 08:47:37 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-03-12 08:59:07 +0100 <c_wraith> Inst: not for any standard way I'd measure. but laziness requires you to be a bit more precise. applying reverse to a vector and not demanding evaluation is O(1), sure. But demanding any element of it will require the whole thing to be rebuilt, so the first access is O(n). Then it's evaluated, and subsequent uses will be O(1)
2024-03-12 09:01:11 +0100gmg(~user@user/gehmehgeh)
2024-03-12 09:01:20 +0100 <opqdonut> for an suitable indexed structure you _could_ define a synthetic O(1) reverse that just toggles the order of indexing
2024-03-12 09:01:46 +0100 <opqdonut> c.f. O(1) slices of vectors
2024-03-12 09:02:19 +0100 <opqdonut> I don't think any data structure ships with that, but for an application that does lots of reversing and rereversing it might make sense to roll one yourself
2024-03-12 09:07:09 +0100euleritian(~euleritia@dynamic-176-006-190-100.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-03-12 09:07:39 +0100 <danza> there is no double-linked list?
2024-03-12 09:07:59 +0100 <c_wraith> doubly linked lists are really hard in a language with immutable data.
2024-03-12 09:08:30 +0100euleritian(~euleritia@77.22.252.56)
2024-03-12 09:09:12 +0100oo_miguel(~Thunderbi@78-11-181-16.static.ip.netia.com.pl)
2024-03-12 09:09:41 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2024-03-12 09:10:06 +0100 <c_wraith> Not impossible, but it's very implausible to find a use case where they have better performance properties than a vector or something based on them.
2024-03-12 09:10:31 +0100misterfish(~misterfis@87.215.131.102)
2024-03-12 09:10:41 +0100 <danza> differently sized elements
2024-03-12 09:10:58 +0100igemnace(~ian@user/igemnace) (Quit: WeeChat 4.2.1)
2024-03-12 09:11:14 +0100igemnace(~ian@user/igemnace)
2024-03-12 09:11:24 +0100 <probie> danza: what _is_ a double-linked list to you? If you actually think you need one, you can probably get away with `([a], [a])`
2024-03-12 09:13:24 +0100 <danza> i guess usually one would want to be able to find the prev/next element having an element
2024-03-12 09:14:05 +0100 <c_wraith> doubly-linked lists are *awful* for that
2024-03-12 09:14:25 +0100 <c_wraith> unless you mean you have a pointer into the list, rather than a value equal to one thing it stores
2024-03-12 09:14:40 +0100 <c_wraith> If what you have is a pointer into the list, it's basically ([a], a, [a])
2024-03-12 09:15:09 +0100CiaoSen(~Jura@2a05:5800:2d5:5500:e6b9:7aff:fe80:3d03)
2024-03-12 09:15:19 +0100 <danza> yeah but without using references i guess an element would have references to the others in its value
2024-03-12 09:19:53 +0100 <danza> sorry i expressed quite poorly ... ([a], a, [a]) anyways looks odd to me, updates would be a nightmare?
2024-03-12 09:21:04 +0100 <danza> that is why it seems to make sense only as references or an index to some other data structure
2024-03-12 09:21:19 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-03-12 09:21:55 +0100 <c_wraith> danza: the whole point of a doubly-linked list is that you have one specific element that is in focus, and the ability to move that focus one spot at a time to the left or right
2024-03-12 09:22:13 +0100 <c_wraith> ([a], a, [a]) is (the things to the left, the focus, the things to the right)
2024-03-12 09:22:39 +0100 <c_wraith> Updating at the focus is O(1), just like a linked list. Moving one spot to the left or right is O(1), just like a linked list.
2024-03-12 09:23:02 +0100 <danza> but updating the list is o(toomuch)
2024-03-12 09:23:14 +0100 <c_wraith> same with a linked list?
2024-03-12 09:24:11 +0100 <danza> not sure. Anyways you can get a focus with zippers, i am more curious about a data structure that can just be iterated two ways
2024-03-12 09:25:13 +0100 <c_wraith> There's always trees
2024-03-12 09:25:45 +0100 <danza> ought to be doubly-linked as well though
2024-03-12 09:26:38 +0100 <c_wraith> why?
2024-03-12 09:26:43 +0100 <c_wraith> (once again, immutable data)
2024-03-12 09:27:09 +0100 <danza> one can double-link with immutable data
2024-03-12 09:27:09 +0100 <c_wraith> also, there are finger trees, if you want access to the ends to be O(1) instead of O(log n)
2024-03-12 09:27:20 +0100 <c_wraith> you can link, but you can't update after having done so
2024-03-12 09:27:43 +0100 <danza> i will have to deepen better
2024-03-12 09:27:56 +0100 <c_wraith> if your data structure contains cycles, updating it requires copying the whole thing. And while you're at it, detecting the cycles.
2024-03-12 09:32:27 +0100fen87(~fen@90.242.230.226)
2024-03-12 09:33:22 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-12 09:34:44 +0100ania123(~ania123@146.255.226.194)
2024-03-12 09:35:21 +0100econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2024-03-12 09:35:34 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2024-03-12 09:49:29 +0100emmanuelux(~emmanuelu@user/emmanuelux) (Ping timeout: 252 seconds)
2024-03-12 09:56:05 +0100ski(~ski@ext-1-033.eduroam.chalmers.se) (Ping timeout: 252 seconds)
2024-03-12 10:03:21 +0100tzh(~tzh@c-73-164-206-160.hsd1.or.comcast.net) (Quit: zzz)
2024-03-12 10:04:11 +0100danza(~francesco@151.35.230.238) (Ping timeout: 264 seconds)
2024-03-12 10:10:24 +0100airscape(~airscape@176.254.244.83) (Ping timeout: 256 seconds)
2024-03-12 10:20:48 +0100ridcully(~ridcully@p508ac420.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2024-03-12 10:20:59 +0100danse-nr3(~danse@151.35.230.238)
2024-03-12 10:21:23 +0100ridcully(~ridcully@p508ac420.dip0.t-ipconnect.de)
2024-03-12 10:21:23 +0100danse-nr3(~danse@151.35.230.238) (Remote host closed the connection)
2024-03-12 10:21:47 +0100danse-nr3(~danse@151.35.230.238)
2024-03-12 10:22:02 +0100emmanuelux(~emmanuelu@user/emmanuelux)
2024-03-12 10:23:55 +0100fen87(~fen@90.242.230.226) (Quit: Connection closed)
2024-03-12 10:26:38 +0100emmanuelux_(~emmanuelu@user/emmanuelux)
2024-03-12 10:27:54 +0100emmanuelux(~emmanuelu@user/emmanuelux) (Ping timeout: 255 seconds)
2024-03-12 10:29:45 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2024-03-12 10:44:21 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 256 seconds)
2024-03-12 10:45:15 +0100danse-nr3(~danse@151.35.230.238) (Ping timeout: 260 seconds)
2024-03-12 10:46:12 +0100danse-nr3(~danse@151.35.230.238)
2024-03-12 10:56:48 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-03-12 10:59:34 +0100danse-nr3(~danse@151.35.230.238) (Remote host closed the connection)
2024-03-12 11:01:15 +0100ft(~ft@p3e9bce6e.dip0.t-ipconnect.de) (Quit: leaving)
2024-03-12 11:01:16 +0100danse-nr3(~danse@151.35.230.238)
2024-03-12 11:01:47 +0100agrosant(~agrosant@77.49.160.162.dsl.dyn.forthnet.gr)
2024-03-12 11:06:59 +0100stiell_(~stiell@gateway/tor-sasl/stiell)
2024-03-12 11:10:27 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 268 seconds)
2024-03-12 11:13:45 +0100danse-nr3(~danse@151.35.230.238) (Read error: Connection reset by peer)
2024-03-12 11:14:16 +0100danse-nr3(~danse@151.37.230.196)
2024-03-12 11:16:20 +0100TimeLapse(~TimeLapse@176.254.244.83)
2024-03-12 11:16:37 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 268 seconds)
2024-03-12 11:24:30 +0100tv(~tv@user/tv) (Quit: derp)
2024-03-12 11:24:45 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-03-12 11:25:03 +0100emmanuelux_(~emmanuelu@user/emmanuelux) (Ping timeout: 255 seconds)
2024-03-12 11:25:22 +0100tv(~tv@user/tv)
2024-03-12 11:31:44 +0100__monty__(~toonn@user/toonn)
2024-03-12 11:44:59 +0100agrosant(~agrosant@77.49.160.162.dsl.dyn.forthnet.gr) (Ping timeout: 264 seconds)
2024-03-12 11:46:31 +0100ania123(~ania123@146.255.226.194) (Quit: Client closed)
2024-03-12 11:46:41 +0100infinity0(~infinity0@pwned.gg)
2024-03-12 11:47:45 +0100igemnace(~ian@user/igemnace) (Read error: Connection reset by peer)
2024-03-12 11:56:42 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-12 11:56:56 +0100zetef(~quassel@95.77.17.251) (Remote host closed the connection)
2024-03-12 12:02:02 +0100xff0x(~xff0x@2405:6580:b080:900:d512:497a:e4c5:b6e5)
2024-03-12 12:04:43 +0100euleritian(~euleritia@77.22.252.56) (Read error: Connection reset by peer)
2024-03-12 12:05:21 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2024-03-12 12:05:23 +0100igemnace(~ian@user/igemnace)
2024-03-12 12:05:33 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-03-12 12:09:39 +0100agrosant(~agrosant@188.4.1.113.dsl.dyn.forthnet.gr)
2024-03-12 12:10:58 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 255 seconds)
2024-03-12 12:12:31 +0100CiaoSen(~Jura@2a05:5800:2d5:5500:e6b9:7aff:fe80:3d03) (Ping timeout: 260 seconds)
2024-03-12 12:19:21 +0100ania123(~ania123@146.255.226.194)
2024-03-12 12:23:01 +0100ubert(~Thunderbi@2a02:8109:ab8a:5a00:5b0:3f86:90a1:9864)
2024-03-12 12:24:12 +0100shryke(~shryke@2a00:4b00:13c:cc:b27b:25ff:fe18:efd)
2024-03-12 12:25:33 +0100 <shryke> Hi guys. I'm looking for a way to get a handle of current terminal on windows, analogous to 'openFile "/dev/tty" ReadMode' on a linux machine.
2024-03-12 12:26:30 +0100 <danse-nr3> hmm i think you can get handles of standard in, standard out, and everything that appears as a file on an unix filesystem?
2024-03-12 12:27:47 +0100 <shryke> I tried to get it via 'tHandle <- getConsoleHWND >>= hANDLEtoHandle' using Win32 package, to no avail, it crashes with 'fdType: invalid argument (Bad file descriptor)'
2024-03-12 12:27:55 +0100zetef(~quassel@95.77.17.251)
2024-03-12 12:29:35 +0100 <shryke> danse-nr3: that's a valid point, but in my case 'stdin' is a piped ('tail -f file.txt | myApp.exe'), and I want to receive user input (mouse clicks, keypresses, etc)
2024-03-12 12:29:59 +0100 <danse-nr3> not sure that mouse gets into standard in
2024-03-12 12:30:07 +0100 <shryke> on windows it does
2024-03-12 12:31:01 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-03-12 12:31:06 +0100 <danse-nr3> not sure how would that work with pipes, but i do not care much about windows to be honest
2024-03-12 12:31:54 +0100ania123(~ania123@146.255.226.194) (Quit: Client closed)
2024-03-12 12:33:33 +0100jargon(~jargon@174.sub-174-205-227.myvzw.com) (Remote host closed the connection)
2024-03-12 12:36:09 +0100puke(~puke@user/puke) (Ping timeout: 255 seconds)
2024-03-12 12:37:15 +0100puke(~puke@user/puke)
2024-03-12 12:37:40 +0100jau(~user@2a04:4540:7216:6600:554a:6a97:3e4e:760b)
2024-03-12 12:38:58 +0100ania123(~ania123@146.255.226.194)
2024-03-12 12:39:34 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-12 12:39:45 +0100ridcully(~ridcully@p508ac420.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2024-03-12 12:50:42 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2024-03-12 12:55:58 +0100__monty__(~toonn@user/toonn) (Ping timeout: 255 seconds)
2024-03-12 12:58:16 +0100ubert(~Thunderbi@2a02:8109:ab8a:5a00:5b0:3f86:90a1:9864) (Quit: ubert)
2024-03-12 12:58:48 +0100ubert(~Thunderbi@2a02:8109:ab8a:5a00:5b0:3f86:90a1:9864)
2024-03-12 13:08:27 +0100ccapndave(~ccapndave@xcpe-62-167-165-159.cgn.res.adslplus.ch)
2024-03-12 13:10:37 +0100o-90(~o-90@gateway/tor-sasl/o-90)
2024-03-12 13:17:38 +0100ski(~ski@ext-1-033.eduroam.chalmers.se)
2024-03-12 13:17:39 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-12 13:19:45 +0100a51(a51@gateway/vpn/protonvpn/a51)
2024-03-12 13:31:58 +0100o-90(~o-90@gateway/tor-sasl/o-90) (Ping timeout: 260 seconds)
2024-03-12 13:34:19 +0100ania123(~ania123@146.255.226.194) (Quit: Client closed)
2024-03-12 13:39:37 +0100srz(~srz@181.228.49.93)
2024-03-12 13:48:31 +0100danse-nr3(~danse@151.37.230.196) (Ping timeout: 256 seconds)
2024-03-12 13:48:40 +0100sp1ff(~user@c-24-21-45-157.hsd1.wa.comcast.net)
2024-03-12 13:50:22 +0100zetef(~quassel@95.77.17.251) (Remote host closed the connection)
2024-03-12 13:55:01 +0100AlexZenon(~alzenon@5.139.232.124) (Quit: ;-)
2024-03-12 13:55:21 +0100AlexNoo(~AlexNoo@5.139.232.124) (Quit: Leaving)
2024-03-12 14:08:41 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2024-03-12 14:09:03 +0100AlexNoo(~AlexNoo@5.139.232.124)
2024-03-12 14:12:17 +0100AlexZenon(~alzenon@5.139.232.124)
2024-03-12 14:14:27 +0100CiaoSen(~Jura@2a05:5800:2d5:5500:e6b9:7aff:fe80:3d03)
2024-03-12 14:21:18 +0100a51(a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.1)
2024-03-12 14:23:59 +0100agrosant(~agrosant@188.4.1.113.dsl.dyn.forthnet.gr) (Ping timeout: 264 seconds)
2024-03-12 14:31:57 +0100ccapndave(~ccapndave@xcpe-62-167-165-159.cgn.res.adslplus.ch) (Quit: Textual IRC Client: www.textualapp.com)
2024-03-12 14:32:54 +0100emmanuelux(~emmanuelu@user/emmanuelux)
2024-03-12 14:40:16 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-12 14:45:42 +0100agrosant(~agrosant@188.4.25.145.dsl.dyn.forthnet.gr)
2024-03-12 14:50:59 +0100agrosant(~agrosant@188.4.25.145.dsl.dyn.forthnet.gr) (Ping timeout: 264 seconds)
2024-03-12 14:52:18 +0100jespada_(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2024-03-12 14:54:52 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 256 seconds)
2024-03-12 14:58:46 +0100mmhat(~mmh@p200300f1c70d33d5ee086bfffe095315.dip0.t-ipconnect.de)
2024-03-12 15:04:14 +0100tri(~tri@ool-18bbef1a.static.optonline.net)
2024-03-12 15:07:50 +0100turlando(~turlando@user/turlando) (Quit: No Ping reply in 180 seconds.)
2024-03-12 15:09:05 +0100turlando(~turlando@user/turlando)
2024-03-12 15:09:07 +0100tri(~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 272 seconds)
2024-03-12 15:13:43 +0100agrosant(~agrosant@62.1.251.207.dsl.dyn.forthnet.gr)
2024-03-12 15:20:05 +0100danse-nr3(~danse@151.43.238.161)
2024-03-12 15:20:23 +0100danse-nr3(~danse@151.43.238.161) (Remote host closed the connection)
2024-03-12 15:20:45 +0100danse-nr3(~danse@151.43.238.161)
2024-03-12 15:28:11 +0100agrosant(~agrosant@62.1.251.207.dsl.dyn.forthnet.gr) (Ping timeout: 264 seconds)
2024-03-12 15:31:26 +0100tri(~tri@ool-18bbef1a.static.optonline.net)
2024-03-12 15:38:08 +0100econo_(uid147250@id-147250.tinside.irccloud.com)
2024-03-12 15:40:20 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-03-12 15:41:06 +0100agrosant(~agrosant@188.4.133.100.dsl.dyn.forthnet.gr)
2024-03-12 15:44:59 +0100a51(a51@gateway/vpn/protonvpn/a51)
2024-03-12 15:45:13 +0100shapr(~user@c-24-218-186-89.hsd1.ma.comcast.net) (Read error: Connection reset by peer)
2024-03-12 15:46:47 +0100agrosant(~agrosant@188.4.133.100.dsl.dyn.forthnet.gr) (Ping timeout: 264 seconds)
2024-03-12 15:46:54 +0100srz(~srz@181.228.49.93) (Quit: Leaving)
2024-03-12 15:47:06 +0100srz(~srz@181.228.49.93)
2024-03-12 15:48:29 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2024-03-12 15:51:44 +0100AlexNoo_(~AlexNoo@178.34.160.143)
2024-03-12 15:54:53 +0100AlexZenon(~alzenon@5.139.232.124) (Ping timeout: 240 seconds)
2024-03-12 15:55:30 +0100AlexNoo(~AlexNoo@5.139.232.124) (Ping timeout: 256 seconds)
2024-03-12 16:02:45 +0100AlexZenon(~alzenon@178.34.160.143)
2024-03-12 16:04:00 +0100euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-03-12 16:06:14 +0100jespada_(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 252 seconds)
2024-03-12 16:08:33 +0100AlexNoo_AlexNoo
2024-03-12 16:09:27 +0100shapr(~user@c-24-218-186-89.hsd1.ma.comcast.net)
2024-03-12 16:09:29 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2024-03-12 16:10:11 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.1.1)
2024-03-12 16:13:27 +0100euphores(~SASL_euph@user/euphores)
2024-03-12 16:13:41 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2024-03-12 16:16:31 +0100Lycurgus(~georg@user/Lycurgus)
2024-03-12 16:16:42 +0100pastly(~pastly@gateway/tor-sasl/pastly) (Ping timeout: 260 seconds)
2024-03-12 16:19:25 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Ping timeout: 272 seconds)
2024-03-12 16:21:02 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2024-03-12 16:21:03 +0100 <tomsmeding> shryke: another windows noob here, but does getConsoleHWND return something sensible? That is to say, not a null pointer or something?
2024-03-12 16:22:52 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2024-03-12 16:23:02 +0100 <Lycurgus> a window handle
2024-03-12 16:23:06 +0100euleritian(~euleritia@dynamic-176-006-184-070.176.6.pool.telefonica.de)
2024-03-12 16:23:11 +0100 <Lycurgus> apparently
2024-03-12 16:23:29 +0100pastly(~pastly@gateway/tor-sasl/pastly)
2024-03-12 16:23:37 +0100 <Lycurgus> ala ancient win32 and earlier conventions
2024-03-12 16:23:47 +0100 <tomsmeding> I meant, does the function return something sensible on their machine
2024-03-12 16:24:33 +0100Lycurguslooks at the log
2024-03-12 16:24:38 +0100justachefotastache
2024-03-12 16:25:16 +0100 <Lycurgus> yeah ok
2024-03-12 16:25:49 +0100 <Lycurgus> lived this in its day, don't wanna think about it now, but dos users and dosapi are diff level things
2024-03-12 16:26:17 +0100 <Lycurgus> it aint called windows for nuthin
2024-03-12 16:26:54 +0100 <Lycurgus> even if the windows system initially was just rebranded presentation manager
2024-03-12 16:27:12 +0100 <Lycurgus> like sql server was rebranded sybase for MS OS/2
2024-03-12 16:27:19 +0100misterfish(~misterfis@87.215.131.102) (Ping timeout: 260 seconds)
2024-03-12 16:32:51 +0100ski(~ski@ext-1-033.eduroam.chalmers.se) (Ping timeout: 256 seconds)
2024-03-12 16:39:40 +0100ski(~ski@ext-1-033.eduroam.chalmers.se)
2024-03-12 16:45:04 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2024-03-12 16:52:59 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
2024-03-12 16:55:17 +0100danse-nr3(~danse@151.43.238.161) (Read error: Connection reset by peer)
2024-03-12 16:57:01 +0100 <Lycurgus> the enwiki article on PM is typical of the kind of latter day distortion you find when you were there
2024-03-12 16:57:48 +0100srz(~srz@181.228.49.93) (Remote host closed the connection)
2024-03-12 16:58:06 +0100srz(~srz@181.228.49.93)
2024-03-12 17:04:20 +0100tri(~tri@ool-18bbef1a.static.optonline.net) (Remote host closed the connection)
2024-03-12 17:04:52 +0100tri(~tri@ool-18bbef1a.static.optonline.net)
2024-03-12 17:07:55 +0100CiaoSen(~Jura@2a05:5800:2d5:5500:e6b9:7aff:fe80:3d03) (Ping timeout: 260 seconds)
2024-03-12 17:09:37 +0100ski(~ski@ext-1-033.eduroam.chalmers.se) (Ping timeout: 246 seconds)
2024-03-12 17:10:58 +0100rosco(~rosco@175.136.155.53)
2024-03-12 17:11:13 +0100srz(~srz@181.228.49.93) (Ping timeout: 264 seconds)
2024-03-12 17:11:35 +0100ski(~ski@ext-1-033.eduroam.chalmers.se)
2024-03-12 17:13:30 +0100Inst_(~Inst@120.244.192.27)
2024-03-12 17:15:09 +0100rosco(~rosco@175.136.155.53) (Client Quit)
2024-03-12 17:16:01 +0100Inst(~Inst@120.244.192.27) (Ping timeout: 264 seconds)
2024-03-12 17:20:33 +0100Square2(~Square4@user/square) (Ping timeout: 255 seconds)
2024-03-12 17:29:43 +0100Square(~Square@user/square)
2024-03-12 17:31:42 +0100chele(~chele@user/chele) (Remote host closed the connection)
2024-03-12 17:33:27 +0100Educorreia932(~Guest71@193.137.151.132)
2024-03-12 17:34:01 +0100Educorreia932(~Guest71@193.137.151.132) (Client Quit)
2024-03-12 17:39:08 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2024-03-12 17:42:14 +0100target_i(~target_i@user/target-i/x-6023099)
2024-03-12 17:42:29 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 252 seconds)
2024-03-12 17:51:37 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-12 17:56:43 +0100igemnace(~ian@user/igemnace) (Quit: WeeChat 4.2.1)
2024-03-12 18:02:18 +0100johnw(~johnw@69.62.242.138) (Quit: ZNC - http://znc.in)
2024-03-12 18:05:22 +0100__monty__(~toonn@user/toonn)
2024-03-12 18:07:41 +0100tzh(~tzh@c-73-164-206-160.hsd1.or.comcast.net)
2024-03-12 18:18:11 +0100mmhat(~mmh@p200300f1c70d33d5ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.2.1)
2024-03-12 18:18:45 +0100jrm(~jrm@user/jrm) (Quit: ciao)
2024-03-12 18:20:13 +0100jrm(~jrm@user/jrm)
2024-03-12 18:21:40 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2024-03-12 18:22:15 +0100fotastache(~justache@user/justache) (Quit: ZNC 1.8.2 - https://znc.in)
2024-03-12 18:22:20 +0100euleritian(~euleritia@dynamic-176-006-184-070.176.6.pool.telefonica.de) (Ping timeout: 260 seconds)
2024-03-12 18:23:20 +0100euleritian(~euleritia@dynamic-176-006-196-166.176.6.pool.telefonica.de)
2024-03-12 18:23:42 +0100johnw(~johnw@69.62.242.138)
2024-03-12 18:31:06 +0100euleritian(~euleritia@dynamic-176-006-196-166.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-03-12 18:31:16 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-03-12 18:31:41 +0100ubert(~Thunderbi@2a02:8109:ab8a:5a00:5b0:3f86:90a1:9864) (Remote host closed the connection)
2024-03-12 18:33:33 +0100rvalue(~rvalue@user/rvalue) (Quit: ZNC - https://znc.in)
2024-03-12 18:33:47 +0100rvalue(~rvalue@user/rvalue)
2024-03-12 18:37:26 +0100srz(~srz@181.228.49.93)
2024-03-12 18:47:09 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2024-03-12 18:49:58 +0100__monty__(~toonn@user/toonn)
2024-03-12 18:55:44 +0100Sciencentistguy(~sciencent@hacksoc/ordinary-member) (Quit: o/)
2024-03-12 19:02:07 +0100tri(~tri@ool-18bbef1a.static.optonline.net) (Remote host closed the connection)
2024-03-12 19:02:20 +0100gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2024-03-12 19:02:20 +0100tri(~tri@ool-18bbef1a.static.optonline.net)
2024-03-12 19:04:08 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-12 19:04:15 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2024-03-12 19:05:52 +0100Sciencentistguy(~sciencent@hacksoc/ordinary-member)
2024-03-12 19:06:10 +0100ridcully(~ridcully@p508accab.dip0.t-ipconnect.de)
2024-03-12 19:08:18 +0100gentauro(~gentauro@user/gentauro)
2024-03-12 19:10:31 +0100Sciencentistguy(~sciencent@hacksoc/ordinary-member) (Client Quit)
2024-03-12 19:14:24 +0100oneeyedalien(~oneeyedal@user/oneeyedalien)
2024-03-12 19:17:39 +0100Lycurgus(~georg@user/Lycurgus) (Quit: leaving)
2024-03-12 19:17:39 +0100srz(~srz@181.228.49.93) (Quit: Leaving)
2024-03-12 19:25:16 +0100Sciencentistguy(~sciencent@hacksoc/ordinary-member)
2024-03-12 19:30:35 +0100euphores(~SASL_euph@user/euphores) (Ping timeout: 264 seconds)
2024-03-12 19:31:25 +0100oneeyedalien(~oneeyedal@user/oneeyedalien) (Quit: Leaving)
2024-03-12 19:33:33 +0100Ashkan(~Ashkan@147.161.173.72)
2024-03-12 19:34:26 +0100tri(~tri@ool-18bbef1a.static.optonline.net) (Remote host closed the connection)
2024-03-12 19:34:58 +0100tri(~tri@ool-18bbef1a.static.optonline.net)
2024-03-12 19:36:30 +0100jau(~user@2a04:4540:7216:6600:554a:6a97:3e4e:760b) (Remote host closed the connection)
2024-03-12 19:38:58 +0100Square(~Square@user/square) (Ping timeout: 264 seconds)
2024-03-12 19:39:48 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
2024-03-12 19:41:07 +0100euphores(~SASL_euph@user/euphores)
2024-03-12 19:42:34 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
2024-03-12 19:43:31 +0100euleritian(~euleritia@dynamic-176-006-196-166.176.6.pool.telefonica.de)
2024-03-12 19:44:43 +0100euleritian(~euleritia@dynamic-176-006-196-166.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-03-12 19:44:55 +0100tri(~tri@ool-18bbef1a.static.optonline.net) (Remote host closed the connection)
2024-03-12 19:45:00 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-03-12 19:45:08 +0100tri(~tri@ool-18bbef1a.static.optonline.net)
2024-03-12 19:47:01 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2024-03-12 19:50:41 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-03-12 19:52:07 +0100qqq(~qqq@92.43.167.61) (Remote host closed the connection)
2024-03-12 19:58:15 +0100ski(~ski@ext-1-033.eduroam.chalmers.se) (Ping timeout: 260 seconds)
2024-03-12 19:59:41 +0100ski(~ski@ext-1-033.eduroam.chalmers.se)
2024-03-12 20:05:31 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds)
2024-03-12 20:06:48 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com)
2024-03-12 20:07:54 +0100misterfish(~misterfis@84.53.85.146)
2024-03-12 20:07:57 +0100ft(~ft@p3e9bce6e.dip0.t-ipconnect.de)
2024-03-12 20:14:51 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-12 20:15:23 +0100misterfish(~misterfis@84.53.85.146) (Ping timeout: 252 seconds)
2024-03-12 20:16:37 +0100mulk(~mulk@p5b2dc4c2.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2024-03-12 20:18:40 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
2024-03-12 20:19:16 +0100mulk(~mulk@pd95142da.dip0.t-ipconnect.de)
2024-03-12 20:21:47 +0100misterfish(~misterfis@84.53.85.146)
2024-03-12 20:22:15 +0100_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Remote host closed the connection)
2024-03-12 20:22:50 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Remote host closed the connection)
2024-03-12 20:23:05 +0100_d0t(~{-d0t-}@user/-d0t-/x-7915216)
2024-03-12 20:23:14 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2024-03-12 20:26:18 +0100mei(~mei@user/mei) (Remote host closed the connection)
2024-03-12 20:28:44 +0100mei(~mei@user/mei)
2024-03-12 20:28:50 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Remote host closed the connection)
2024-03-12 20:29:07 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2024-03-12 20:38:51 +0100Ashkan(~Ashkan@147.161.173.72) (Quit: Client closed)
2024-03-12 20:46:28 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2024-03-12 20:50:19 +0100notzmv(~daniel@user/notzmv)
2024-03-12 20:50:35 +0100misterfish(~misterfis@84.53.85.146) (Ping timeout: 252 seconds)
2024-03-12 20:52:07 +0100earthy(~arthurvl@2a02-a469-f5e2-1-83d2-ca43-57a2-dc81.fixed6.kpn.net) (Quit: ein reboot macht gut)
2024-03-12 20:53:37 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
2024-03-12 20:57:47 +0100misterfish(~misterfis@84.53.85.146)
2024-03-12 20:59:35 +0100arthurvl(~arthurvl@2a02-a469-f5e2-1-83d2-ca43-57a2-dc81.fixed6.kpn.net)
2024-03-12 21:06:31 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-12 21:14:09 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2024-03-12 21:15:28 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2024-03-12 21:19:22 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-12 21:22:15 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-03-12 21:24:04 +0100PoolloverNathan(~u0_a408@108.145.176.193)
2024-03-12 21:24:39 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds)
2024-03-12 21:24:47 +0100 <PoolloverNathan> kind of Haskell noob here
2024-03-12 21:24:48 +0100euleritian(~euleritia@dynamic-176-006-196-166.176.6.pool.telefonica.de)
2024-03-12 21:25:28 +0100 <Hecate> PoolloverNathan: hello kind of Haskell noob
2024-03-12 21:25:49 +0100 <PoolloverNathan> I'm trying to compile Haskell to Lua; is there a way to have a type that end-users aren't allowed to mess with?
2024-03-12 21:26:18 +0100 <PoolloverNathan> (representing foreign types exposed to what the Lua is embedded into)
2024-03-12 21:28:03 +0100 <int-e> Yes. You can export a data type (in this context, probably a newtype) without its constructor, so only the implementing module gets access to the contents.
2024-03-12 21:29:05 +0100 <PoolloverNathan> and how would I expose Lua operators to user Haskell code?
2024-03-12 21:29:30 +0100 <int-e> You can still export your own functions that work with the type.
2024-03-12 21:29:41 +0100 <int-e> Or implement type classes like Num for the type.
2024-03-12 21:29:52 +0100 <int-e> (if appropriate)
2024-03-12 21:30:12 +0100 <geekosaur> it's somewhat out of date, but MissingPy is an example of exposing foreign operations to Haskell
2024-03-12 21:30:19 +0100 <geekosaur> @hackage MissingPy
2024-03-12 21:30:19 +0100 <lambdabot> https://hackage.haskell.org/package/MissingPy
2024-03-12 21:30:31 +0100 <PoolloverNathan> Thanks; I'll look into that.
2024-03-12 21:30:33 +0100PoolloverNathan(~u0_a408@108.145.176.193) ()
2024-03-12 21:30:41 +0100 <int-e> PoolloverNathan: maybe have a look at https://hackage.haskell.org/package/lua to ...darn
2024-03-12 21:30:41 +0100 <geekosaur> in that case it's Python
2024-03-12 21:30:44 +0100 <int-e> too slow
2024-03-12 21:30:45 +0100PoolloverNathan(~u0_a408@108.145.176.193)
2024-03-12 21:30:56 +0100 <int-e> PoolloverNathan: maybe have a look at https://hackage.haskell.org/package/lua to see whether that's fit for your purposes
2024-03-12 21:30:59 +0100 <PoolloverNathan> nope, irssi prints a screenful of content on part
2024-03-12 21:31:02 +0100 <PoolloverNathan> thanks
2024-03-12 21:31:09 +0100 <PoolloverNathan> I lost that URL so rejoined
2024-03-12 21:31:10 +0100 <int-e> (and even if it's not, you can look at the source code)
2024-03-12 21:31:57 +0100 <PoolloverNathan> That seems to run Lua in Haskell; I want to run Haskell in Lua
2024-03-12 21:32:15 +0100 <int-e> @hackage MissingPy
2024-03-12 21:32:15 +0100 <lambdabot> https://hackage.haskell.org/package/MissingPy
2024-03-12 21:32:49 +0100 <int-e> There may be more lua bindings too, hmm. I don't know, hackage has a lot of packages.
2024-03-12 21:35:34 +0100 <tomsmeding> it's nice if things are as polymorphic as they'll get
2024-03-12 21:35:37 +0100 <tomsmeding> foldMapM :: (Applicative f, Monoid m, Foldable t) => (a -> f m) -> t a -> f m
2024-03-12 21:35:39 +0100 <tomsmeding> foldMapM f = getAp . foldMap (Ap . f)
2024-03-12 21:36:20 +0100 <tomsmeding> at first I was thinking this would require Monad (of course it doesn't), and I was blocked on whether to name the Monad m or the Monoid m
2024-03-12 21:36:26 +0100 <PoolloverNathan> I've decided that it'd probably be easiest to compile the STG to Lua (making all the bindings local functions, declaring all the locals at once for letrecs, and reassigning them for fat-arrows); are there any obvious flaws with this?
2024-03-12 21:37:14 +0100 <tomsmeding> PoolloverNathan: writing an STG backend (that's essentially what you're proposing) is a Project with a capital P
2024-03-12 21:37:31 +0100 <tomsmeding> there's a ton of primitive operations ('primops') that the STG will use
2024-03-12 21:37:33 +0100 <int-e> you may be underestimating the effort involved in this... making lazy evaluation work, handling type classes, unboxed types...
2024-03-12 21:37:50 +0100 <tomsmeding> int-e: there be no type classes on the STG level, and lazy evaluation is built-in
2024-03-12 21:37:54 +0100 <int-e> try
2024-03-12 21:37:54 +0100 <tomsmeding> still
2024-03-12 21:37:56 +0100 <int-e> err
2024-03-12 21:37:57 +0100 <int-e> true
2024-03-12 21:38:27 +0100 <tomsmeding> PoolloverNathan: I strongly recommend you look into GHC Haskell's foreign function interface functionality :p
2024-03-12 21:38:51 +0100 <tomsmeding> you can call C from Haskell and Haskell from C, and Lua is made to interoperate with C so I suspect that should work "relatively smoothly"
2024-03-12 21:39:31 +0100 <PoolloverNathan> needing to use Lua is already decided by the system; they're using LuaJ (which is Java)
2024-03-12 21:39:50 +0100 <tomsmeding> can LuaJ interoperate with C?
2024-03-12 21:40:08 +0100euleritian(~euleritia@dynamic-176-006-196-166.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-03-12 21:40:10 +0100 <PoolloverNathan> I don't have any control of the Java side
2024-03-12 21:40:25 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-03-12 21:40:29 +0100 <tomsmeding> will it be possible to have anything that's not Lua code in the system?
2024-03-12 21:40:30 +0100 <c_wraith> just to pile on a bit: the set of primops isn't even finite. libraries can add their own!
2024-03-12 21:40:41 +0100 <int-e> The bindings I'm looking at have support for Haskell-implemented Lua functions (perhaps not as abstract as I'd like; they are pretty low-level): https://hackage.haskell.org/package/lua-2.3.2/docs/Lua-Call.html https://hackage.haskell.org/package/lua-2.3.2/docs/Lua-Call.html
2024-03-12 21:40:45 +0100 <PoolloverNathan> there's Lua and PNGs. that's about it
2024-03-12 21:40:55 +0100 <int-e> grr, the second link was supposed to be https://hackage.haskell.org/package/hslua-core-2.3.2/docs/HsLua-Core-Closures.html
2024-03-12 21:41:07 +0100 <tomsmeding> PoolloverNathan: so you cannot have a C library that you use from Lua, for example?
2024-03-12 21:41:15 +0100 <PoolloverNathan> I cannot
2024-03-12 21:41:17 +0100 <tomsmeding> (you can make a Haskell program look like a C library)
2024-03-12 21:41:19 +0100 <tomsmeding> I see
2024-03-12 21:41:35 +0100 <tomsmeding> then the only thing that's left is indeed an STG backend
2024-03-12 21:41:40 +0100 <tomsmeding> but expect to be busy for months
2024-03-12 21:41:44 +0100 <tomsmeding> and I'm not exaggerating there
2024-03-12 21:41:45 +0100 <PoolloverNathan> unless someone finds another ACE in my target project of course
2024-03-12 21:41:56 +0100 <int-e> Oh those are essentially the same package... why are there two packages by the same authors but with different names for stuff...
2024-03-12 21:41:56 +0100 <PoolloverNathan> which is unlikely
2024-03-12 21:41:57 +0100 <tomsmeding> and I suggest not taking Haskell :p
2024-03-12 21:42:20 +0100 <tomsmeding> even idris2 might be easier (?)
2024-03-12 21:42:30 +0100 <tomsmeding> purescript compiles to JS, that might also be easier to adapt
2024-03-12 21:42:34 +0100 <c_wraith> sounds like the best option for using Haskell is writing something like the atom library targeting lua
2024-03-12 21:43:05 +0100 <c_wraith> (atom is an embedded DSL that generates C code)
2024-03-12 21:43:53 +0100 <tomsmeding> (why does _neither_ the 'atom' package description, _nor_ the module header documentation of the root module, mention the word "C")
2024-03-12 21:44:07 +0100 <tomsmeding> that's the _one_ thing I'm interested in if one says "EDSL"
2024-03-12 21:44:23 +0100 <c_wraith> it's much easier to design a restricted DSL that uses only features supported in the target language than compile all of Haskell to it.
2024-03-12 21:45:16 +0100 <tomsmeding> PoolloverNathan: why haskell?
2024-03-12 21:49:15 +0100 <c_wraith> if you just want a different language that compiles to Lua, how about an existing project like Fennel?
2024-03-12 21:49:26 +0100 <PoolloverNathan> mainly because I like Haskell's features
2024-03-12 21:49:44 +0100 <PoolloverNathan> and someone else is doing WASM support
2024-03-12 21:50:51 +0100 <PoolloverNathan> remembered wrong — they're doing WASM→Java, not WASM→Lua
2024-03-12 21:51:08 +0100tomsmedingwonders if this is for minecraft
2024-03-12 21:51:14 +0100 <tomsmeding> computercraft, specifically
2024-03-12 21:51:17 +0100 <PoolloverNathan> close
2024-03-12 21:51:25 +0100 <PoolloverNathan> it is minecraft-related
2024-03-12 21:51:40 +0100 <PoolloverNathan> https://modrinth.com/mod/figura
2024-03-12 21:51:45 +0100 <tomsmeding> a prerelease version of ghc has a wasm backend
2024-03-12 21:52:21 +0100 <tomsmeding> how many weeks do you have for this project
2024-03-12 21:52:35 +0100 <PoolloverNathan> no time scale in particular
2024-03-12 21:52:41 +0100 <c_wraith> the fact is, liking Haskell is not always a sufficient reason to use it. I like Haskell more than the language used at my day job for basically every possible *personal* reason, but the company has other concerns.
2024-03-12 21:52:51 +0100 <EvanR> I would log back in the minecraft if someone made a haskell interpreter in it
2024-03-12 21:52:53 +0100zetef(~quassel@5.2.182.98)
2024-03-12 21:53:10 +0100 <EvanR> into*
2024-03-12 21:53:18 +0100 <tomsmeding> The Minecraft
2024-03-12 21:53:27 +0100 <cheater> c_wraith: then the company is wrong
2024-03-12 21:53:28 +0100 <EvanR> unfortunately no one can be told what the minecraft is
2024-03-12 21:53:33 +0100 <edwardk> they at least use lenses
2024-03-12 21:53:37 +0100 <terrorjack> pick idris2 or purescript, if you want to build a compiler backend that runs on whatever thing already garbage collected
2024-03-12 21:53:38 +0100 <EvanR> lol
2024-03-12 21:53:39 +0100 <cheater> c_wraith: the company needs to be reeducated
2024-03-12 21:53:42 +0100 <terrorjack> sincere advice from me
2024-03-12 21:54:05 +0100 <tomsmeding> PoolloverNathan: here, second person saying "pick idris2 or purescript" :p
2024-03-12 21:54:23 +0100 <terrorjack> you don't want to spend the first many few weeks getting lost in ghc internals and ask questions that not a lot of people will bother to answer
2024-03-12 21:54:25 +0100 <tomsmeding> even that option will be multiple man-weeks of work
2024-03-12 21:54:25 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2024-03-12 21:54:27 +0100 <edwardk> if you want to get Haskell running well inside minecraft, you could always pick up my work on cadenza and finish an STG interpreter in that style
2024-03-12 21:54:39 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-03-12 21:54:50 +0100 <edwardk> tricking truffle/graal to run functional languages
2024-03-12 21:55:08 +0100 <edwardk> but you are looking at more than a couple person-weeks there ;)
2024-03-12 21:55:30 +0100 <c_wraith> I still say the only reasonable path for the amount of time you have is a heavily restricted DSL
2024-03-12 21:55:46 +0100 <tomsmeding> c_wraith: they did not specify the amount of time they had
2024-03-12 21:56:07 +0100 <tomsmeding> (though it's a good assumption that "months" is too much lol)
2024-03-12 21:56:17 +0100 <c_wraith> I'm assuming it's less than "forever"
2024-03-12 21:56:20 +0100 <tomsmeding> :p
2024-03-12 21:57:01 +0100 <PoolloverNathan> my maximum amount of time is likely /finite/
2024-03-12 21:59:02 +0100 <EvanR> maybe but according to the documentary deep space nine, it's not linear
2024-03-12 21:59:29 +0100 <c_wraith> like, if this is a thing I wanted to churn out in a month or less, it would be the DSL route where you decide on some nice properties and let the type system ensure that they are enforced.
2024-03-12 22:00:19 +0100 <int-e> EvanR: surely there's an alternate universe in which time is linear
2024-03-12 22:00:29 +0100 <PoolloverNathan> also, is there a type of lens that requires IO to read and write?
2024-03-12 22:01:43 +0100cattiesCatty
2024-03-12 22:02:15 +0100 <c_wraith> there are some libraries that work towards that, but they sacrifice a lot to work that way.
2024-03-12 22:03:09 +0100 <c_wraith> not that I'm against that, being the author of a different not-actually-lens-but-compatible-with-them library. but what you can do gets really narrow.
2024-03-12 22:03:40 +0100 <PoolloverNathan> so providing get/set/upd functions would be the best way?
2024-03-12 22:04:05 +0100Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 240 seconds)
2024-03-12 22:04:22 +0100 <c_wraith> maybe one of the existing libraries does the job you need.
2024-03-12 22:05:06 +0100 <EvanR> imagine if the Data.Map library only had get, set, update ;_;
2024-03-12 22:05:11 +0100 <EvanR> instead of a rich api
2024-03-12 22:05:13 +0100Maxdamantus(~Maxdamant@user/maxdamantus)
2024-03-12 22:05:50 +0100 <EvanR> a lua table is basically Map Lua Lua
2024-03-12 22:07:23 +0100zetef(~quassel@5.2.182.98) (Remote host closed the connection)
2024-03-12 22:09:11 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2024-03-12 22:09:27 +0100 <c_wraith> hah. mutable-lens actually does something a lot like what I did. take advantage of the functor-polymorphism in the van Laarhoven representation to create things that aren't lenses, but can be composed with them.
2024-03-12 22:10:47 +0100 <PoolloverNathan> I'll look into that
2024-03-12 22:11:03 +0100 <PoolloverNathan> !hackage mutable-lens
2024-03-12 22:11:10 +0100 <PoolloverNathan> +hackage mutable-lens
2024-03-12 22:11:14 +0100 <tomsmeding> @hackage mutable-lens
2024-03-12 22:11:14 +0100 <lambdabot> https://hackage.haskell.org/package/mutable-lens
2024-03-12 22:11:18 +0100 <PoolloverNathan> oh, @
2024-03-12 22:16:20 +0100bpalmer(~user@user/bpalmer)
2024-03-12 22:23:30 +0100tri(~tri@ool-18bbef1a.static.optonline.net) (Remote host closed the connection)
2024-03-12 22:24:03 +0100tri(~tri@ool-18bbef1a.static.optonline.net)
2024-03-12 22:27:59 +0100rainbyte(~rainbyte@186.22.19.215)
2024-03-12 22:30:10 +0100tri(~tri@ool-18bbef1a.static.optonline.net) (Remote host closed the connection)
2024-03-12 22:30:41 +0100misterfish(~misterfis@84.53.85.146) (Ping timeout: 252 seconds)
2024-03-12 22:32:52 +0100target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2024-03-12 22:33:35 +0100byorgey(~byorgey@155.138.238.211)
2024-03-12 22:36:15 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-03-12 22:38:39 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 268 seconds)
2024-03-12 22:43:07 +0100danza(~francesco@151.57.252.83)
2024-03-12 22:44:59 +0100tri(~tri@ool-18bbef1a.static.optonline.net)
2024-03-12 22:49:30 +0100tri(~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 255 seconds)
2024-03-12 22:57:51 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2024-03-12 23:06:31 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-12 23:08:56 +0100michalz(~michalz@185.246.207.203) (Quit: ZNC 1.8.2 - https://znc.in)
2024-03-12 23:15:15 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-12 23:18:40 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2024-03-12 23:23:05 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2024-03-12 23:24:09 +0100danza(~francesco@151.57.252.83) (Ping timeout: 255 seconds)
2024-03-12 23:31:22 +0100 <shapr> @quote
2024-03-12 23:31:22 +0100 <lambdabot> BrianWKernighan says: /* lasciate ogne speranza, voi ch'intrate. */
2024-03-12 23:31:23 +0100 <shapr> > 1
2024-03-12 23:31:23 +0100shaprshrugs
2024-03-12 23:31:25 +0100 <lambdabot> 1
2024-03-12 23:33:30 +0100 <Rembane> Seems legit
2024-03-12 23:36:58 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2024-03-12 23:41:24 +0100 <PoolloverNathan> Have there been any proposals to make join a member of Monad? Some monads I write feel best-defined by having join instead of >>=, and having to write (>>=) a f = myJoin $ fmap f a is mildly annoying.
2024-03-12 23:41:30 +0100 <c_wraith> yes.
2024-03-12 23:41:48 +0100 <c_wraith> Last I heard, it ran into an issue with the role system
2024-03-12 23:41:57 +0100 <c_wraith> and I guess no progress has been made?
2024-03-12 23:42:14 +0100 <erisco> After learning Kubernetes, I like it for its ability to compose / configure various resource types, and how it can be extended with more resource types. Even on a single node, this universal language is useful. However, it misses on most of the trappings we enjoy in FP. Any Haskellesque solutions out there?
2024-03-12 23:43:11 +0100 <geekosaur> I think propellor is the closest we get? and that's not very
2024-03-12 23:43:38 +0100 <c_wraith> PoolloverNathan: https://ryanglscott.github.io/2018/03/04/how-quantifiedconstraints-can-let-us-put-join-back-in-mon… I think this approach stalled out because QuantifiedConstraints is still underpowered, too.
2024-03-12 23:43:44 +0100 <erisco> geekosaur, thanks
2024-03-12 23:44:30 +0100 <erisco> Just considering the problem of persistent storage with backup / replication and restore, this already has a lot of complexity to it. I wouldn't mind more specialised tools for different domains.
2024-03-12 23:44:58 +0100danza(~francesco@151.57.252.83)
2024-03-12 23:47:19 +0100phma(phma@2001:5b0:211c:1d68:52ce:65f2:95a9:903c) (Read error: Connection reset by peer)
2024-03-12 23:48:07 +0100phma(phma@2001:5b0:2143:a3e8:4abf:4a4a:8deb:49a3)
2024-03-12 23:48:21 +0100 <erisco> Maybe I need to kickstart functional IoC :P
2024-03-12 23:49:20 +0100danza(~francesco@151.57.252.83) (Ping timeout: 252 seconds)
2024-03-12 23:49:21 +0100Sgeo(~Sgeo@user/sgeo)
2024-03-12 23:58:39 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)