Newest at the top
2025-05-06 19:33:19 +0200 | Guest708 | (~John@host-176-38-28-247.b026.la.net.ua) (Quit: Leaving) |
2025-05-06 19:32:50 +0200 | <c_wraith> | My issue with the use in function heads is that usually it's happening a step too late. Like, I'd rather ensure I'm passing a value that's already evaluated than making sure it's evaluated when the function examines it |
2025-05-06 19:31:59 +0200 | <tomsmeding> | at least the pattern converage checker explicitly deals with them |
2025-05-06 19:31:44 +0200 | <c_wraith> | yeah |
2025-05-06 19:31:40 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh |
2025-05-06 19:31:39 +0200 | <tomsmeding> | and bangs in function heads interact with pattern matching, right? |
2025-05-06 19:30:27 +0200 | <c_wraith> | that compilation inserts calls to seq for each !. ie, let !foo = bar in baz is equivalent to let foo = bar in foo `seq` baz |
2025-05-06 19:28:06 +0200 | <tomsmeding> | what's the revelation? |
2025-05-06 19:27:39 +0200 | <c_wraith> | I probably should have learned this 10 years ago. Or more. |
2025-05-06 19:27:09 +0200 | <c_wraith> | huh. Ok, having learned how BangPatterns works in let/where bindings, I actually like it a lot better than I do in function heads |
2025-05-06 19:25:48 +0200 | Guest708 | (~John@host-176-38-28-247.b026.la.net.ua) |
2025-05-06 19:24:25 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-05-06 19:23:44 +0200 | sajenim | (~sajenim@user/sajenim) (Ping timeout: 252 seconds) |
2025-05-06 19:19:12 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-05-06 19:18:51 +0200 | ColinRobinson | (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org)) |
2025-05-06 19:16:21 +0200 | amadaluzia | (~amadaluzi@user/amadaluzia) amadaluzia |
2025-05-06 19:15:33 +0200 | thelounge9847 | (~thelounge@host-176-38-28-247.b026.la.net.ua) (Quit: The Lounge - https://thelounge.chat) |
2025-05-06 19:15:09 +0200 | ttybitnik | (~ttybitnik@user/wolper) ttybitnik |
2025-05-06 19:13:26 +0200 | acidjnk | (~acidjnk@p200300d6e71c4f5301468c1cc0256076.dip0.t-ipconnect.de) acidjnk |
2025-05-06 19:11:55 +0200 | <int-e> | EvanR: exactly |
2025-05-06 19:10:56 +0200 | thelounge9847 | (~thelounge@host-176-38-28-247.b026.la.net.ua) |
2025-05-06 19:08:44 +0200 | JuanDaugherty | ColinRobinson |
2025-05-06 19:08:39 +0200 | euleritian | (~euleritia@dynamic-176-006-138-148.176.6.pool.telefonica.de) |
2025-05-06 19:08:20 +0200 | euleritian | (~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2025-05-06 18:56:49 +0200 | <EvanR> | currying ... the implementation of multi-argument functions as nested single argument functions. Haskell only has single argument functions then GHC can take the liberty of implementing them as multiargument functions. The exact opposite! |
2025-05-06 18:51:12 +0200 | <int-e> | (Though that's GHC territory, not Haskell per se.) |
2025-05-06 18:51:10 +0200 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod |
2025-05-06 18:49:56 +0200 | <int-e> | heh but maybe you could make the argument that the "S" in "STG" is a form of automatic uncurrying |
2025-05-06 18:47:30 +0200 | rvalue | (~rvalue@user/rvalue) rvalue |
2025-05-06 18:47:04 +0200 | werneta | (~werneta@syn-071-083-160-242.res.spectrum.com) (Ping timeout: 252 seconds) |
2025-05-06 18:47:01 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2025-05-06 18:46:49 +0200 | rvalue | (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
2025-05-06 18:46:04 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) wootehfoot |
2025-05-06 18:45:23 +0200 | <ski> | yin : fwiw, Haskell does not "feature automatic currying" |
2025-05-06 18:31:58 +0200 | tabaqui | (~tabaqui@167.71.80.236) (Ping timeout: 252 seconds) |
2025-05-06 18:24:39 +0200 | merijn | (~merijn@77.242.116.146) (Ping timeout: 268 seconds) |
2025-05-06 18:23:37 +0200 | tromp | (~textual@2001:1c00:3487:1b00:cdc3:f42b:30fc:1c61) |
2025-05-06 18:21:08 +0200 | tromp | (~textual@2001:1c00:3487:1b00:cdc3:f42b:30fc:1c61) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-05-06 17:59:37 +0200 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:70a8:360f:569f:e3f9) (Quit: ubert) |
2025-05-06 17:54:35 +0200 | acidjnk | (~acidjnk@p200300d6e71c4f530114fa8f2e8a4c12.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2025-05-06 17:50:56 +0200 | adamCS | (~adamCS@70.19.85.77) adamCS |
2025-05-06 17:49:27 +0200 | adamCS | (~adamCS@70.19.85.77) (Remote host closed the connection) |
2025-05-06 17:45:42 +0200 | chele_ | (~chele@user/chele) (Ping timeout: 276 seconds) |
2025-05-06 17:35:12 +0200 | jespada | (~jespada@r179-25-149-142.dialup.adsl.anteldata.net.uy) (Ping timeout: 252 seconds) |
2025-05-06 17:33:14 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) JuanDaugherty |
2025-05-06 17:32:45 +0200 | jespada_ | (~jespada@r179-24-30-150.dialup.adsl.anteldata.net.uy) jespada |
2025-05-06 17:32:12 +0200 | tv | (~tv@user/tv) (Read error: Connection reset by peer) |
2025-05-06 17:32:12 +0200 | lbseale | (~quassel@user/ep1ctetus) ep1ctetus |
2025-05-06 17:27:08 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.5.2) |
2025-05-06 17:22:49 +0200 | euleritian | (~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) |