2022/04/25

2022-04-25 00:01:24 +0200mvk(~mvk@2607:fea8:5ce3:8500::c90f) (Ping timeout: 240 seconds)
2022-04-25 00:04:09 +0200juri_(~juri@178.63.35.222) (Ping timeout: 256 seconds)
2022-04-25 00:04:39 +0200Kevin578(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net)
2022-04-25 00:04:46 +0200mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 272 seconds)
2022-04-25 00:05:49 +0200mikoto-chan(~mikoto-ch@213.177.151.239)
2022-04-25 00:06:56 +0200Profpatsch(~Profpatsc@static.88-198-193-255.clients.your-server.de) (Quit: WeeChat 3.3)
2022-04-25 00:07:59 +0200acidjnk(~acidjnk@p200300d0c73b4573e8a6f1626a35c03c.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-04-25 00:08:39 +0200Kevin578(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net) (Ping timeout: 240 seconds)
2022-04-25 00:10:42 +0200xff0x_(~xff0x@om126158190036.30.openmobile.ne.jp)
2022-04-25 00:11:20 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2022-04-25 00:11:29 +0200 <tomsmeding> > curry ((>>) <$> (guard . uncurry (/=)) <*> return) <$> [1..4] <*> [1..4] >>= id
2022-04-25 00:11:30 +0200 <lambdabot> [(1,2),(1,3),(1,4),(2,1),(2,3),(2,4),(3,1),(3,2),(3,4),(4,1),(4,2),(4,3)]
2022-04-25 00:11:36 +0200 <tomsmeding> is this sufficiently obfuscated?
2022-04-25 00:11:51 +0200 <monochrom> Yes. I don't understand it. :)
2022-04-25 00:11:57 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-25 00:12:25 +0200 <monochrom> Transitioning from [1..4] to [1..] is also problematic.
2022-04-25 00:12:46 +0200 <monochrom> I hate the original wording anyway. Programmers can't write.
2022-04-25 00:13:29 +0200 <tomsmeding> monochrom: hint: the '>>= id' is concatMap
2022-04-25 00:13:50 +0200 <tomsmeding> s/Map//
2022-04-25 00:14:59 +0200 <tomsmeding> incidentally, that `(>>) <$> (guard . uncurry (/=)) <*> return` is _significantly_ nicer than what lambdabot produces if you @pl the readable version
2022-04-25 00:15:22 +0200 <tomsmeding> in particular, it has 4 let points
2022-04-25 00:15:28 +0200 <tomsmeding> s/let/less/
2022-04-25 00:18:19 +0200crazazy(~user@130.89.171.62) (Ping timeout: 240 seconds)
2022-04-25 00:18:42 +0200joo-_(~joo-_@fsf/member/joo--) (Ping timeout: 272 seconds)
2022-04-25 00:19:51 +0200joo-_(~joo-_@87-49-147-230-mobile.dk.customer.tdc.net)
2022-04-25 00:19:51 +0200joo-_(~joo-_@87-49-147-230-mobile.dk.customer.tdc.net) (Changing host)
2022-04-25 00:19:51 +0200joo-_(~joo-_@fsf/member/joo--)
2022-04-25 00:21:42 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-04-25 00:21:54 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2022-04-25 00:25:20 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-25 00:32:00 +0200mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 272 seconds)
2022-04-25 00:32:42 +0200cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.1))
2022-04-25 00:35:34 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2022-04-25 00:35:49 +0200juri_(~juri@178.63.35.222)
2022-04-25 00:37:58 +0200tommd(~tommd@97-120-41-123.ptld.qwest.net)
2022-04-25 00:38:50 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-04-25 00:39:50 +0200acidjnk(~acidjnk@p200300d0c73b4573e8a6f1626a35c03c.dip0.t-ipconnect.de)
2022-04-25 00:44:39 +0200gentauro(~gentauro@user/gentauro) (Ping timeout: 240 seconds)
2022-04-25 00:50:04 +0200anomal(~anomal@87.227.196.109) (Remote host closed the connection)
2022-04-25 00:51:50 +0200gentauro(~gentauro@user/gentauro)
2022-04-25 00:56:07 +0200cynomys(~cynomys@user/cynomys) (Quit: leaving)
2022-04-25 00:58:55 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-25 01:02:24 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 272 seconds)
2022-04-25 01:06:15 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Remote host closed the connection)
2022-04-25 01:09:17 +0200AlexZenon_2(~alzenon@178.34.160.91)
2022-04-25 01:11:18 +0200AlexZenon(~alzenon@178.34.160.91) (Ping timeout: 276 seconds)
2022-04-25 01:15:19 +0200jgeerds(~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 240 seconds)
2022-04-25 01:16:55 +0200acidjnk(~acidjnk@p200300d0c73b4573e8a6f1626a35c03c.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-04-25 01:19:11 +0200 <boxscape> huh, just found out that in a do block, `(foo :: Num a => a) <- pure 4` is different from `(foo :: forall a . Num a => a) <- pure 4`
2022-04-25 01:19:18 +0200 <boxscape> (the first is monomorphic, and the second one doesn't work)
2022-04-25 01:20:41 +0200mvk(~mvk@2607:fea8:5ce3:8500::c90f)
2022-04-25 01:21:25 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com)
2022-04-25 01:24:20 +0200 <exarkun> why does haskell-language-server-wrapper `chdir("") = ENOENT` and then exit with an error?
2022-04-25 01:25:33 +0200 <boxscape> (oh I just realized what I mentioned isn't that different from `(foo :: a)` behaving differently than `(foo :: forall a . a)`, which makes sense
2022-04-25 01:28:29 +0200jhagborg_(~jhagborg@068-187-237-099.res.spectrum.com)
2022-04-25 01:29:39 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com) (Ping timeout: 240 seconds)
2022-04-25 01:31:33 +0200jhagborg_(~jhagborg@068-187-237-099.res.spectrum.com) (Read error: Connection reset by peer)
2022-04-25 01:31:54 +0200jhagborg_(~jhagborg@068-187-237-099.res.spectrum.com)
2022-04-25 01:33:55 +0200 <geekosaur> the chdir failing is correct per POSIX; why HLS-wrapper does it, I don't know
2022-04-25 01:34:05 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
2022-04-25 01:42:24 +0200euandreh(~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174) (Ping timeout: 250 seconds)
2022-04-25 01:42:49 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-04-25 01:46:37 +0200dsrt^(~dsrt@50.227.69.228)
2022-04-25 01:48:10 +0200jhagborg_(~jhagborg@068-187-237-099.res.spectrum.com) (Remote host closed the connection)
2022-04-25 01:48:37 +0200jhagborg_(~jhagborg@068-187-237-099.res.spectrum.com)
2022-04-25 01:51:07 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: brb)
2022-04-25 01:56:14 +0200gurkenglas(~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de) (Ping timeout: 272 seconds)
2022-04-25 01:58:51 +0200shiraeeshi(~shiraeesh@109.166.57.76)
2022-04-25 02:03:18 +0200stackdroid18(~stackdroi@user/stackdroid) (Quit: hasta la vista... tchau!)
2022-04-25 02:09:52 +0200lagash(lagash@lagash.shelltalk.net) (Remote host closed the connection)
2022-04-25 02:09:59 +0200jhagborg_(~jhagborg@068-187-237-099.res.spectrum.com) (Ping timeout: 240 seconds)
2022-04-25 02:10:17 +0200lagash(lagash@lagash.shelltalk.net)
2022-04-25 02:10:35 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 260 seconds)
2022-04-25 02:11:12 +0200xff0x_(~xff0x@om126158190036.30.openmobile.ne.jp) (Read error: Connection reset by peer)
2022-04-25 02:11:38 +0200fryguybob(~fryguybob@cpe-74-67-169-145.rochester.res.rr.com)
2022-04-25 02:11:43 +0200machinedgod(~machinedg@24.105.81.50)
2022-04-25 02:12:09 +0200alp_(~alp@user/alp) (Ping timeout: 248 seconds)
2022-04-25 02:17:03 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-04-25 02:17:03 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-04-25 02:17:03 +0200wroathe(~wroathe@user/wroathe)
2022-04-25 02:23:51 +0200littlebo1eep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-25 02:24:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-25 02:26:03 +0200zyklotomic(~ethan@res380d-128-61-82-178.res.gatech.edu) (Ping timeout: 276 seconds)
2022-04-25 02:26:33 +0200vysn(~vysn@user/vysn)
2022-04-25 02:27:29 +0200zyklotomic(~ethan@res388d-128-61-92-250.res.gatech.edu)
2022-04-25 02:28:05 +0200tommd(~tommd@97-120-41-123.ptld.qwest.net) (Ping timeout: 256 seconds)
2022-04-25 02:35:30 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 272 seconds)
2022-04-25 02:46:31 +0200euandreh(~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174)
2022-04-25 02:50:52 +0200shailangsa(~shailangs@host86-186-142-63.range86-186.btcentralplus.com) (Ping timeout: 250 seconds)
2022-04-25 02:51:48 +0200epolanski(uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2022-04-25 02:58:23 +0200 <napping> Is there any common name for a function like zipWith max?
2022-04-25 03:04:05 +0200 <napping> Especially one that makes sense for containers like Vector a
2022-04-25 03:04:19 +0200trillp(~trillp@144.202.69.165)
2022-04-25 03:05:45 +0200xff0x_(~xff0x@125x102x200x106.ap125.ftth.ucom.ne.jp)
2022-04-25 03:09:15 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2022-04-25 03:11:13 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-04-25 03:13:25 +0200oxide(~lambda@user/oxide) (Quit: oxide)
2022-04-25 03:13:29 +0200lifter(~lifter@2600:1702:37d0:4310:83f:3332:e039:3515)
2022-04-25 03:15:16 +0200trillp(~trillp@144.202.69.165) (WeeChat 3.4.1)
2022-04-25 03:16:16 +0200Midjak(~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
2022-04-25 03:17:12 +0200xkuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2022-04-25 03:17:19 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-04-25 03:18:52 +0200 <lifter> I noticed that in GHCi ":kind HigherKinded" where "type HigherKinded a = a Int" spits out "HigherKinded :: (* -> k) -> k". Can somebody tell me why there is the letter "k" there and what it means? This is the first time I've seen anything other than asterisks here.
2022-04-25 03:22:12 +0200Hiring(~Hiring@31.222.238.38) (Ping timeout: 252 seconds)
2022-04-25 03:24:07 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 240 seconds)
2022-04-25 03:24:46 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2022-04-25 03:25:19 +0200mmhat(~mmh@55d4c572.access.ecotel.net) (Ping timeout: 256 seconds)
2022-04-25 03:25:23 +0200andrey_(~andrey@p5b1652a4.dip0.t-ipconnect.de)
2022-04-25 03:27:39 +0200andrey(~andrey@p200300dbcf4488004d3181a4567cdd4f.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-04-25 03:28:01 +0200 <napping> That's a kind variable. HigherKinded (,) Int would have kind * -> *, still needing another type to fully apply the (,) type constructor
2022-04-25 03:29:07 +0200 <napping> data and newtype can only make things that end in -> *, so you only see kind variables for those types if you're doing something fancy in the arguments
2022-04-25 03:32:18 +0200shailangsa(~shailangs@host86-186-127-233.range86-186.btcentralplus.com)
2022-04-25 03:34:34 +0200 <lifter> Woah... So is that to say that the "a" in "type HigherKinded a = a Int" could be kind "* ->*"?
2022-04-25 03:34:42 +0200leungbk(~user@2603-8000-1201-2dd2-6818-c5f7-371a-1f6b.res6.spectrum.com)
2022-04-25 03:37:56 +0200mmhat(~mmh@55d4c973.access.ecotel.net)
2022-04-25 03:39:44 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-04-25 03:40:05 +0200redb(~nmh@136.49.49.211) (Ping timeout: 246 seconds)
2022-04-25 03:40:39 +0200shiraeeshi(~shiraeesh@109.166.57.76) (Ping timeout: 240 seconds)
2022-04-25 03:44:46 +0200 <dragestil> Is there any text about haskell-language-server architecture and how it works with ghc?
2022-04-25 03:45:18 +0200 <lifter> I guess we could say that in the case of "HigherKinded (,)", the kind of "HigherKinded" is "(* -> * -> *) -> * -> *". That's amazing!
2022-04-25 03:45:45 +0200whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2022-04-25 03:57:13 +0200tommd(~tommd@97-120-41-123.ptld.qwest.net)
2022-04-25 03:58:43 +0200redb(~nmh@136.49.49.211)
2022-04-25 03:59:35 +0200cdman(~dcm@27.2.218.12)
2022-04-25 03:59:35 +0200cdman(~dcm@27.2.218.12) (Changing host)
2022-04-25 03:59:35 +0200cdman(~dcm@user/dmc/x-4369397)
2022-04-25 04:03:56 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2022-04-25 04:05:38 +0200redb(~nmh@136.49.49.211) (Ping timeout: 246 seconds)
2022-04-25 04:08:03 +0200redb(~nmh@136.49.49.211)
2022-04-25 04:09:44 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Quit: Leaving)
2022-04-25 04:12:19 +0200redb(~nmh@136.49.49.211) (Ping timeout: 240 seconds)
2022-04-25 04:15:36 +0200redb(~nmh@136.49.49.211)
2022-04-25 04:16:12 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-25 04:19:13 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2022-04-25 04:19:15 +0200kimjetwav(~user@2607:fea8:2362:b400:5885:9431:ca89:9663)
2022-04-25 04:19:19 +0200lifter(~lifter@2600:1702:37d0:4310:83f:3332:e039:3515) ()
2022-04-25 04:19:39 +0200redb(~nmh@136.49.49.211) (Ping timeout: 240 seconds)
2022-04-25 04:23:03 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-04-25 04:23:03 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-04-25 04:23:03 +0200finn_elijaFinnElija
2022-04-25 04:23:13 +0200redb(~nmh@136.49.49.211)
2022-04-25 04:25:04 +0200zyklotomic(~ethan@res388d-128-61-92-250.res.gatech.edu) (Ping timeout: 272 seconds)
2022-04-25 04:25:10 +0200mmhat(~mmh@55d4c973.access.ecotel.net) (Quit: WeeChat 3.5)
2022-04-25 04:26:47 +0200zyklotomic(~ethan@r4-128-61-93-82.res.gatech.edu)
2022-04-25 04:27:43 +0200byorgey(~byorgey@155.138.238.211)
2022-04-25 04:28:14 +0200redb(~nmh@136.49.49.211) (Ping timeout: 272 seconds)
2022-04-25 04:28:43 +0200redb(~nmh@136.49.49.211)
2022-04-25 04:32:58 +0200deadmarshal_(~deadmarsh@95.38.113.114)
2022-04-25 04:32:59 +0200redb(~nmh@136.49.49.211) (Ping timeout: 240 seconds)
2022-04-25 04:33:14 +0200 <hololeap> exarkun: does haskell-language-server work in the project dir?
2022-04-25 04:33:30 +0200 <hololeap> (the 'haskell-language-server' executable with no arguments)
2022-04-25 04:35:18 +0200mikoto-chan(~mikoto-ch@213.177.151.239)
2022-04-25 04:35:40 +0200leungbk(~user@2603-8000-1201-2dd2-6818-c5f7-371a-1f6b.res6.spectrum.com) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.1))
2022-04-25 04:35:48 +0200vysn(~vysn@user/vysn) (Ping timeout: 240 seconds)
2022-04-25 04:36:33 +0200redb(~nmh@136.49.49.211)
2022-04-25 04:37:19 +0200deadmarshal_(~deadmarsh@95.38.113.114) (Ping timeout: 240 seconds)
2022-04-25 04:38:39 +0200td_(~td@muedsl-82-207-238-135.citykom.de) (Ping timeout: 276 seconds)
2022-04-25 04:40:08 +0200td_(~td@94.134.91.109)
2022-04-25 04:40:31 +0200jhagborg_(~jhagborg@068-187-237-099.res.spectrum.com)
2022-04-25 04:41:35 +0200jhagborg_jhagborg
2022-04-25 04:42:48 +0200mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 272 seconds)
2022-04-25 04:49:43 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2022-04-25 04:55:02 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-04-25 05:05:57 +0200kaph(~kaph@151.47.212.202)
2022-04-25 05:10:23 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com) (Ping timeout: 246 seconds)
2022-04-25 05:12:23 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-04-25 05:15:35 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com)
2022-04-25 05:21:26 +0200tommd(~tommd@97-120-41-123.ptld.qwest.net) (Ping timeout: 272 seconds)
2022-04-25 05:21:32 +0200dons(~dons@user/dons)
2022-04-25 05:23:36 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-04-25 05:32:11 +0200frost(~frost@user/frost)
2022-04-25 05:41:04 +0200littlebo1eep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-25 05:44:14 +0200redb(~nmh@136.49.49.211) (Ping timeout: 272 seconds)
2022-04-25 05:47:41 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-25 05:50:28 +0200kaph(~kaph@151.47.212.202) (Read error: Connection reset by peer)
2022-04-25 05:51:04 +0200kaph(~kaph@ba-19-145-149.service.infuturo.it)
2022-04-25 05:55:38 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 272 seconds)
2022-04-25 05:55:59 +0200mbuf(~Shakthi@122.174.215.164)
2022-04-25 05:58:41 +0200redb(~nmh@136.49.49.211)
2022-04-25 05:59:31 +0200lbseale(~ep1ctetus@user/ep1ctetus)
2022-04-25 05:59:58 +0200lbseale(~ep1ctetus@user/ep1ctetus) (Client Quit)
2022-04-25 06:01:56 +0200deadmarshal_(~deadmarsh@95.38.113.114)
2022-04-25 06:09:39 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com) (Ping timeout: 240 seconds)
2022-04-25 06:12:20 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 246 seconds)
2022-04-25 06:12:26 +0200notzmv(~zmv@user/notzmv)
2022-04-25 06:13:57 +0200zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-04-25 06:15:15 +0200zaquest(~notzaques@5.130.79.72)
2022-04-25 06:15:16 +0200ralu1(~ralu@static.211.245.203.116.clients.your-server.de) (Ping timeout: 272 seconds)
2022-04-25 06:15:22 +0200hsw(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net)
2022-04-25 06:20:53 +0200notzmv(~zmv@user/notzmv) (Remote host closed the connection)
2022-04-25 06:28:55 +0200juri_(~juri@178.63.35.222) (Ping timeout: 256 seconds)
2022-04-25 06:32:53 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2022-04-25 06:32:59 +0200motherfsck(~motherfsc@user/motherfsck) (Quit: quit)
2022-04-25 06:35:26 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 246 seconds)
2022-04-25 06:36:19 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2022-04-25 06:39:07 +0200dsrt^(~dsrt@50.227.69.228) (Ping timeout: 256 seconds)
2022-04-25 06:44:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-25 06:47:21 +0200kaph(~kaph@ba-19-145-149.service.infuturo.it) (Ping timeout: 276 seconds)
2022-04-25 06:48:09 +0200titibandit(~titibandi@xdsl-89-0-37-242.nc.de)
2022-04-25 06:50:39 +0200napping(~brandon@209-181-225-137.mpls.qwest.net) (Quit: leaving)
2022-04-25 06:54:42 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-04-25 06:55:05 +0200notzmv(~zmv@user/notzmv)
2022-04-25 06:59:14 +0200 <jonathanx> I've started to use lenses, and I'm wondering if there's a lens-like thingy for accessing/updating the elements of a collection (without being able to modify the order of them)
2022-04-25 07:01:56 +0200 <shachaf> Yes, there are all sorts of such things.
2022-04-25 07:04:40 +0200deadmarshal_(~deadmarsh@95.38.113.114) (Ping timeout: 272 seconds)
2022-04-25 07:05:31 +0200benin(~benin@183.82.204.110)
2022-04-25 07:10:16 +0200phma(~phma@2001:5b0:212a:9cb8:383f:bd93:eb4e:975d) (Read error: Connection reset by peer)
2022-04-25 07:10:40 +0200 <jonathanx> Okay, can you name a few? :D
2022-04-25 07:12:16 +0200 <shachaf> Maybe you can name something you're trying to do instead.
2022-04-25 07:12:23 +0200 <shachaf> Or look up e.g. "traversal", I guess.
2022-04-25 07:13:34 +0200dostoevsky7(~5c42c5384@user/dostoevsky)
2022-04-25 07:14:13 +0200phma(~phma@25.sub-174-212-102.myvzw.com)
2022-04-25 07:14:59 +0200dostoevsky(~5c42c5384@user/dostoevsky) (Ping timeout: 240 seconds)
2022-04-25 07:14:59 +0200dostoevsky7dostoevsky
2022-04-25 07:16:18 +0200ralu1(~ralu@static.211.245.203.116.clients.your-server.de)
2022-04-25 07:18:22 +0200 <energizer> i heard `permutations` can be written as `foldr (concatMap . inserts) [[]]`. how does that work?
2022-04-25 07:18:45 +0200phma_(~phma@2001:5b0:212a:9cb8:c177:4ec8:e751:fbba)
2022-04-25 07:19:21 +0200phma(~phma@25.sub-174-212-102.myvzw.com) (Ping timeout: 256 seconds)
2022-04-25 07:21:35 +0200 <jonathanx> shachaf: that looks like it. Sorry for the unclear question, I'm in orientation mode atm so I don't have a lot of lens-terminology down
2022-04-25 07:26:25 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-25 07:30:28 +0200michalz(~michalz@185.246.204.107)
2022-04-25 07:39:49 +0200tdammers(~tdammers@77.109.72.177.res.static.edpnet.net) (Ping timeout: 240 seconds)
2022-04-25 07:46:14 +0200phma_phma
2022-04-25 07:49:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-25 07:52:26 +0200nate1(~nate@98.45.169.16)
2022-04-25 07:55:38 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-25 07:57:07 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-04-25 07:57:14 +0200mvk(~mvk@2607:fea8:5ce3:8500::c90f) (Ping timeout: 250 seconds)
2022-04-25 07:57:19 +0200nate1(~nate@98.45.169.16) (Ping timeout: 256 seconds)
2022-04-25 07:59:50 +0200titibandit(~titibandi@xdsl-89-0-37-242.nc.de) (Remote host closed the connection)
2022-04-25 08:05:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-25 08:06:15 +0200shiraeeshi(~shiraeesh@109.166.57.76)
2022-04-25 08:07:40 +0200 <hololeap> energizer: what is 'inserts'?
2022-04-25 08:08:09 +0200vysn(~vysn@user/vysn)
2022-04-25 08:09:02 +0200 <energizer> hololeap: takes x,xs and inserts x into each position
2022-04-25 08:11:02 +0200 <hololeap> it just fills xs with x over and over? like `inserts x xs = const x <$> xs`
2022-04-25 08:11:13 +0200 <int-e> foldr (\x -> concatMap (inserts x)) <-- one extra point may help here
2022-04-25 08:12:00 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-25 08:12:02 +0200 <energizer> no, in between, like inserts 99 [1,2,3] is [[99 1 2 3] [1 99 2 3] ...
2022-04-25 08:13:12 +0200neurocyte8614492(~neurocyte@IP-185189141186.dynamic.medianet-world.de)
2022-04-25 08:13:12 +0200neurocyte8614492(~neurocyte@IP-185189141186.dynamic.medianet-world.de) (Changing host)
2022-04-25 08:13:12 +0200neurocyte8614492(~neurocyte@user/neurocyte)
2022-04-25 08:13:40 +0200 <int-e> > let inserts x [] = [[x]]; inserts x (y:ys) = (x:y:ys) : map (y:) (inserts x ys) in foldr (concatMap . inserts) [[]] [1,2,3]
2022-04-25 08:13:41 +0200 <lambdabot> [[1,2,3],[2,1,3],[2,3,1],[1,3,2],[3,1,2],[3,2,1]]
2022-04-25 08:13:45 +0200arjun(~arjun@user/arjun)
2022-04-25 08:13:53 +0200 <arjun> https://pastebin.com/v7H7Frwh
2022-04-25 08:14:06 +0200 <arjun> what's up with the type error here
2022-04-25 08:14:34 +0200 <arjun> it should be the same type, it just seems to expect the fully qualified version or somethin
2022-04-25 08:14:59 +0200 <hololeap> well that's a whole different thing, int-e, still kudos on coming up with that so fast
2022-04-25 08:15:28 +0200 <hololeap> I mean, that's obviously the 'permutations' function, but that's not what they said the definition is
2022-04-25 08:15:59 +0200 <int-e> Well, that's the thing that makes `foldr (concatMap . inserts) [[]]` work
2022-04-25 08:16:02 +0200int-eshrugs
2022-04-25 08:16:25 +0200 <hololeap> I see what you're saying
2022-04-25 08:16:48 +0200 <int-e> I'll agree that "takes x,xs and inserts x into each position" is ambiguous.
2022-04-25 08:17:30 +0200joo-_(~joo-_@fsf/member/joo--) (Ping timeout: 272 seconds)
2022-04-25 08:18:55 +0200joo-_(~joo-_@87-49-146-179-mobile.dk.customer.tdc.net)
2022-04-25 08:18:55 +0200joo-_(~joo-_@87-49-146-179-mobile.dk.customer.tdc.net) (Changing host)
2022-04-25 08:18:55 +0200joo-_(~joo-_@fsf/member/joo--)
2022-04-25 08:19:14 +0200 <int-e> arjun: well it looks like you have two different versions of streaming-0.2.3.1 ... that's not supposed to happen. But (as far as I can see) we can't diagonose how it happened from the information given.
2022-04-25 08:20:13 +0200 <arjun> int-e: ugh
2022-04-25 08:20:14 +0200dextaa4(~dextaa@user/dextaa)
2022-04-25 08:20:20 +0200 <arjun> thanks for the hint
2022-04-25 08:20:31 +0200 <arjun> guess i'd reinstall the deps
2022-04-25 08:21:06 +0200 <arjun> i used cabal install --env . --lib streaming streaming-utils first
2022-04-25 08:21:28 +0200 <arjun> to work in a throwaway file
2022-04-25 08:21:47 +0200coot(~coot@213.134.190.95)
2022-04-25 08:21:50 +0200 <arjun> then a day or two later same but installed streaming-bytestring
2022-04-25 08:22:26 +0200 <arjun> correction: i installed streaming-utils a day later too, not originally
2022-04-25 08:23:23 +0200 <shiraeeshi> sounds like an example of cabal hell that I heard is no longer a problem
2022-04-25 08:24:31 +0200 <sclv> its not because you can just edit or delete the env file
2022-04-25 08:24:51 +0200 <arjun> int-e, nuked the env file and did the cabal installs again, seems to work this time
2022-04-25 08:25:10 +0200 <sclv> but also you can just use a cabal project and not deal with env files and then this is managed for you
2022-04-25 08:25:14 +0200 <[Leary]> > let inserts x [] = [[x]]; inserts x (y:ys) = (x:y:ys) : map (y:) (inserts x ys) in foldr (\x ps -> do p <- ps; inserts x p) [[]] [1,2,3]
2022-04-25 08:25:16 +0200 <lambdabot> [[1,2,3],[2,1,3],[2,3,1],[1,3,2],[3,1,2],[3,2,1]]
2022-04-25 08:25:33 +0200 <[Leary]> energizer: This is equivalent, and much more self-explanatory.
2022-04-25 08:25:56 +0200 <arjun> sclv, it was for a throwaway file, got lazy to make a cabal project
2022-04-25 08:28:42 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
2022-04-25 08:29:56 +0200 <shiraeeshi> I'm reading the "Thinking Functionally with Haskell" book
2022-04-25 08:30:23 +0200 <shiraeeshi> there is a section called "Analyzing time"
2022-04-25 08:31:15 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2022-04-25 08:31:51 +0200 <shiraeeshi> and it's not clear to me how the math works out
2022-04-25 08:32:54 +0200 <hololeap> you'll have to give examples since we don't all own the book
2022-04-25 08:33:27 +0200 <shiraeeshi> it's about calculating time complexity of recursive functions
2022-04-25 08:33:44 +0200 <shiraeeshi> there are 3 examples
2022-04-25 08:34:21 +0200 <shiraeeshi> but let's start with this: https://paste.tomsmeding.com/yD6Nl6Ch
2022-04-25 08:34:53 +0200 <shiraeeshi> it talks about Θ (big theta)
2022-04-25 08:35:34 +0200 <shiraeeshi> and says that "sum from 1 to n of j" is Θ(n^2)
2022-04-25 08:36:09 +0200 <shiraeeshi> and "sum from 1 to n of j^2" is Θ(n^3)
2022-04-25 08:37:10 +0200 <shiraeeshi> I wonder if there's a typo in the book
2022-04-25 08:37:28 +0200 <hololeap> I think it's saying that if each iteration of recursion costs Θ(n^2), you can sum it by the number of iterations. I could be wrong. I'm not sure about the second one
2022-04-25 08:37:38 +0200 <shiraeeshi> it seems to me that "sum from 1 to n of j" is linear and should be Θ(n)
2022-04-25 08:38:13 +0200acidjnk(~acidjnk@p200300d0c73b4554ec7e8ddc2cd32bc3.dip0.t-ipconnect.de)
2022-04-25 08:39:30 +0200 <hololeap> or is it just trying to describe Θ-notation in general?
2022-04-25 08:40:09 +0200 <shiraeeshi> hololeap, do you mean that if you have a computation that costs Θ(n) and then you invoke it in a cycle, then it becomes Θ(n^2) ?
2022-04-25 08:41:17 +0200 <shiraeeshi> and if you wrap cycles in cycles then it increments the power of n inside of Θ(n^x)
2022-04-25 08:42:42 +0200 <shiraeeshi> and then the book moves on to the first example:
2022-04-25 08:42:51 +0200 <hololeap> possibly? that could be what they're trying to say, but "The main use of Θ-notation is to hide constants" makes it sound like they're trying to show how to simplify things. it's hard to know without context
2022-04-25 08:43:08 +0200 <shiraeeshi> With that behind us, we give three examples of how to analyse the running time of
2022-04-25 08:43:08 +0200 <shiraeeshi> a computation. Consider first the following two definitions of concat:
2022-04-25 08:43:20 +0200 <shiraeeshi> concat xss = foldr (++) [] xss
2022-04-25 08:43:28 +0200 <shiraeeshi> concat' xss = foldl (++) [] xss
2022-04-25 08:43:55 +0200fendor(~fendor@178.115.54.135.wireless.dyn.drei.com)
2022-04-25 08:44:09 +0200 <shiraeeshi> and then it shows how to calculate time complexities for those two functions
2022-04-25 08:45:26 +0200 <shiraeeshi> the T notation is described at the beginning of the section
2022-04-25 08:45:42 +0200 <int-e> shiraeeshi: the *value* of "sum for j from 1 to n of j" is Θ(n^2)
2022-04-25 08:45:43 +0200 <shiraeeshi> Given the definition of a function f we will write T(f)(n) to denote an asymptotic
2022-04-25 08:45:43 +0200 <shiraeeshi> estimate of the number of reduction steps required to evaluate f on an argument of
2022-04-25 08:45:44 +0200 <shiraeeshi> ‘size’ n in the worst case.
2022-04-25 08:45:57 +0200 <int-e> you can compute it faster than that
2022-04-25 08:47:01 +0200 <shiraeeshi> int-e, you mean by using a formula of a sum of an arithmetic progression?
2022-04-25 08:47:38 +0200 <int-e> shiraeeshi: yes. or a crude approximation like (n/2)^2 <= [that sum] <= n^2
2022-04-25 08:48:01 +0200 <hololeap> oh, that's what they're saying. I've never seen big-Θ outside of measuring algorithms, so it's weird to see it like that
2022-04-25 08:48:50 +0200 <shiraeeshi> I don't know how important that sentence is. it could be the key to my misunderstanding, or it could be an unimportant detail
2022-04-25 08:49:56 +0200 <int-e> hololeap: O(f(n)) and friends are classes of functions. Those functions /can/ measure time or space, but they don't have to.
2022-04-25 08:50:31 +0200 <hololeap> that's fair
2022-04-25 08:51:16 +0200 <int-e> (It's a bit more complicated than that; there's an implicit limit attached to this (n goes to infinity, in complexity analysis; in calculus, people use stuff like O(x^n) where x approaches 0; the rest of the definitions carry over))
2022-04-25 08:51:43 +0200jerry99(~bc8147f2@cerf.good1.com)
2022-04-25 08:51:45 +0200jerry99(~bc8147f2@cerf.good1.com) (Read error: Connection reset by peer)
2022-04-25 08:52:39 +0200 <shiraeeshi> oh, I think I get it now
2022-04-25 08:52:59 +0200 <shiraeeshi> so it talks about value of the sum, not its complexity
2022-04-25 08:55:43 +0200jerry99(~330f617c@cerf.good1.com)
2022-04-25 08:58:48 +0200 <hololeap> right, I also thought it was trying to say that summing something cost Θ(n^2) time, but what int-e said makes sense
2022-04-25 08:59:18 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 272 seconds)
2022-04-25 08:59:30 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-25 09:01:54 +0200jerry98(~330f25e8@cerf.good1.com)
2022-04-25 09:01:57 +0200 <hololeap> so if each step of a recursive algorithm was (<previous steps> + <current step>), we would say it is Θ(n^2) time
2022-04-25 09:02:05 +0200jerry99(~330f617c@cerf.good1.com) (Killed (NickServ (GHOST command used by jerry98!~330f25e8@cerf.good1.com)))
2022-04-25 09:02:15 +0200jerry98jerry99
2022-04-25 09:03:18 +0200 <shiraeeshi> here is a first example: https://paste.tomsmeding.com/Fq31Nlnm
2022-04-25 09:03:40 +0200 <abastro[m]> Mathematical definition hehe
2022-04-25 09:03:44 +0200 <shiraeeshi> (perhaps I should make a screenshot)
2022-04-25 09:04:28 +0200 <shiraeeshi> it computes time complexities for two definitions of concat, one using foldr and another using foldl
2022-04-25 09:05:45 +0200 <abastro[m]> foldr is faster because of (++)'s property right
2022-04-25 09:06:09 +0200alp_(~alp@user/alp)
2022-04-25 09:06:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-25 09:06:43 +0200 <hololeap> make some screenshots and paste a link. I hope you're not writing all that out
2022-04-25 09:07:25 +0200 <shiraeeshi> I was just copypasting from the book, okay I'll make a screenshot
2022-04-25 09:09:07 +0200chele(~chele@user/chele)
2022-04-25 09:10:36 +0200 <hololeap> intuitively, if you are appending from the right out you only have to walk the current leftmost list, whereas if you go the other way you have to walk your entire results so far each time
2022-04-25 09:11:55 +0200 <hololeap> appending means walking the list to find the end, and then attaching the next list to it, which is O(1), but only once you have found the end
2022-04-25 09:13:12 +0200arjun(~arjun@user/arjun) (Read error: Connection reset by peer)
2022-04-25 09:14:38 +0200 <hololeap> hopefully that makes sense
2022-04-25 09:14:40 +0200mmhat(~mmh@55d4c973.access.ecotel.net)
2022-04-25 09:14:45 +0200 <hololeap> foldr starts from the right, conceptually, and appends the new list with the accumulation. `new ++ accum`
2022-04-25 09:15:19 +0200 <hololeap> whereas, going the other way, `accum + new`, means you have to walk the growing `accum` each time
2022-04-25 09:15:19 +0200 <shiraeeshi> example 1: https://imgur.com/a/nt1EhsI and https://imgur.com/a/n87LvSH
2022-04-25 09:19:08 +0200briandaed(~briandaed@109.95.142.93.r.toneticgroup.pl)
2022-04-25 09:19:10 +0200 <hololeap> foldl ends up being (<previous steps> + <current step>) for each iteration, because you have to walk back over the previous results each time, so it ends up being Θ(n^2) time, like you showed in your first paste (https://paste.tomsmeding.com/yD6Nl6Ch)
2022-04-25 09:19:27 +0200abastro(~abab9579@192.249.26.175)
2022-04-25 09:21:07 +0200 <shiraeeshi> so, given that foldr is defined like this
2022-04-25 09:21:14 +0200 <shiraeeshi> foldr f z [] = z
2022-04-25 09:21:22 +0200 <shiraeeshi> foldr f z (x:xs) = x `f` foldr f z xs
2022-04-25 09:21:49 +0200 <hololeap> `f` here is (++)
2022-04-25 09:21:59 +0200dsrt^(~dsrt@50.227.69.228)
2022-04-25 09:22:06 +0200 <hololeap> the expensive part of (++) is walking the first list
2022-04-25 09:22:06 +0200 <shiraeeshi> the "T(foldr (++) [])(0, n) = Θ(1)" part is obvious
2022-04-25 09:22:45 +0200 <hololeap> once it walks the first list, appending the second one is Θ(1)
2022-04-25 09:23:07 +0200 <hololeap> so here the order matters. walking the shorter list each time is key, and that is what foldr does
2022-04-25 09:23:43 +0200MajorBiscuit(~MajorBisc@86-88-79-148.fixed.kpn.net)
2022-04-25 09:23:55 +0200 <shiraeeshi> now for the recursive case it says
2022-04-25 09:23:57 +0200 <shiraeeshi> T(foldr (++) [])(m+1, n) = T(++)(n, mn) + T(foldr (++) [])(m, n)
2022-04-25 09:24:21 +0200 <shiraeeshi> "The estimate T(++)(n, mn) arises because a list of length n is concatenated with a
2022-04-25 09:24:22 +0200 <shiraeeshi> list of length mn."
2022-04-25 09:26:22 +0200 <shiraeeshi> and then it says: "Since T(++)(n, m) = Θ(n), we obtain"
2022-04-25 09:26:25 +0200 <shiraeeshi> T(foldr (++) [])(m, n) = sum(for k = 0 to m) Θ(n) = Θ(mn)
2022-04-25 09:27:50 +0200Major_Biscuit(~MajorBisc@c-001-021-011.client.tudelft.eduvpn.nl)
2022-04-25 09:28:02 +0200 <shiraeeshi> so, as you said, you repeat m times a computation that costs Θ(n) and you get Θ(mn)
2022-04-25 09:28:50 +0200 <shiraeeshi> but foldl case is trickier
2022-04-25 09:29:56 +0200 <shiraeeshi> given that foldl is defined as
2022-04-25 09:29:58 +0200 <shiraeeshi> foldl f z [] = z
2022-04-25 09:29:58 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-04-25 09:30:20 +0200 <shiraeeshi> foldl f z (x:xs) = let z' = z `f` x in foldl f z' xs
2022-04-25 09:30:39 +0200MajorBiscuit(~MajorBisc@86-88-79-148.fixed.kpn.net) (Ping timeout: 240 seconds)
2022-04-25 09:31:32 +0200 <shiraeeshi> here is a formula for a recursive case:
2022-04-25 09:31:34 +0200 <shiraeeshi> T(foldl (++))(k, m+1, n) = T(++)(k, n) + T(foldl (++))(k+n, m, n)
2022-04-25 09:31:47 +0200 <shiraeeshi> and it says
2022-04-25 09:31:50 +0200 <shiraeeshi> "The additional argument k refers to the length of the accumulated list in the second
2022-04-25 09:31:51 +0200 <shiraeeshi> argument of foldl."
2022-04-25 09:33:18 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-25 09:33:32 +0200 <shiraeeshi> "This time we obtain"
2022-04-25 09:33:34 +0200 <shiraeeshi> T(foldl (++))(k, m, n) = sum(for j = 0 to m-1) Θ(k + jn) = Θ(k + (m^2)*n)
2022-04-25 09:33:59 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-25 09:35:10 +0200 <shiraeeshi> and then it throws away k
2022-04-25 09:35:20 +0200 <hololeap> k is a constant
2022-04-25 09:35:33 +0200 <shiraeeshi> and we're left with Θ((m^2)*n)
2022-04-25 09:36:38 +0200 <shiraeeshi> it's not completely clear to me how (m^2)*n appears
2022-04-25 09:36:58 +0200 <hololeap> they did some algebraic trickery to get the second equation
2022-04-25 09:37:34 +0200dextaa4(~dextaa@user/dextaa) (Remote host closed the connection)
2022-04-25 09:37:58 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2022-04-25 09:38:12 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2022-04-25 09:38:21 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2022-04-25 09:38:25 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:b886:3eb2:a21d:c1a7)
2022-04-25 09:38:49 +0200 <hololeap> honestly, I'd say write the author if the answer doesn't become clear in a page or two
2022-04-25 09:39:01 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Client Quit)
2022-04-25 09:39:38 +0200 <shiraeeshi> so I guess if you have "jn" inside of big theta and j goes from 0 to m-1, then it becomes "(m^2)*n"
2022-04-25 09:40:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-25 09:40:12 +0200 <hololeap> I don't know how big theta got on the left side of the equation, but I'm really not the person to ask, tbh
2022-04-25 09:41:01 +0200 <hololeap> oh, nvm, I didn't read it correctly, but still
2022-04-25 09:41:06 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-25 09:41:08 +0200 <shiraeeshi> wait, it's a sum of big thetas
2022-04-25 09:42:27 +0200 <shiraeeshi> so, you have a sum of Θ(jn) and j goes from 0 to m-1, and that sum gives you Θ((m^2)*n)
2022-04-25 09:43:17 +0200tv(~tv@user/tv) (Ping timeout: 256 seconds)
2022-04-25 09:44:38 +0200 <hololeap> I think I'm missing the key part about how to reduce a recursive function like that. I've seen it before, but I don't remember it
2022-04-25 09:47:13 +0200 <hololeap> T(foldl (++))(k, m+1, n) = T(++)(k, n) + T(foldl (++))(k+n, m, n)
2022-04-25 09:47:16 +0200machinedgod(~machinedg@24.105.81.50)
2022-04-25 09:47:19 +0200 <hololeap> transforms to
2022-04-25 09:47:26 +0200 <hololeap> T(foldl (++))(k, m, n) = sum(for j = 0 to m-1) Θ(k + jn)
2022-04-25 09:47:30 +0200 <hololeap> somehow
2022-04-25 09:48:47 +0200gehmehgeh(~user@user/gehmehgeh)
2022-04-25 09:49:43 +0200shriekingnoise(~shrieking@201.231.16.156) (Quit: Quit)
2022-04-25 09:51:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-25 09:51:57 +0200 <shiraeeshi> yeah, that's the most unclear part right now
2022-04-25 09:52:04 +0200abastro(~abab9579@192.249.26.175) (Remote host closed the connection)
2022-04-25 09:52:48 +0200 <shiraeeshi> (because I think (m^2)*n is just a sum of an arithmetic progression)
2022-04-25 09:57:02 +0200mikoto-chan(~mikoto-ch@84.199.144.235)
2022-04-25 10:00:25 +0200juri_(~juri@178.63.35.222)
2022-04-25 10:00:36 +0200 <shiraeeshi> I'm going to came back with this question later
2022-04-25 10:02:09 +0200 <tomsmeding> hololeap: didn't follow the whole discussion, but what you just posted seems to be just this? https://paste.tomsmeding.com/sBX3Sdyz
2022-04-25 10:02:14 +0200gurkenglas(~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de)
2022-04-25 10:02:56 +0200 <hololeap> it was shiraeeshi's question
2022-04-25 10:03:27 +0200 <tomsmeding> the "transforms to ... somehow"
2022-04-25 10:03:41 +0200 <shiraeeshi> let me take a look
2022-04-25 10:05:52 +0200kuribas(~user@ptr-17d51epkc6cunhibcd0.18120a2.ip6.access.telenet.be)
2022-04-25 10:07:25 +0200 <shiraeeshi> oh, so that's how it works
2022-04-25 10:09:04 +0200Pickchea(~private@user/pickchea)
2022-04-25 10:09:31 +0200 <tomsmeding> there's also something called the Master Theorem (obnoxious name; https://en.wikipedia.org/wiki/Master_theorem_(analysis_of_algorithms) ) but for this particular thing you don't need that
2022-04-25 10:12:38 +0200dextaa4(~dextaa@user/dextaa)
2022-04-25 10:12:46 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-25 10:13:14 +0200 <[exa]> shiraeeshi: btw I recall I've been solving the very same equation with someone here like 3 weeks ago, you might find something in the logs
2022-04-25 10:14:15 +0200 <shiraeeshi> [exa], ok, gonna take a look some time
2022-04-25 10:14:27 +0200 <[exa]> tomsmeding: we tend to call it a "cookbook theorem" because you just need to remind yourself the definition everytime :D
2022-04-25 10:14:31 +0200 <shiraeeshi> [exa], did you work out other examples?
2022-04-25 10:14:43 +0200 <tomsmeding> [exa]: lol true enough
2022-04-25 10:14:52 +0200jgeerds(~jgeerds@d53604b0.access.ecotel.net)
2022-04-25 10:15:26 +0200 <shiraeeshi> [exa], what definition?
2022-04-25 10:15:48 +0200 <tomsmeding> of the master theorem, presumably
2022-04-25 10:16:17 +0200 <shiraeeshi> I'm trying to find a definition in the wikipedia article
2022-04-25 10:17:40 +0200 <tomsmeding> shiraeeshi: if T(n) = a T(n/b) + f(n), then depending on the asymptotic behaviour of f, as shown in the "Condition on..." column in the table, the theorem gives a bound on T, as shown in the "Master Theorem bound" column in the table
2022-04-25 10:18:18 +0200tv(~tv@user/tv)
2022-04-25 10:18:44 +0200 <shiraeeshi> let me wrap my head around it
2022-04-25 10:19:28 +0200 <tomsmeding> (where c_crit is defined above the table)
2022-04-25 10:21:41 +0200 <tomsmeding> (note: there are f that fall between the cracks between the cases; for example if f(n) = Theta(n^{c_crit} log(sqrt(n)), it fits in none of the cases if I'm not mistaken)
2022-04-25 10:21:55 +0200 <tomsmeding> with extra )
2022-04-25 10:22:16 +0200 <tomsmeding> oh no of course not
2022-04-25 10:22:32 +0200 <tomsmeding> eh I seem to remember it doesn't strictly cover all f's, exercise to the reader :p
2022-04-25 10:22:52 +0200Hiring(~Hiring@31.222.238.38)
2022-04-25 10:23:06 +0200ubert(~Thunderbi@p200300ecdf15886161bde835a28140c8.dip0.t-ipconnect.de)
2022-04-25 10:23:48 +0200 <shiraeeshi> at this point my brain refuses to make sense of all those runes in the article
2022-04-25 10:24:37 +0200 <shiraeeshi> but the "Analyzing time" section in the book doesn't mention the Master Theorem, so I guess it's not needed to understand examples from that section
2022-04-25 10:25:01 +0200 <shiraeeshi> so I think I can put the theorem aside for some time
2022-04-25 10:25:33 +0200 <tomsmeding> right
2022-04-25 10:29:04 +0200 <shiraeeshi> I'm going to try to apply the trick that tomsmeding showed to other examples from the section
2022-04-25 10:31:00 +0200tdammers(~tdammers@77.109.72.118.res.static.edpnet.net)
2022-04-25 10:33:05 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-04-25 10:34:56 +0200coot(~coot@213.134.190.95) (Ping timeout: 272 seconds)
2022-04-25 10:35:10 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-04-25 10:39:43 +0200abastro(~abab9579@192.249.26.175)
2022-04-25 10:48:32 +0200abastro(~abab9579@192.249.26.175) (Remote host closed the connection)
2022-04-25 10:52:02 +0200CiaoSen(~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-04-25 11:00:06 +0200aviladev[m](~aviladevm@2001:470:69fc:105::1:cbc7) (Quit: You have been kicked for being idle)
2022-04-25 11:02:45 +0200vodage(~vodage@118.201.231.83)
2022-04-25 11:07:04 +0200neurocyte8614492(~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
2022-04-25 11:12:02 +0200vodage(~vodage@118.201.231.83) (Quit: WeeChat 3.4.1)
2022-04-25 11:12:43 +0200jerry99(~330f25e8@cerf.good1.com) (Quit: CGI:IRC (Ping timeout))
2022-04-25 11:12:53 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2022-04-25 11:13:58 +0200jerry99(~330f7c14@cerf.good1.com)
2022-04-25 11:14:07 +0200vodage(~vodage@118.201.231.83)
2022-04-25 11:21:37 +0200neurocyte8614492(~neurocyte@IP-185189141186.dynamic.medianet-world.de)
2022-04-25 11:21:37 +0200neurocyte8614492(~neurocyte@IP-185189141186.dynamic.medianet-world.de) (Changing host)
2022-04-25 11:21:37 +0200neurocyte8614492(~neurocyte@user/neurocyte)
2022-04-25 11:24:45 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.4.1)
2022-04-25 11:26:23 +0200jespada_(~jespada@146.70.119.10)
2022-04-25 11:28:19 +0200 <[exa]> shiraeeshi: by the "definition" I basically meant the table that says what the theorem does
2022-04-25 11:28:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-25 11:28:48 +0200jespada(~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net) (Ping timeout: 276 seconds)
2022-04-25 11:28:51 +0200 <[exa]> shiraeeshi: btw what precise section of the book are you at now? (if you can pls link the online version)
2022-04-25 11:30:42 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-04-25 11:31:34 +0200dsrt^(~dsrt@50.227.69.228) (Remote host closed the connection)
2022-04-25 11:34:06 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-25 11:35:24 +0200whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2022-04-25 11:35:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-25 11:35:38 +0200Midjak(~Midjak@82.66.147.146)
2022-04-25 11:36:14 +0200 <shiraeeshi> [exa]: chapter 7 "Efficiency", section 7.4 "Analyzing time"
2022-04-25 11:36:31 +0200 <shiraeeshi> I don't have a link to an online version, but you can download it from b-ok
2022-04-25 11:36:32 +0200xkuru(~xkuru@user/xkuru)
2022-04-25 11:37:41 +0200 <[exa]> turns out I've got a PDF right in ~
2022-04-25 11:38:32 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
2022-04-25 11:38:59 +0200 <[exa]> ok one thing that is just wrong there is the "not bothering about the constants involved"
2022-04-25 11:39:31 +0200abastro(~abab9579@192.249.26.175)
2022-04-25 11:41:18 +0200 <[exa]> for example, sum [1..n] == (n * (n-1)) / 2 == (n^2 / 2) - (n/2)
2022-04-25 11:41:47 +0200 <[exa]> and they say the sum is equal to Θ(n^2), hiding the constant, but (n/2) is far from being a constant :]
2022-04-25 11:42:55 +0200 <[exa]> the easier view is to imagine "if n is sufficiently big, all other terms except for a multiplicative constant are completely negligible"
2022-04-25 11:43:42 +0200 <shiraeeshi> you mean the term that is exponentiated to the largest power?
2022-04-25 11:44:01 +0200 <[exa]> yes, usually it's the "biggest" term
2022-04-25 11:44:03 +0200cosimone(~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3)
2022-04-25 11:44:21 +0200 <[exa]> for n=1 million, the n/2 is literally 1000000x smaller than n^2/2
2022-04-25 11:45:47 +0200 <shiraeeshi> I think it has something to do with the way they define big theta
2022-04-25 11:45:53 +0200 <[exa]> yes, the rigorous definition of Θ is similar to the limit, I use this:
2022-04-25 11:45:57 +0200 <shiraeeshi> they give the definition earlier in the book
2022-04-25 11:46:20 +0200 <shiraeeshi> there exists some K, so that x - K < [something] < x + K
2022-04-25 11:46:49 +0200 <shiraeeshi> so you can write it as Θ(x)
2022-04-25 11:48:08 +0200 <[exa]> you say that `f` belongs to complexity class `Θ(term)` if there exist constants n0, α and β (greater than 0) so that for all n>n0, α*term(n) ≤ f(n) ≤ β*term(n)
2022-04-25 11:48:22 +0200 <abastro> IT
2022-04-25 11:48:41 +0200 <shiraeeshi> no, wait, it's about two constants C1 and C2 so that C1*x <= [something] <= C2*x
2022-04-25 11:48:45 +0200 <abastro> It's the fastest increasing term
2022-04-25 11:49:02 +0200 <[exa]> I'd that works for our Θ(n^2) and sum [1..n] with constants say n0=10000, α=0.3, β=0.8
2022-04-25 11:49:25 +0200 <abastro> C1 * f(x) <= target <= C2 * f(x) for sufficiently big x.
2022-04-25 11:49:39 +0200anomal(~anomal@87.227.196.109)
2022-04-25 11:49:44 +0200 <abastro> Oh exa already said that. Meh
2022-04-25 11:49:50 +0200 <[exa]> if you\d say that the sum function belongs to Θ(n), eventually for sufficiently large `n`, the function `n^2` would get greater than the β-multiply of the term
2022-04-25 11:50:02 +0200 <abastro> Anyway it comes from math limit
2022-04-25 11:50:05 +0200 <[exa]> same for say Θ(n^2.1)
2022-04-25 11:50:31 +0200 <abastro> IIRC this forms some sort of equivalence class (or perhaps not)
2022-04-25 11:50:52 +0200 <[exa]> abastro: yes
2022-04-25 11:51:05 +0200 <[exa]> (a bit complicated though once you jump to ugly details)
2022-04-25 11:51:13 +0200 <abastro> Where Θ(n^k) for each k is in separate equivalence classes
2022-04-25 11:51:30 +0200 <abastro> Yea I mostly mean the ugly details when I said "im not sure"
2022-04-25 11:52:26 +0200notzmv(~zmv@user/notzmv) (Read error: Connection reset by peer)
2022-04-25 11:52:45 +0200 <[exa]> the other complicated piece in the book is the T notation
2022-04-25 11:53:41 +0200 <[exa]> T(function)(list of input sizes)=... says "the asymptotic time needed for a function to complete on input sizes is ..."
2022-04-25 11:55:32 +0200 <[exa]> the work there is afaik correct, but it's far from obvious; the author is good at following the scheme "just rewrite the function definitions to obvious partial time complexities and then apply _some_ math to get a direct formula", but for newcomers this separation is not very visible (esp. if they need to guess the _some_ math based on heuristics)
2022-04-25 11:55:38 +0200abastro(~abab9579@192.249.26.175) (Remote host closed the connection)
2022-04-25 11:56:27 +0200gpncarl(~gpncarl@222.249.231.3) (Ping timeout: 256 seconds)
2022-04-25 11:59:54 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-04-25 12:00:03 +0200abastro(~abab9579@192.249.26.175)
2022-04-25 12:01:23 +0200 <abastro[m]> Clever of author
2022-04-25 12:01:38 +0200 <shiraeeshi> is the rest of the book like that too?
2022-04-25 12:02:10 +0200 <shiraeeshi> or is this section a particularly dense part of the book?
2022-04-25 12:03:06 +0200 <shiraeeshi> the chapter before that section were more or less clear
2022-04-25 12:03:11 +0200 <shiraeeshi> *chapters
2022-04-25 12:03:42 +0200 <jerry99> style question: what do you think about doing x <- pure (computeNewValue x) over let x' = computeNewValue x?
2022-04-25 12:04:26 +0200 <jerry99> it prevents potential bug of using x instead of x'
2022-04-25 12:04:47 +0200xff0x_(~xff0x@125x102x200x106.ap125.ftth.ucom.ne.jp) (Ping timeout: 246 seconds)
2022-04-25 12:06:59 +0200jespada_(~jespada@146.70.119.10) (Ping timeout: 240 seconds)
2022-04-25 12:09:39 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-04-25 12:10:03 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-04-25 12:10:15 +0200acidjnk(~acidjnk@p200300d0c73b4554ec7e8ddc2cd32bc3.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-04-25 12:10:46 +0200jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-04-25 12:12:53 +0200dhil(~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net)
2022-04-25 12:13:00 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 276 seconds)
2022-04-25 12:13:33 +0200jespada(~jespada@146.70.119.92)
2022-04-25 12:14:06 +0200acidjnk(~acidjnk@p200300d0c73b455469ba8f1e402628de.dip0.t-ipconnect.de)
2022-04-25 12:14:59 +0200CiaoSen(~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-04-25 12:16:04 +0200 <shiraeeshi> the book actually showed how to apply induction when proving some equations
2022-04-25 12:16:52 +0200 <shiraeeshi> and the fact that they expressed m+1 case in terms of m case hints that you should apply the similar technique
2022-04-25 12:17:13 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-04-25 12:17:25 +0200 <shiraeeshi> but I couldn't put all the pieces together without some help
2022-04-25 12:17:41 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-04-25 12:18:06 +0200abastro(~abab9579@192.249.26.175) (Read error: Connection reset by peer)
2022-04-25 12:19:23 +0200abastro(~abab9579@192.249.26.175)
2022-04-25 12:37:51 +0200Core4993(~Core4993@2408:8409:1880:1f0d:4019:afff:fee9:16cc)
2022-04-25 12:39:42 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds)
2022-04-25 12:40:59 +0200Major_Biscuit(~MajorBisc@c-001-021-011.client.tudelft.eduvpn.nl) (Ping timeout: 240 seconds)
2022-04-25 12:41:46 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2022-04-25 12:48:07 +0200kaskal(~kaskal@2001:4bb8:2e0:b5bd:e3c0:d71b:f32:84d8)
2022-04-25 12:48:08 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-04-25 12:49:05 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-04-25 12:52:38 +0200CiaoSen(~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-04-25 12:53:33 +0200 <[exa]> shiraeeshi: the rest of the book should not depend too much on it, the point is that somehow this is kinda instinctive for everyone in CS (not really hard though), you just need to jump over the cliff at some point
2022-04-25 12:54:15 +0200Core4993(~Core4993@2408:8409:1880:1f0d:4019:afff:fee9:16cc) (Read error: Connection reset by peer)
2022-04-25 12:54:29 +0200Core4993(~Core4993@222.249.231.6)
2022-04-25 12:54:31 +0200 <[exa]> jerry99: I'd make a special name for `pure.computeNewValue` that explicitly looks like the 'x' is really changing
2022-04-25 12:55:15 +0200 <[exa]> other than that, preventing unwanted recursion is a good goal I'd guess, esp. if the codebase would contain a lot of such places
2022-04-25 12:55:55 +0200 <[exa]> shiraeeshi: (that said, getting some help with this is usually expected, esp. if you're not a math geek)
2022-04-25 12:58:36 +0200[exa]just realized that "jump over the cliff" doesn't translate well to english as an idiom
2022-04-25 13:04:25 +0200sprout(~quassel@2a02-a467-ccd6-1-5483-9565-9dfd-ed25.fixed6.kpn.net) (Ping timeout: 248 seconds)
2022-04-25 13:14:10 +0200Guest55(~Guest55@82.210.152.104)
2022-04-25 13:14:43 +0200 <Guest55> hello. Can you review this? https://www.mathworks.com/matlabcentral/fileexchange/110550-lu-decomposition-doolittle-crout
2022-04-25 13:16:52 +0200sprout(~quassel@2a02-a45f-f170-1-814e-302e-b3b3-1d39.fixed6.kpn.net)
2022-04-25 13:16:56 +0200 <[exa]> Guest55: that's matlab? how's that relevant to haskell?
2022-04-25 13:17:14 +0200 <Guest55> it is relevant to math
2022-04-25 13:17:45 +0200 <Guest55> and if you want, do you know a way to implement LU in haskell as fast as that code?
2022-04-25 13:18:04 +0200neurocyte8614492(~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
2022-04-25 13:18:35 +0200 <[exa]> you can run it from any blas library without much effort
2022-04-25 13:18:41 +0200 <Guest55> I tested it, and on a matrix 500x500, it runs on 0.2835 secs
2022-04-25 13:18:46 +0200 <[exa]> the library name is literally `blas`, see https://hackage.haskell.org/package/blas
2022-04-25 13:18:49 +0200 <Guest55> on intel core 2 duo
2022-04-25 13:19:05 +0200 <Guest55> indeed, but this has only 2 lines of code
2022-04-25 13:19:11 +0200 <Guest55> it is comparable?
2022-04-25 13:19:12 +0200gpncarl(~gpncarl@210.12.195.5)
2022-04-25 13:19:19 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net)
2022-04-25 13:19:20 +0200 <[exa]> so does the blas call I'd say
2022-04-25 13:19:35 +0200 <Guest55> oh, so i've got blas speed under my nails
2022-04-25 13:19:51 +0200neurocyte8614492(~neurocyte@IP-185189141186.dynamic.medianet-world.de)
2022-04-25 13:19:51 +0200neurocyte8614492(~neurocyte@IP-185189141186.dynamic.medianet-world.de) (Changing host)
2022-04-25 13:19:51 +0200neurocyte8614492(~neurocyte@user/neurocyte)
2022-04-25 13:20:03 +0200 <Guest55> i was just asking for an opinion about code
2022-04-25 13:21:10 +0200 <[exa]> not sure, I can't open it
2022-04-25 13:21:17 +0200 <[exa]> perhaps if you could pastebin it
2022-04-25 13:21:22 +0200arjun(~user@user/arjun)
2022-04-25 13:21:32 +0200 <Guest55> sure
2022-04-25 13:21:50 +0200 <Guest55> for starters, git repo: https://github.com/antonpuiu/Numerical-Methods/commit/c588d0727f78e0c7f6464b1b542c2611f7729e8f
2022-04-25 13:22:32 +0200jgeerds(~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 248 seconds)
2022-04-25 13:22:54 +0200 <Guest55> https://pastebin.com/mViH9CXv
2022-04-25 13:23:08 +0200 <Guest55> that's crout
2022-04-25 13:23:18 +0200 <[exa]> nah, it's matlab
2022-04-25 13:23:31 +0200 <[exa]> mathematically it might be sound but you may visit ##math for that
2022-04-25 13:23:34 +0200 <Guest55> this is doolittle
2022-04-25 13:23:35 +0200 <Guest55> https://pastebin.com/PChrwHy5
2022-04-25 13:23:41 +0200 <[exa]> similar for programming and #matlab
2022-04-25 13:23:49 +0200 <Guest55> indeed, i tried on both but no activity
2022-04-25 13:23:52 +0200 <[exa]> :(
2022-04-25 13:24:25 +0200 <[exa]> better remove the commented-out code and add source commentary to actually make the purpose and everything super-visible (<- general programming advice)
2022-04-25 13:24:27 +0200sprout(~quassel@2a02-a45f-f170-1-814e-302e-b3b3-1d39.fixed6.kpn.net) (Ping timeout: 240 seconds)
2022-04-25 13:24:44 +0200 <Guest55> that is just to check the time values
2022-04-25 13:24:47 +0200 <[exa]> I spot half of my mistakes when trying to make sense of the code the second time when documenting it for others
2022-04-25 13:25:17 +0200 <Guest55> https://github.com/antonpuiu/Numerical-Methods/blob/main/octave/lu/doolittle.m
2022-04-25 13:25:32 +0200 <Guest55> that commit was just to highlight the time difference
2022-04-25 13:26:12 +0200sprout(~quassel@2a02-a45f-f170-1-814e-302e-b3b3-1d39.fixed6.kpn.net)
2022-04-25 13:26:35 +0200 <Guest55> first version, altought vectorized for the sum, ran on 9.ish seconds, the second version 0.28
2022-04-25 13:26:42 +0200neurocyte8614492(~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
2022-04-25 13:27:27 +0200 <Guest55> in this case i don't feel the need to document this code, considering the fact that it is optimized
2022-04-25 13:28:09 +0200__monty__(~toonn@user/toonn)
2022-04-25 13:28:54 +0200 <Guest55> and it is just a script in octave ^.^
2022-04-25 13:28:55 +0200acidjnk(~acidjnk@p200300d0c73b455469ba8f1e402628de.dip0.t-ipconnect.de) (Remote host closed the connection)
2022-04-25 13:29:19 +0200acidjnk(~acidjnk@p200300d0c73b45545c9eacfd1d8aac0e.dip0.t-ipconnect.de)
2022-04-25 13:31:39 +0200zyklotomic(~ethan@r4-128-61-93-82.res.gatech.edu) (Ping timeout: 256 seconds)
2022-04-25 13:33:18 +0200zyklotomic(~ethan@res380d-128-61-87-152.res.gatech.edu)
2022-04-25 13:35:37 +0200mikoto-chan(~mikoto-ch@84.199.144.235) (Ping timeout: 256 seconds)
2022-04-25 13:36:20 +0200 <Guest55> and there is still room for improvement: https://pastebin.com/z0XrwCXm
2022-04-25 13:36:35 +0200acidjnk(~acidjnk@p200300d0c73b45545c9eacfd1d8aac0e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-04-25 13:38:45 +0200xff0x_(~xff0x@om126158170114.30.openmobile.ne.jp)
2022-04-25 13:39:50 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-25 13:45:46 +0200mikoto-chan(~mikoto-ch@84.199.144.235)
2022-04-25 13:51:02 +0200Guest55(~Guest55@82.210.152.104) (Ping timeout: 252 seconds)
2022-04-25 13:52:08 +0200Guest55(~Guest55@82.210.152.104)
2022-04-25 13:52:22 +0200Guest55(~Guest55@82.210.152.104) (Client Quit)
2022-04-25 13:53:30 +0200teddyc(theodorc@cassarossa.samfundet.no) (Quit: WeeChat 3.0)
2022-04-25 13:55:37 +0200Major_Biscuit(~MajorBisc@145.94.235.5)
2022-04-25 13:58:52 +0200tv(~tv@user/tv) (Ping timeout: 272 seconds)
2022-04-25 13:59:25 +0200Pickchea(~private@user/pickchea) (Ping timeout: 256 seconds)
2022-04-25 14:02:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-25 14:08:19 +0200teddyc(theodorc@cassarossa.samfundet.no)
2022-04-25 14:10:25 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-25 14:12:04 +0200tv(~tv@user/tv)
2022-04-25 14:13:54 +0200hololeap(~hololeap@user/hololeap) (Remote host closed the connection)
2022-04-25 14:19:32 +0200hololeap(~hololeap@user/hololeap)
2022-04-25 14:23:45 +0200lbseale(~ep1ctetus@user/ep1ctetus)
2022-04-25 14:23:48 +0200lbseale(~ep1ctetus@user/ep1ctetus) (Client Quit)
2022-04-25 14:29:34 +0200vorpuni(~pvorp@2001:861:3881:c690:aeec:dab5:81df:c256)
2022-04-25 14:36:34 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-25 14:39:04 +0200deadmarshal_(~deadmarsh@95.38.113.114)
2022-04-25 14:40:13 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2022-04-25 14:40:53 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
2022-04-25 14:41:55 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-04-25 14:47:00 +0200briandaed(~briandaed@109.95.142.93.r.toneticgroup.pl) (Ping timeout: 272 seconds)
2022-04-25 14:50:22 +0200xff0x_(~xff0x@om126158170114.30.openmobile.ne.jp) (Read error: Connection reset by peer)
2022-04-25 14:50:58 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Quit: leaving)
2022-04-25 14:51:19 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-25 14:52:15 +0200briandaed(~briandaed@109.95.142.93.r.toneticgroup.pl)
2022-04-25 14:58:08 +0200frost(~frost@user/frost) (Ping timeout: 252 seconds)
2022-04-25 14:59:54 +0200coot(~coot@213.134.190.95)
2022-04-25 15:01:07 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-04-25 15:01:11 +0200deadmarshal_(~deadmarsh@95.38.113.114) (Ping timeout: 246 seconds)
2022-04-25 15:04:01 +0200shiraeeshi(~shiraeesh@109.166.57.76) (Ping timeout: 256 seconds)
2022-04-25 15:06:38 +0200mikoto-chan(~mikoto-ch@84.199.144.235) (Ping timeout: 272 seconds)
2022-04-25 15:08:31 +0200sprout(~quassel@2a02-a45f-f170-1-814e-302e-b3b3-1d39.fixed6.kpn.net) (Ping timeout: 260 seconds)
2022-04-25 15:10:11 +0200frost(~frost@user/frost)
2022-04-25 15:11:52 +0200renzhi(~xp@2607:fa49:6500:b100::1d4a) (Ping timeout: 248 seconds)
2022-04-25 15:12:19 +0200vysn(~vysn@user/vysn) (Ping timeout: 240 seconds)
2022-04-25 15:12:31 +0200Core4993_(~Core4993@2408:8409:1880:1f0d:4019:afff:fee9:16cc)
2022-04-25 15:13:59 +0200Core4993(~Core4993@222.249.231.6) (Ping timeout: 240 seconds)
2022-04-25 15:16:25 +0200xff0x_(~xff0x@om126158204045.30.openmobile.ne.jp)
2022-04-25 15:17:30 +0200Core4993_(~Core4993@2408:8409:1880:1f0d:4019:afff:fee9:16cc) (Quit: CoreIRC for Android - www.coreirc.com)
2022-04-25 15:17:50 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-04-25 15:25:06 +0200renzhi(~xp@2607:fa49:6500:b100::19a0)
2022-04-25 15:28:00 +0200zebrag(~chris@user/zebrag)
2022-04-25 15:32:15 +0200EvanR_(~EvanR@user/evanr)
2022-04-25 15:32:49 +0200jgeerds(~jgeerds@d53604b0.access.ecotel.net)
2022-04-25 15:33:32 +0200EvanR(~EvanR@user/evanr) (Ping timeout: 250 seconds)
2022-04-25 15:36:18 +0200titibandit(~thibaut@2a00:8a60:c000:1:8a13:bf74:b2:8d47)
2022-04-25 15:36:40 +0200deadmarshal_(~deadmarsh@95.38.113.114)
2022-04-25 15:37:15 +0200leeb(~leeb@KD106155000251.au-net.ne.jp)
2022-04-25 15:39:25 +0200titibandit(~thibaut@2a00:8a60:c000:1:8a13:bf74:b2:8d47) ()
2022-04-25 15:40:36 +0200sprout(~quassel@77-169-234-124.fixed.kpn.net)
2022-04-25 15:41:05 +0200deadmarshal_(~deadmarsh@95.38.113.114) (Ping timeout: 246 seconds)
2022-04-25 15:45:56 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-04-25 15:47:09 +0200void(~vodage@118.201.231.83)
2022-04-25 15:48:42 +0200Sgeo(~Sgeo@user/sgeo)
2022-04-25 15:50:20 +0200vodage(~vodage@118.201.231.83) (Ping timeout: 272 seconds)
2022-04-25 15:50:32 +0200void1(~vodage@118.201.231.83)
2022-04-25 15:53:55 +0200void2(~vodage@118.201.231.83)
2022-04-25 15:54:00 +0200void(~vodage@118.201.231.83) (Ping timeout: 276 seconds)
2022-04-25 15:54:21 +0200Pickchea(~private@user/pickchea)
2022-04-25 15:55:23 +0200motherfsck(~motherfsc@user/motherfsck)
2022-04-25 15:56:39 +0200void1(~vodage@118.201.231.83) (Ping timeout: 240 seconds)
2022-04-25 16:00:34 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-25 16:03:33 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-25 16:09:14 +0200dextaa4(~dextaa@user/dextaa) (Remote host closed the connection)
2022-04-25 16:11:03 +0200acidjnk(~acidjnk@p200300d0c73b45549932693d78c3d853.dip0.t-ipconnect.de)
2022-04-25 16:14:39 +0200leeb(~leeb@KD106155000251.au-net.ne.jp) (WeeChat 3.2.1)
2022-04-25 16:17:38 +0200gehmehgeh(~user@user/gehmehgeh) (Remote host closed the connection)
2022-04-25 16:18:04 +0200frost(~frost@user/frost) (Ping timeout: 252 seconds)
2022-04-25 16:18:20 +0200gehmehgeh(~user@user/gehmehgeh)
2022-04-25 16:19:11 +0200caubert(~caubert@136.244.111.235) (Quit: WeeChat 3.4)
2022-04-25 16:19:21 +0200void3(~vodage@118.201.231.83)
2022-04-25 16:19:29 +0200caubert(~caubert@136.244.111.235)
2022-04-25 16:22:07 +0200void2(~vodage@118.201.231.83) (Ping timeout: 240 seconds)
2022-04-25 16:22:44 +0200void4(~vodage@118.201.231.83)
2022-04-25 16:23:54 +0200abastro(~abab9579@192.249.26.175) (Ping timeout: 276 seconds)
2022-04-25 16:25:19 +0200void3(~vodage@118.201.231.83) (Ping timeout: 240 seconds)
2022-04-25 16:26:39 +0200Pickchea(~private@user/pickchea) (Ping timeout: 240 seconds)
2022-04-25 16:27:19 +0200dhil(~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net) (Ping timeout: 256 seconds)
2022-04-25 16:27:34 +0200zer0bitz(~zer0bitz@2001:2003:f444:8f00:90b9:bbad:a877:920a)
2022-04-25 16:33:03 +0200void(~vodage@118.201.231.83)
2022-04-25 16:34:41 +0200briandaed(~briandaed@109.95.142.93.r.toneticgroup.pl) (Ping timeout: 256 seconds)
2022-04-25 16:35:01 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com)
2022-04-25 16:35:36 +0200void4(~vodage@118.201.231.83) (Ping timeout: 276 seconds)
2022-04-25 16:36:37 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-04-25 16:38:24 +0200void1(~vodage@118.201.231.83)
2022-04-25 16:38:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-25 16:39:55 +0200briandaed(~briandaed@109.95.142.93.r.toneticgroup.pl)
2022-04-25 16:41:17 +0200void(~vodage@118.201.231.83) (Ping timeout: 246 seconds)
2022-04-25 16:43:45 +0200void2(~vodage@118.201.231.83)
2022-04-25 16:44:42 +0200vysn(~vysn@user/vysn)
2022-04-25 16:45:44 +0200acidjnk(~acidjnk@p200300d0c73b45549932693d78c3d853.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2022-04-25 16:45:49 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-25 16:46:59 +0200void1(~vodage@118.201.231.83) (Ping timeout: 260 seconds)
2022-04-25 16:52:03 +0200lagash(lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in)
2022-04-25 16:53:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-25 16:53:28 +0200cdman(~dcm@user/dmc/x-4369397) (Quit: Leaving)
2022-04-25 16:54:51 +0200briandaed(~briandaed@109.95.142.93.r.toneticgroup.pl) (Quit: leaving)
2022-04-25 16:54:59 +0200briandaed(~briandaed@109.95.142.93.r.toneticgroup.pl)
2022-04-25 16:56:07 +0200mud(~mud@user/kadoban) (Ping timeout: 240 seconds)
2022-04-25 16:56:19 +0200mud(~mud@user/kadoban)
2022-04-25 16:56:39 +0200lagash(lagash@lagash.shelltalk.net)
2022-04-25 16:58:11 +0200void3(~vodage@118.201.231.83)
2022-04-25 16:58:26 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2022-04-25 17:00:11 +0200coot(~coot@213.134.190.95)
2022-04-25 17:01:27 +0200void2(~vodage@118.201.231.83) (Ping timeout: 260 seconds)
2022-04-25 17:01:52 +0200shriekingnoise(~shrieking@201.231.16.156)
2022-04-25 17:03:20 +0200briandaed(~briandaed@109.95.142.93.r.toneticgroup.pl) (Ping timeout: 246 seconds)
2022-04-25 17:05:14 +0200tremon(~tremon@83-84-18-241.cable.dynamic.v4.ziggo.nl)
2022-04-25 17:05:34 +0200void4(~vodage@118.201.231.83)
2022-04-25 17:05:56 +0200 <void4> nick vodage
2022-04-25 17:06:10 +0200void4vodage
2022-04-25 17:06:22 +0200vodage(~vodage@118.201.231.83) (Client Quit)
2022-04-25 17:06:27 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:b886:3eb2:a21d:c1a7) (Quit: WeeChat 2.8)
2022-04-25 17:07:19 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2022-04-25 17:08:35 +0200void3(~vodage@118.201.231.83) (Ping timeout: 246 seconds)
2022-04-25 17:08:41 +0200briandaed(~briandaed@109.95.142.93.r.toneticgroup.pl)
2022-04-25 17:09:30 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 272 seconds)
2022-04-25 17:11:01 +0200kadobanana(~mud@user/kadoban)
2022-04-25 17:11:02 +0200mud(~mud@user/kadoban) (Ping timeout: 250 seconds)
2022-04-25 17:16:03 +0200kadobanana(~mud@user/kadoban) (Read error: Connection reset by peer)
2022-04-25 17:16:28 +0200kadobanana(~mud@user/kadoban)
2022-04-25 17:22:03 +0200jerry99(~330f7c14@cerf.good1.com) (Quit: CGI:IRC (Session timeout))
2022-04-25 17:23:32 +0200kadobanana(~mud@user/kadoban) (Remote host closed the connection)
2022-04-25 17:23:57 +0200xff0x_(~xff0x@om126158204045.30.openmobile.ne.jp) (Read error: Connection reset by peer)
2022-04-25 17:23:57 +0200kadobanana(~mud@user/kadoban)
2022-04-25 17:24:15 +0200anomal(~anomal@87.227.196.109) (Remote host closed the connection)
2022-04-25 17:27:14 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-25 17:31:39 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-04-25 17:32:59 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds)
2022-04-25 17:33:59 +0200ec(~ec@gateway/tor-sasl/ec)
2022-04-25 17:35:32 +0200ccntrq(~Thunderbi@2a01:e34:eccb:b060:b841:3aa3:64b1:7cea) (Quit: ccntrq)
2022-04-25 17:44:06 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-25 17:45:58 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-25 17:47:11 +0200CiaoSen(~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-04-25 17:49:55 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-04-25 17:50:26 +0200kaph(~kaph@net-2-42-128-49.cust.vodafonedsl.it)
2022-04-25 17:51:18 +0200Major_Biscuit(~MajorBisc@145.94.235.5) (Ping timeout: 272 seconds)
2022-04-25 17:51:59 +0200kaph(~kaph@net-2-42-128-49.cust.vodafonedsl.it) (Remote host closed the connection)
2022-04-25 17:52:35 +0200kaph(~kaph@net-2-42-128-49.cust.vodafonedsl.it)
2022-04-25 17:52:59 +0200kaph(~kaph@net-2-42-128-49.cust.vodafonedsl.it) (Max SendQ exceeded)
2022-04-25 17:53:04 +0200azimut_(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
2022-04-25 17:54:33 +0200kaph(~kaph@net-2-42-128-49.cust.vodafonedsl.it)
2022-04-25 17:55:03 +0200kaph(~kaph@net-2-42-128-49.cust.vodafonedsl.it) (Remote host closed the connection)
2022-04-25 17:58:18 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-25 17:58:25 +0200mvk(~mvk@2607:fea8:5ce3:8500::aa1d)
2022-04-25 17:59:06 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Remote host closed the connection)
2022-04-25 18:03:13 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-04-25 18:05:36 +0200Major_Biscuit(~MajorBisc@145.94.235.5)
2022-04-25 18:07:03 +0200briandaed(~briandaed@109.95.142.93.r.toneticgroup.pl) (Ping timeout: 256 seconds)
2022-04-25 18:07:16 +0200Midjak(~Midjak@82.66.147.146) (Read error: Connection reset by peer)
2022-04-25 18:07:37 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2022-04-25 18:11:37 +0200 <Sgeo> Is there a list somewhere of every optics encoding people are known to have experimented with?
2022-04-25 18:12:38 +0200synthmeat(~synthmeat@user/synthmeat) (Remote host closed the connection)
2022-04-25 18:12:55 +0200synthmeat(~synthmeat@user/synthmeat)
2022-04-25 18:12:59 +0200synthmeat(~synthmeat@user/synthmeat) (Client Quit)
2022-04-25 18:13:25 +0200briandaed(~briandaed@109.95.142.93.r.toneticgroup.pl)
2022-04-25 18:14:25 +0200dextaa4(~dextaa@user/dextaa)
2022-04-25 18:17:33 +0200 <[exa]> Sgeo: recent papers have pretty good overviews (e.g. https://arxiv.org/pdf/2001.07488.pdf) but I doubt there will be an exhaustive list
2022-04-25 18:18:03 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-25 18:19:24 +0200 <Sgeo> Thank you
2022-04-25 18:19:31 +0200 <[exa]> otoh I guess there ain't gonna be much diversity-- there's the functor (Laarhoven) encoding, profunctor encoding, optics-style encoding that doesn't compose as functions, and the rest is probably going to be similar to most
2022-04-25 18:19:51 +0200 <[exa]> s/most/these/
2022-04-25 18:21:10 +0200synthmeat(~synthmeat@user/synthmeat)
2022-04-25 18:21:13 +0200zyklotomic(~ethan@res380d-128-61-87-152.res.gatech.edu) (Ping timeout: 256 seconds)
2022-04-25 18:21:32 +0200 <[exa]> also, as usual with computers, there's infinitely many indiscernible encodings
2022-04-25 18:21:35 +0200 <[exa]> :]
2022-04-25 18:22:46 +0200chele(~chele@user/chele) (Remote host closed the connection)
2022-04-25 18:23:01 +0200 <Sgeo> If I don't care about don't compose as functions, are there versions of that that do have a composition operator across different optics?
2022-04-25 18:23:29 +0200zyklotomic(~ethan@r4-128-61-94-122.res.gatech.edu)
2022-04-25 18:23:49 +0200 <c_wraith> the optics package does, though it requires the ecosystem be closed to make it work
2022-04-25 18:23:56 +0200 <c_wraith> @hackage optics
2022-04-25 18:23:56 +0200 <lambdabot> https://hackage.haskell.org/package/optics
2022-04-25 18:24:23 +0200 <tdammers> [exa]: not literally infinite, it's a finite machine after all
2022-04-25 18:25:01 +0200 <[exa]> tdammers: I shall build a bigger computer and break your logicks
2022-04-25 18:25:20 +0200 <tdammers> [exa]: I'm looking forward to seeing your infinitely big computer.
2022-04-25 18:25:31 +0200 <c_wraith> Sgeo: look at the fancy type here: https://hackage.haskell.org/package/optics-core-0.4.1/docs/Optics-Optic.html#v:-37-
2022-04-25 18:25:38 +0200[exa]hopes the universe won't run out too soon!
2022-04-25 18:27:14 +0200 <Andrew> Universe :: ()
2022-04-25 18:27:18 +0200 <Andrew> s/U/u/
2022-04-25 18:28:26 +0200 <[exa]> ._.
2022-04-25 18:29:01 +0200 <tdammers> time for a dependently typed universe
2022-04-25 18:30:22 +0200vicfred(~vicfred@user/vicfred)
2022-04-25 18:31:59 +0200dextaa4(~dextaa@user/dextaa) (Read error: Connection reset by peer)
2022-04-25 18:33:15 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 276 seconds)
2022-04-25 18:33:54 +0200dextaa4(~dextaa@user/dextaa)
2022-04-25 18:37:29 +0200jakalx(~jakalx@base.jakalx.net)
2022-04-25 18:39:04 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-04-25 18:39:41 +0200nfncf
2022-04-25 18:41:22 +0200 <EvanR_> that's like there aren't infinite numbers because any given number is finite
2022-04-25 18:41:45 +0200 <EvanR_> I guess there are those who troll such statements hard
2022-04-25 18:44:06 +0200EvanR_EvanR
2022-04-25 18:46:03 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-04-25 18:49:09 +0200thyriaen(~thyriaen@ip5f5af2d7.dynamic.kabel-deutschland.de)
2022-04-25 18:49:34 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2022-04-25 18:56:21 +0200jespada(~jespada@146.70.119.92) (Ping timeout: 256 seconds)
2022-04-25 18:56:48 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-04-25 18:57:34 +0200deadmarshal_(~deadmarsh@95.38.113.114)
2022-04-25 19:00:37 +0200jespada(~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net)
2022-04-25 19:02:19 +0200deadmarshal_(~deadmarsh@95.38.113.114) (Ping timeout: 260 seconds)
2022-04-25 19:02:34 +0200cosimone(~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) (Remote host closed the connection)
2022-04-25 19:03:01 +0200econo(uid147250@user/econo)
2022-04-25 19:03:14 +0200cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-04-25 19:06:06 +0200jespada_(~jespada@146.70.119.92)
2022-04-25 19:06:59 +0200jespada(~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net) (Ping timeout: 260 seconds)
2022-04-25 19:10:31 +0200troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 256 seconds)
2022-04-25 19:12:22 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds)
2022-04-25 19:12:47 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-04-25 19:18:14 +0200 <monochrom> It is not easy to design an experiment that refutes a claim of "my computer is infinitely big".
2022-04-25 19:19:57 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2022-04-25 19:20:06 +0200deadmarshal_(~deadmarsh@95.38.113.114)
2022-04-25 19:21:33 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-04-25 19:22:17 +0200dextaa4(~dextaa@user/dextaa) (Read error: Connection reset by peer)
2022-04-25 19:23:01 +0200benin(~benin@183.82.204.110) (Quit: The Lounge - https://thelounge.chat)
2022-04-25 19:23:08 +0200Major_Biscuit(~MajorBisc@145.94.235.5) (Ping timeout: 272 seconds)
2022-04-25 19:24:30 +0200dextaa4(~dextaa@user/dextaa)
2022-04-25 19:25:10 +0200kaph(~kaph@net-2-42-128-49.cust.vodafonedsl.it)
2022-04-25 19:26:18 +0200 <tdammers> monochrom: refuting the claim is easy. proving it may take a while.
2022-04-25 19:26:40 +0200coot(~coot@213.134.190.95)
2022-04-25 19:30:37 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-04-25 19:31:15 +0200jakalx(~jakalx@base.jakalx.net)
2022-04-25 19:32:16 +0200 <Hecate> monochrom: it's actually very easy. Allocate a thousand billion terabyte of RAM
2022-04-25 19:33:38 +0200 <exarkun> That can only demonstrate that you have an /allocator/ with a finite limit (or fail to demonstrate it).
2022-04-25 19:33:51 +0200 <[exa]> Hecate: I have them allocated. What do I do now?
2022-04-25 19:34:05 +0200 <exarkun> I think I would use a gravitational gradient measurement instrument.
2022-04-25 19:34:19 +0200 <exarkun> An infinitely large computer is bound to have a measurable impact on the local spacetime continuum.
2022-04-25 19:34:39 +0200 <[exa]> exarkun: good point, I'd say even a total impact
2022-04-25 19:34:55 +0200 <[exa]> (unless the computer is elongated in one direction)
2022-04-25 19:35:42 +0200 <geekosaur> remember that ghc allocates several TB without committing it :)
2022-04-25 19:36:10 +0200 <arjun> Aren't we all inside a computer already?
2022-04-25 19:36:38 +0200sprout(~quassel@77-169-234-124.fixed.kpn.net) (Ping timeout: 246 seconds)
2022-04-25 19:37:02 +0200 <arjun> games like GTA have in-game mini-games, we have in-game computers
2022-04-25 19:37:16 +0200Midjak(~Midjak@82.66.147.146)
2022-04-25 19:37:50 +0200 <EvanR> exarkun, if the computer was spread out, say clumped into galaxies and clusters spanning the entire universe
2022-04-25 19:37:56 +0200 <EvanR> should work, not sure
2022-04-25 19:38:13 +0200 <exarkun> EvanR: The universe doesn't even have infinite mass though
2022-04-25 19:38:33 +0200 <exarkun> I think this infinitely big computer might just be incompatible with our current understanding of physics.
2022-04-25 19:38:42 +0200 <EvanR> ambiguity between talking about the ENTIRE universe and the limited observable universe detected
2022-04-25 19:39:28 +0200 <EvanR> but you're right there's a noticable effect on spacetime
2022-04-25 19:39:38 +0200mbuf(~Shakthi@122.174.215.164) (Quit: Leaving)
2022-04-25 19:39:48 +0200mvk(~mvk@2607:fea8:5ce3:8500::aa1d) (Ping timeout: 240 seconds)
2022-04-25 19:39:55 +0200[exa]. o O (the surprise when you observe the whole universe and it generates a few next chunks as in minecraft)
2022-04-25 19:39:57 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-25 19:41:42 +0200 <monochrom> Hecate: Hrm you're right, I got this thing flipped heh.
2022-04-25 19:43:45 +0200 <EvanR> need a malloc that reacts to overallocation by blocking until amazon ships you more ram
2022-04-25 19:44:06 +0200 <exarkun> malloc() can succeed and place the order in the background
2022-04-25 19:44:12 +0200 <exarkun> only need to block when the page is written to
2022-04-25 19:44:16 +0200 <EvanR> yeah, that
2022-04-25 19:44:33 +0200 <exarkun> (this makes the implementation _much_ more realistic ...)
2022-04-25 19:44:56 +0200 <Hecate> [exa]: commit to it then ;)
2022-04-25 19:46:11 +0200vysn(~vysn@user/vysn) (Ping timeout: 260 seconds)
2022-04-25 19:48:16 +0200romesrf(~romes@185.5.8.134)
2022-04-25 19:49:43 +0200sprout(~quassel@2a02-a467-ccd6-1-c2b-6618-4046-f43a.fixed6.kpn.net)
2022-04-25 19:50:15 +0200whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2022-04-25 20:01:12 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com)
2022-04-25 20:05:25 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-25 20:06:06 +0200alp_(~alp@user/alp) (Remote host closed the connection)
2022-04-25 20:06:25 +0200alp_(~alp@user/alp)
2022-04-25 20:07:00 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-04-25 20:07:49 +0200alp_(~alp@user/alp) (Remote host closed the connection)
2022-04-25 20:08:09 +0200alp_(~alp@user/alp)
2022-04-25 20:11:55 +0200mikoto-chan(~mikoto-ch@213.177.151.239)
2022-04-25 20:14:46 +0200 <tdammers> minecraft worlds are finite though
2022-04-25 20:17:57 +0200 <EvanR> thanks microsoft
2022-04-25 20:18:27 +0200 <EvanR> they put an invisible wall very much closer than previous hard limits
2022-04-25 20:18:39 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-25 20:23:38 +0200 <[exa]> microsoft finitists!!!1
2022-04-25 20:26:32 +0200deadmarshal_(~deadmarsh@95.38.113.114) (Ping timeout: 248 seconds)
2022-04-25 20:26:39 +0200 <tdammers> flat earth confirmed
2022-04-25 20:32:37 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Remote host closed the connection)
2022-04-25 20:37:52 +0200troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2022-04-25 20:40:09 +0200thyriaen(~thyriaen@ip5f5af2d7.dynamic.kabel-deutschland.de) (Quit: Leaving)
2022-04-25 20:40:41 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 246 seconds)
2022-04-25 20:40:45 +0200caef^(~caef@50.227.69.228)
2022-04-25 20:43:52 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-25 20:44:10 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2022-04-25 20:49:49 +0200anomal(~anomal@87.227.196.109)
2022-04-25 20:52:46 +0200arjun(~user@user/arjun) (Remote host closed the connection)
2022-04-25 20:56:16 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-25 20:59:39 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Remote host closed the connection)
2022-04-25 21:00:00 +0200ubert(~Thunderbi@p200300ecdf15886161bde835a28140c8.dip0.t-ipconnect.de) (Quit: ubert)
2022-04-25 21:00:20 +0200ubert(~Thunderbi@p200300ecdf15886161bde835a28140c8.dip0.t-ipconnect.de)
2022-04-25 21:00:53 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com) (Remote host closed the connection)
2022-04-25 21:01:12 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com)
2022-04-25 21:01:18 +0200romesrf(~romes@185.5.8.134) (Ping timeout: 272 seconds)
2022-04-25 21:02:42 +0200xaotuk(~sasha@109.245.225.166)
2022-04-25 21:02:51 +0200ubert(~Thunderbi@p200300ecdf15886161bde835a28140c8.dip0.t-ipconnect.de) (Client Quit)
2022-04-25 21:03:10 +0200ubert(~Thunderbi@p200300ecdf15886161bde835a28140c8.dip0.t-ipconnect.de)
2022-04-25 21:07:14 +0200zincy(~zincy@2a00:23c8:970c:4801:51f:ae2a:2368:1dfb)
2022-04-25 21:07:31 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-25 21:07:43 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-25 21:11:31 +0200kuribas(~user@ptr-17d51epkc6cunhibcd0.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2022-04-25 21:12:30 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 276 seconds)
2022-04-25 21:13:19 +0200coot(~coot@213.134.190.95) (Ping timeout: 240 seconds)
2022-04-25 21:15:41 +0200caef^(~caef@50.227.69.228) (Remote host closed the connection)
2022-04-25 21:16:46 +0200slack1256(~slack1256@191.126.227.203)
2022-04-25 21:17:26 +0200briandaed(~briandaed@109.95.142.93.r.toneticgroup.pl) (Quit: Lost terminal)
2022-04-25 21:18:05 +0200 <slack1256> I am currently losing a politically battle at the company for using haskell on the future ;_; .
2022-04-25 21:18:17 +0200 <slack1256> Like I am the middle of the reunion now.
2022-04-25 21:18:45 +0200 <exarkun> slack1256: what's the alternative
2022-04-25 21:18:54 +0200coot(~coot@213.134.190.95)
2022-04-25 21:19:09 +0200 <slack1256> The main argument is that is difficult to hire. But I am sure the recruiter are searching only in linkedin, but not using reddit nor -cafe.
2022-04-25 21:19:33 +0200 <tdammers> well, haskellers *are* difficult to find, especially if you need a lot of them on short notice
2022-04-25 21:19:51 +0200 <tdammers> whether you should ever run a company such that you need a lot of developers on a short notice is another discussion of course
2022-04-25 21:20:48 +0200 <EvanR> new shipment of java coders coming up
2022-04-25 21:22:57 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2022-04-25 21:23:44 +0200 <tdammers> "the last batch was faulty, we had to return them. they kept babbling about 'scah-lah' and 'funk-shernal proh-cramming' and such"
2022-04-25 21:23:59 +0200AlexZenon_2AlexZenon
2022-04-25 21:25:34 +0200dhil(~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net)
2022-04-25 21:26:24 +0200 <slack1256> This sounds like BS to me. There are a bunch of guys here, on reddit and -cafe that are willing to get a work using haskell on production. I am pretty sure it is caused by where they are searching. How would I test this hypotesis ethically?
2022-04-25 21:27:03 +0200 <tdammers> find a $10M research grant, hire them all
2022-04-25 21:27:15 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-25 21:28:10 +0200Pickchea(~private@user/pickchea)
2022-04-25 21:28:38 +0200 <slack1256> The other complain is that there is no `wreq` for http2.
2022-04-25 21:28:55 +0200 <slack1256> There is a Client module on a Kazu's library, but it is not ergonomic.
2022-04-25 21:29:01 +0200ncf(~n@monade.li) (Quit: Fairfarren.)
2022-04-25 21:29:11 +0200nf(~n@monade.li)
2022-04-25 21:29:32 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-04-25 21:29:51 +0200nfncf
2022-04-25 21:31:03 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
2022-04-25 21:31:04 +0200 <dolio> Maybe you have a different idea of 'hard to hire.'
2022-04-25 21:31:59 +0200 <slack1256> Maybe...
2022-04-25 21:33:00 +0200 <dolio> Like, if you want to treat your programmers as disposable cogs, there are orders of magnitude more people using trendier languages to try to 'make money in tech,' or whatever.
2022-04-25 21:35:06 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2022-04-25 21:36:33 +0200acidjnk(~acidjnk@p200300d0c73b45549932693d78c3d853.dip0.t-ipconnect.de)
2022-04-25 21:36:39 +0200vorpuni(~pvorp@2001:861:3881:c690:aeec:dab5:81df:c256) (Ping timeout: 240 seconds)
2022-04-25 21:38:08 +0200redb(~nmh@136.49.49.211) (Read error: Connection reset by peer)
2022-04-25 21:38:14 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-25 21:38:21 +0200 <slack1256> BTW, do you guys use http2 as a client on any of your programs? What do you use or do?
2022-04-25 21:40:25 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-25 21:41:00 +0200shiraeeshi(~shiraeesh@109.166.57.88)
2022-04-25 21:41:13 +0200laolmtdea^(~laolmtdea@50.227.69.228)
2022-04-25 21:41:16 +0200sw4n(~sw4n@cpe-104-228-16-7.nycap.res.rr.com)
2022-04-25 21:42:01 +0200liz(~liz@host109-151-125-217.range109-151.btcentralplus.com)
2022-04-25 21:42:48 +0200redb(~nmh@136.49.49.211)
2022-04-25 21:49:38 +0200sw4n(~sw4n@cpe-104-228-16-7.nycap.res.rr.com) (Remote host closed the connection)
2022-04-25 21:49:56 +0200sw4n(~sw4n@cpe-104-228-16-7.nycap.res.rr.com)
2022-04-25 21:50:08 +0200shriekingnoise(~shrieking@201.231.16.156) (Quit: Quit)
2022-04-25 21:53:00 +0200sw4n(~sw4n@cpe-104-228-16-7.nycap.res.rr.com) (Remote host closed the connection)
2022-04-25 21:53:23 +0200zeenk(~zeenk@2a02:2f0e:7713:b01:9f0b:5fe0:531e:9cf6)
2022-04-25 21:54:52 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.5)
2022-04-25 21:57:06 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-25 21:57:49 +0200zeenk2(~zeenk@82.79.126.41)
2022-04-25 21:57:54 +0200zeenk(~zeenk@2a02:2f0e:7713:b01:9f0b:5fe0:531e:9cf6) (Ping timeout: 250 seconds)
2022-04-25 22:00:55 +0200kaph(~kaph@net-2-42-128-49.cust.vodafonedsl.it) (Read error: Connection reset by peer)
2022-04-25 22:00:59 +0200alp_(~alp@user/alp) (Ping timeout: 240 seconds)
2022-04-25 22:01:09 +0200kaph(~kaph@net-2-42-128-49.cust.vodafonedsl.it)
2022-04-25 22:04:24 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-25 22:04:54 +0200qhong(~qhong@rescomp-21-400677.stanford.edu)
2022-04-25 22:04:57 +0200pavonia(~user@user/siracusa)
2022-04-25 22:05:20 +0200zincy(~zincy@2a00:23c8:970c:4801:51f:ae2a:2368:1dfb) (Remote host closed the connection)
2022-04-25 22:07:08 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2022-04-25 22:10:22 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-25 22:11:13 +0200 <hololeap> http/1.1 gang
2022-04-25 22:12:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-25 22:12:17 +0200 <hololeap> I don't know the difference, tbh
2022-04-25 22:12:36 +0200shriekingnoise(~shrieking@201.231.16.156)
2022-04-25 22:13:05 +0200troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 246 seconds)
2022-04-25 22:13:13 +0200 <exarkun> I hear http3 is coming any minute now anyway
2022-04-25 22:15:01 +0200 <sclv> there are a couple http2 clients in haskell and building a wreq-like interface over them wouldn’t be hard
2022-04-25 22:15:35 +0200 <sclv> but also grpc is the only thing i know of that requires http2 and there are libraries specifically for that
2022-04-25 22:16:50 +0200 <sclv> vis a vis the other stuff its not “hard to hire” 2 or 3 at a time at all. But if you want 20 or so at once its a different story — but again, who wants that!?
2022-04-25 22:17:17 +0200coot(~coot@213.134.190.95)
2022-04-25 22:17:57 +0200 <exarkun> "hard" and "easy" are not intrinsic to the task, anyway. it is no doubt easier for some people/orgs to hire haskell programmers than it is for other people/orgs.
2022-04-25 22:21:06 +0200fendor_(~fendor@178.165.165.71.wireless.dyn.drei.com)
2022-04-25 22:22:54 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-25 22:24:00 +0200fendor(~fendor@178.115.54.135.wireless.dyn.drei.com) (Ping timeout: 276 seconds)
2022-04-25 22:24:56 +0200jgeerds(~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 248 seconds)
2022-04-25 22:25:08 +0200AkechiShiro(~licht@user/akechishiro) (Quit: WeeChat 3.2.1)
2022-04-25 22:25:44 +0200AkechiShiro(~licht@user/akechishiro)
2022-04-25 22:27:00 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-04-25 22:27:09 +0200redb(~nmh@136.49.49.211) (Ping timeout: 256 seconds)
2022-04-25 22:28:56 +0200redb(~nmh@136.49.49.211)
2022-04-25 22:30:31 +0200zincy(~zincy@2a00:23c8:970c:4801:51f:ae2a:2368:1dfb)
2022-04-25 22:30:42 +0200 <slack1256> sclv: There is also apple APN stuff. That is http2 only AFAIK.
2022-04-25 22:30:52 +0200zeenk(~zeenk@2a02:2f0e:7603:9c01:4e89:6ef1:76e9:3685)
2022-04-25 22:31:52 +0200zeenk2(~zeenk@82.79.126.41) (Ping timeout: 272 seconds)
2022-04-25 22:32:04 +0200hololeap(~hololeap@user/hololeap) (Ping timeout: 240 seconds)
2022-04-25 22:32:22 +0200 <sclv> interesting! I didn’t know
2022-04-25 22:33:11 +0200 <sclv> apparently the final cutover was march 31
2022-04-25 22:35:03 +0200hololeap(~hololeap@user/hololeap)
2022-04-25 22:38:43 +0200 <slack1256> cutover?
2022-04-25 22:40:11 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-25 22:41:04 +0200hololeap(~hololeap@user/hololeap) (Ping timeout: 240 seconds)
2022-04-25 22:41:33 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2022-04-25 22:42:14 +0200 <geekosaur> https://developer.apple.com/news/?id=c88acm2b
2022-04-25 22:43:04 +0200mshiraeeshi(~shiraeesh@46.34.207.121)
2022-04-25 22:45:10 +0200shiraeeshi(~shiraeesh@109.166.57.88) (Ping timeout: 272 seconds)
2022-04-25 22:48:37 +0200 <slack1256> Oh, thanks geekosaur.
2022-04-25 22:49:12 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-25 22:52:01 +0200zer0bitz(~zer0bitz@2001:2003:f444:8f00:90b9:bbad:a877:920a) (Read error: Connection reset by peer)
2022-04-25 22:52:20 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-04-25 22:53:20 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-04-25 22:55:09 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-04-25 22:58:03 +0200troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2022-04-25 23:02:59 +0200ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2022-04-25 23:03:27 +0200ec(~ec@gateway/tor-sasl/ec)
2022-04-25 23:05:03 +0200dextaa4(~dextaa@user/dextaa) (Read error: Connection reset by peer)
2022-04-25 23:05:32 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-04-25 23:06:28 +0200dextaa4(~dextaa@user/dextaa)
2022-04-25 23:07:11 +0200zincy(~zincy@2a00:23c8:970c:4801:51f:ae2a:2368:1dfb) (Remote host closed the connection)
2022-04-25 23:08:57 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-04-25 23:09:51 +0200dextaa4(~dextaa@user/dextaa) (Read error: Connection reset by peer)
2022-04-25 23:12:03 +0200dextaa4(~dextaa@user/dextaa)
2022-04-25 23:16:22 +0200stackdroid18(14094@user/stackdroid)
2022-04-25 23:17:28 +0200laolmtdea^(~laolmtdea@50.227.69.228) (Ping timeout: 272 seconds)
2022-04-25 23:21:01 +0200Midjak(~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
2022-04-25 23:23:18 +0200Bulby[m](~bulbyvrma@2001:470:69fc:105::1:fe0a)
2022-04-25 23:23:53 +0200 <Bulby[m]> anyone have any idea how to read named pipes (i.e. things created w/ mkfifo)
2022-04-25 23:25:00 +0200mvk(~mvk@2607:fea8:5ce3:8500::aa1d)
2022-04-25 23:27:18 +0200 <Bulby[m]> https://github.com/TheDrawingCoder-Gamer/haskell-status/blob/fifo/app/Status/Plugins/FIFOPipe.hs this crashes with an eof error when the pipe is written to
2022-04-25 23:28:03 +0200 <geekosaur> they're tricky. there must be a writer first, and when that writer disconnects the pipe is dead. safest is to always open it read-write so it's always got both a writer and a reader, and use a protocol to indicate end of message
2022-04-25 23:28:20 +0200 <geekosaur> if this is not what you want, perhaps you want an AF_LOCAL socket instead
2022-04-25 23:28:22 +0200 <monochrom> :(
2022-04-25 23:28:53 +0200 <Bulby[m]> i will only be reading; external programs will write
2022-04-25 23:29:53 +0200 <geekosaur> I'm telling you how they work, not how you would like them to work
2022-04-25 23:30:02 +0200 <Bulby[m]> 😭
2022-04-25 23:30:09 +0200 <geekosaur> open it O_RDWR
2022-04-25 23:30:23 +0200 <geekosaur> or use a socket instead
2022-04-25 23:30:32 +0200 <geekosaur> FIFOs don't work thye way people always want them to
2022-04-25 23:31:07 +0200 <Bulby[m]> how would a socket work. I want it to be able to be written to from the CLI so my sway config can write to it
2022-04-25 23:31:57 +0200 <exarkun> some shells can make socket connections
2022-04-25 23:32:16 +0200 <exarkun> or, that's not what you meant is it
2022-04-25 23:32:17 +0200 <Bulby[m]> ☹️
2022-04-25 23:32:20 +0200alp_(~alp@user/alp)
2022-04-25 23:32:29 +0200 <exarkun> why can't your CLI program open a socket and connect somewhere?
2022-04-25 23:32:44 +0200 <monochrom> Perhaps up the game and do dbus thingies...
2022-04-25 23:32:48 +0200 <Bulby[m]> wym?
2022-04-25 23:32:57 +0200 <sm> life is too short. Write numbered files in a directory. 🤪
2022-04-25 23:33:26 +0200cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection)
2022-04-25 23:34:06 +0200 <Bulby[m]> I want my sway config to be able to update the data, as it does it wob
2022-04-25 23:34:35 +0200 <monochrom> exarkun: Probably a third-party program expects to just open(filename...) which may be incompatible if filename is a local socket. But I haven't checked.
2022-04-25 23:34:44 +0200 <Bulby[m]> `https://github.com/TheDrawingCoder-Gamer/haskell-status/blob/fifo/app/Status/Plugins/FIFOPipe.hs`
2022-04-25 23:34:44 +0200 <Bulby[m]> wai
2022-04-25 23:34:49 +0200 <Bulby[m]> oh i always forget yanking
2022-04-25 23:35:01 +0200 <Bulby[m]> `bindsym XF86AudioLowerVolume exec pamixer -ud 2 && pamixer --get-volume > $WOBSOCK`
2022-04-25 23:35:21 +0200 <exarkun> there's always socat
2022-04-25 23:35:29 +0200 <exarkun> your-program-writes-to-stdout | socat ...
2022-04-25 23:35:41 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 246 seconds)
2022-04-25 23:35:45 +0200 <Bulby[m]> it should handle multiple sockets
2022-04-25 23:36:05 +0200 <monochrom> Interesting.
2022-04-25 23:36:09 +0200 <exarkun> I can play the moving-goalposts game as well as anybody, but it happens to be dinner time now.
2022-04-25 23:36:38 +0200 <monochrom> Heh "but exarkun but I'm on Windows!"
2022-04-25 23:37:06 +0200 <jhagborg> Bulby[m], what is the goal here? You want some existing process (sway?) to be able to send a message to your program?
2022-04-25 23:37:15 +0200 <monochrom> Although I feel that this is not so much moving goalpost as "I want, gimme".
2022-04-25 23:37:17 +0200 <Bulby[m]> yes
2022-04-25 23:37:58 +0200michalz(~michalz@185.246.204.107) (Remote host closed the connection)
2022-04-25 23:38:02 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-25 23:38:03 +0200 <jhagborg> What interface does sway expect? Can you give it arbitrary commands? A filename? A dbus address?
2022-04-25 23:38:13 +0200 <Bulby[m]> sway can run bash commands, so a CLI way from a different process is what I want
2022-04-25 23:38:26 +0200 <Bulby[m]> bash commands?
2022-04-25 23:38:27 +0200malinoskj290(~malinoskj@48.170-avail-pool-cc.sccoast.net) (malinoskj2 has left.)
2022-04-25 23:38:30 +0200 <Bulby[m]> just shell commands
2022-04-25 23:38:59 +0200[Leary](~Leary]@122-58-90-96-vdsl.sparkbb.co.nz) (Remote host closed the connection)
2022-04-25 23:39:25 +0200 <jhagborg> Ok, then you can do pretty much anything, but either a socket or dbus sounds good to me.
2022-04-25 23:39:50 +0200 <Bulby[m]> ok... so how would the socket interface work on the sway side
2022-04-25 23:40:04 +0200[Leary](~Leary]@122-58-90-96-vdsl.sparkbb.co.nz)
2022-04-25 23:40:15 +0200 <jhagborg> From the command line, you can run echo, piped into socat
2022-04-25 23:40:45 +0200 <Bulby[m]> what libs would I use for sockets
2022-04-25 23:40:59 +0200cheater(~Username@user/cheater) (Ping timeout: 240 seconds)
2022-04-25 23:41:27 +0200cheater(~Username@user/cheater)
2022-04-25 23:41:45 +0200ec(~ec@gateway/tor-sasl/ec) (Quit: ec)
2022-04-25 23:42:00 +0200Pickchea(~private@user/pickchea) (Ping timeout: 276 seconds)
2022-04-25 23:43:29 +0200 <jhagborg> I'm not sure... likely something in `unix`?
2022-04-25 23:43:49 +0200ec(~ec@gateway/tor-sasl/ec)
2022-04-25 23:44:01 +0200 <monochrom> network, and use AF_UNIX
2022-04-25 23:44:04 +0200slack1256(~slack1256@191.126.227.203) (Ping timeout: 272 seconds)
2022-04-25 23:44:44 +0200ec(~ec@gateway/tor-sasl/ec) (Client Quit)
2022-04-25 23:44:55 +0200ec(~ec@gateway/tor-sasl/ec)
2022-04-25 23:44:58 +0200dextaa4(~dextaa@user/dextaa) (Remote host closed the connection)
2022-04-25 23:45:04 +0200 <monochrom> I think the unix package doesn't have the socket API.
2022-04-25 23:45:16 +0200 <Bulby[m]> it does not
2022-04-25 23:47:32 +0200 <jhagborg> dbus is another option. it's a bit higher-level than sockets. it has support in the `dbus` package
2022-04-25 23:48:12 +0200 <jhagborg> you can call it from cli with dbus-send
2022-04-25 23:48:45 +0200 <jhagborg> I would go with that, so I don't have to think about marshalling arguments myself
2022-04-25 23:49:19 +0200troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 256 seconds)
2022-04-25 23:49:21 +0200 <monochrom> geekosaur: Hrm, I'm reading a linux book, supposedly opening a fifo for read-only is safe, it just blocks until someone else opens for writing...
2022-04-25 23:49:36 +0200 <geekosaur> yes. what happens when the writer closes?
2022-04-25 23:49:55 +0200 <geekosaur> (answer: you get eof, and nobody else can open for write)
2022-04-25 23:52:38 +0200malinoskj290(~malinoskj@48.170-avail-pool-cc.sccoast.net)
2022-04-25 23:53:02 +0200coot(~coot@213.134.190.95)
2022-04-25 23:55:37 +0200segfaultfizzbuzz(~segfaultf@135-180-12-202.fiber.dynamic.sonic.net)
2022-04-25 23:56:25 +0200 <monochrom> Supposedly a server could go "if eof then I close too and open again"...
2022-04-25 23:56:54 +0200 <jhagborg> Bulby[m], if what you're writing is a user or system daemon, and you're going to run it with systemd, there is some nice integration with dbus... for example, you can have your application only start up once sway tries to call it. or you can consider your software not "ready" until it claims a dbus name
2022-04-25 23:57:07 +0200ub(~Thunderbi@p548c8d44.dip0.t-ipconnect.de)
2022-04-25 23:57:09 +0200 <monochrom> However, given that no packet boundary is guaranteed, it is still a good idea to make your own delimiter.
2022-04-25 23:57:25 +0200zeenk(~zeenk@2a02:2f0e:7603:9c01:4e89:6ef1:76e9:3685) (Quit: Konversation terminated!)
2022-04-25 23:57:28 +0200 <jhagborg> monochrom, that sounds like there could be a race condition
2022-04-25 23:57:36 +0200vicfred(~vicfred@user/vicfred)
2022-04-25 23:57:43 +0200ubert(~Thunderbi@p200300ecdf15886161bde835a28140c8.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-04-25 23:57:44 +0200ububert
2022-04-25 23:57:55 +0200 <jhagborg> what if the client sends multiple requests quickly?
2022-04-25 23:58:16 +0200 <Bulby[m]> it's meant for my status bar
2022-04-25 23:58:20 +0200 <Bulby[m]> so the latest one will be taken
2022-04-25 23:58:26 +0200 <monochrom> Very possibly in this application it's overkill to worry about that.
2022-04-25 23:59:27 +0200 <monochrom> But I'm OK with this stance: Since you need your own delimiter convention anyway, why not have the server open(... RDWR) and be done with it.