Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
2021-03-20 15:04:50 × hiroaki quits (~hiroaki@2a02:908:4b18:8c40:d38e:dbbf:8a95:76f2) (Ping timeout: 264 seconds)
2021-03-20 15:06:24 wayne__ is now known as wayne
2021-03-20 15:06:32 × wayne quits (~wayne@consume.rocks) (Changing host)
2021-03-20 15:06:32 wayne joins (~wayne@unaffiliated/wayne)
2021-03-20 15:06:32 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 240 seconds)
2021-03-20 15:08:45 × bitmagie quits (~Thunderbi@200116b806855300b098de2ef1518cac.dip.versatel-1u1.de) (Quit: bitmagie)
2021-03-20 15:09:17 mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan)
2021-03-20 15:09:24 × mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Client Quit)
2021-03-20 15:10:12 × jrqc quits (~rofl@96.78.87.197) (Ping timeout: 246 seconds)
2021-03-20 15:10:23 hackage rattletrap 11.0.1 - Parse and generate Rocket League replays. https://hackage.haskell.org/package/rattletrap-11.0.1 (fozworth)
2021-03-20 15:11:37 Kaiepi joins (~Kaiepi@47.54.252.148)
2021-03-20 15:20:02 chenshen joins (~chenshen@2620:10d:c090:400::5:d9c5)
2021-03-20 15:20:03 kiweun joins (~kiweun@2607:fea8:2a62:9600:7566:23e2:7687:b8cb)
2021-03-20 15:20:36 × tinhatcat quits (~tsranso@108-91-101-161.lightspeed.gnvlsc.sbcglobal.net) (Quit: Leaving)
2021-03-20 15:25:17 epicte7us joins (~epictetus@ip72-194-215-136.sb.sd.cox.net)
2021-03-20 15:25:29 × Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Quit: WeeChat 3.0)
2021-03-20 15:26:45 × xff0x_ quits (~xff0x@2001:1a81:527b:4200:5766:67eb:a550:2a8c) (Ping timeout: 265 seconds)
2021-03-20 15:26:46 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
2021-03-20 15:26:56 × ep1ctetus quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Ping timeout: 240 seconds)
2021-03-20 15:26:58 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
2021-03-20 15:27:11 × Nik05 quits (~Nik05@unaffiliated/nik05) (Quit: ZNC 1.8.2 - https://znc.in)
2021-03-20 15:27:35 Sathiana joins (~kath@185-113-98-38.cust.bredband2.com)
2021-03-20 15:28:13 xff0x_ joins (~xff0x@2001:1a81:527b:4200:5766:67eb:a550:2a8c)
2021-03-20 15:30:11 average joins (uid473595@gateway/web/irccloud.com/x-hdmdexfvuhnmptgq)
2021-03-20 15:30:51 heatsink joins (~heatsink@2600:1700:bef1:5e10:6075:d116:7f4b:9342)
2021-03-20 15:31:58 shad0w_ joins (a0ca254d@160.202.37.77)
2021-03-20 15:32:16 jrqc joins (~rofl@2603:3016:1e01:b940:7074:f61a:eb8a:c09b)
2021-03-20 15:32:55 × shad0w_ quits (a0ca254d@160.202.37.77) (Client Quit)
2021-03-20 15:33:18 elusive joins (~Jeanne-Ka@static-198-54-134-157.cust.tzulo.com)
2021-03-20 15:33:18 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
2021-03-20 15:33:33 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
2021-03-20 15:34:27 × molehillish quits (~molehilli@2600:8800:8d06:1800:c1f2:e355:53f0:4ab8) (Ping timeout: 260 seconds)
2021-03-20 15:34:27 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
2021-03-20 15:34:39 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
2021-03-20 15:36:02 × heatsink quits (~heatsink@2600:1700:bef1:5e10:6075:d116:7f4b:9342) (Ping timeout: 264 seconds)
2021-03-20 15:37:03 Lycurgus joins (~niemand@98.4.116.165)
2021-03-20 15:37:13 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-20 15:37:35 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-03-20 15:37:36 conal joins (~conal@64.71.133.70)
2021-03-20 15:39:02 × jrqc quits (~rofl@2603:3016:1e01:b940:7074:f61a:eb8a:c09b) (Ping timeout: 264 seconds)
2021-03-20 15:39:46 × Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Quit: WeeChat 3.0)
2021-03-20 15:40:13 Sathiana joins (~kath@185-113-98-38.cust.bredband2.com)
2021-03-20 15:42:08 × remal quits (~remal@d24-57-234-201.home.cgocable.net) (Ping timeout: 245 seconds)
2021-03-20 15:42:31 jrqc joins (~rofl@96.78.87.197)
2021-03-20 15:42:49 matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
2021-03-20 15:43:06 hexagenic joins (~mattias@81-224-107-147-no71.tbcn.telia.com)
2021-03-20 15:46:52 alx741 joins (~alx741@181.196.68.246)
2021-03-20 15:46:52 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
2021-03-20 15:47:14 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
2021-03-20 15:48:04 × ft quits (~ft@shell.chaostreff-dortmund.de) (Remote host closed the connection)
2021-03-20 15:49:16 × linarcx quits (~linarcx@151.241.50.25) (Quit: WeeChat 3.1)
2021-03-20 15:49:51 <bbhoss> How much do I need to think about stack depth and tail call optimization with Haskell?
2021-03-20 15:51:18 <c_wraith> several things: GHC uses the stack for nested evaluation, not fucntion calls. All tail calls are eliminated. And tail calls are usually inferior to guarded co-recursion
2021-03-20 15:51:20 <Lycurgus> that they are things
2021-03-20 15:52:34 <c_wraith> So... sometimes tail calls come up. But it's usually more important to focus on preventing nested evaluation
2021-03-20 15:52:41 <Lycurgus> these days when would you ever "worry" about stack depth, outside of normal programming sensicality?
2021-03-20 15:52:49 <c_wraith> or rather, deeply-nested evaluation
2021-03-20 15:53:17 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-20 15:53:32 Nik05 joins (~Nik05@unaffiliated/nik05)
2021-03-20 15:53:32 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
2021-03-20 15:53:51 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
2021-03-20 15:55:20 <bbhoss> I am coming from elixir, and it does do tco but the last thing you do in a function must be calling itself, otherwise it will add a frame and not optimize. So I’m wondering is there something similar I should watch out for
2021-03-20 15:55:41 <c_wraith> bbhoss: most of the time it's the wrong thing to worry about. stack frames don't come from function calls
2021-03-20 15:55:42 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
2021-03-20 15:55:57 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
2021-03-20 15:56:44 <bbhoss> Like most of the fib examples you see aren’t able to be optimized in elixir, you must add an additional parameter for passing state across calls to make it optimizable. I’ve seen very similar fib Haskell examples and wondered if they’re potentially problematic
2021-03-20 15:57:13 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-03-20 15:57:13 <c_wraith> only in that they take exponential time....
2021-03-20 15:57:26 <bbhoss> Gotcha, that’s cool
2021-03-20 15:57:59 malumore joins (~malumore@151.62.117.235)
2021-03-20 15:58:03 coot joins (~coot@37.30.58.223.nat.umts.dynamic.t-mobile.pl)
2021-03-20 15:58:04 <c_wraith> I mean, they do created nested evaluation, so they do use stack.. but the runtime is exponential in the stack depth, so that's not usually a concern.
2021-03-20 15:58:09 × Vadrigar quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds)
2021-03-20 15:58:12 <c_wraith> also, GHC will grow a thread's stack on demand
2021-03-20 15:58:23 <c_wraith> you really need to work to run out of stack space
2021-03-20 15:58:40 remal joins (~remal@d24-57-234-201.home.cgocable.net)
2021-03-20 15:58:56 × acidjnk_new quits (~acidjnk@p200300d0c72b95935491844d6bd44613.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2021-03-20 15:59:19 <c_wraith> but you *really* need to pay attention to creating nested evaluation
2021-03-20 15:59:28 <c_wraith> @src foldl
2021-03-20 15:59:29 <lambdabot> foldl f z [] = z
2021-03-20 15:59:29 <lambdabot> foldl f z (x:xs) = foldl f (f z x) xs
2021-03-20 15:59:35 <c_wraith> look, nicely tail recursive
2021-03-20 15:59:56 <c_wraith> But that's irrelevant, because it still creates a huge nested expression
2021-03-20 16:00:06 × enya[m] quits (enyaismatr@gateway/shell/matrix.org/x-jmjpjmcajmtxqdme) (Quit: Idle for 30+ days)
2021-03-20 16:00:06 <c_wraith> actually evaluating the result can be quite slow
2021-03-20 16:00:40 <c_wraith> (Before GHC started growing the stack when needed, it was an easy way to show exceeding the stack size)
2021-03-20 16:00:47 Vadrigar joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
2021-03-20 16:00:55 <bbhoss> Great, yeah I have a list of lists which represent a rank ordered list of votes for candidates. I want to basically do a simple election tally so I need to sum. It’s basically a reduce/fold but I was wondering if I wrote the function myself instead of using fold is it something I’d need to worry with. In elixir reduce/fold handle these tco details where if you roll your own you do need to worry
2021-03-20 16:01:54 <c_wraith> you don't need to worry about the stack.
2021-03-20 16:02:17 <c_wraith> but you absolutely need to worry about nested expressions
2021-03-20 16:04:13 <c_wraith> please understand: Haskell requires you to consider different things. The model is different. If you try to treat it the same as any other language, you'll find the results unsatisfying
2021-03-20 16:06:14 × Nik05 quits (~Nik05@unaffiliated/nik05) (Quit: ZNC 1.8.2 - https://znc.in)
2021-03-20 16:07:18 geekosaur joins (82650c7a@130.101.12.122)
2021-03-20 16:11:53 Deide joins (~Deide@217.155.19.23)
2021-03-20 16:12:00 Nik05 joins (~Nik05@unaffiliated/nik05)
2021-03-20 16:13:10 jamm_ joins (~jamm@unaffiliated/jamm)
2021-03-20 16:15:14 DTZUZU_ is now known as DTZUZU
2021-03-20 16:16:30 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-03-20 16:18:02 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
2021-03-20 16:19:13 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)

All times are in UTC.