Logs: freenode/#haskell
| 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.