Newest at the top
2024-10-18 13:22:45 +0200 | ubert | (~Thunderbi@178.165.179.94.wireless.dyn.drei.com) (Ping timeout: 246 seconds) |
2024-10-18 13:20:24 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 260 seconds) |
2024-10-18 13:20:19 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-18 13:18:52 +0200 | Flow | (~none@gentoo/developer/flow) (Ping timeout: 272 seconds) |
2024-10-18 13:18:43 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
2024-10-18 13:18:10 +0200 | rvalue | (~rvalue@user/rvalue) rvalue |
2024-10-18 13:17:50 +0200 | <Inst> | i still blame Eric Normand for not understanding what a -> a means when he should know better for having worked at Scrive on a Haskell project |
2024-10-18 13:17:44 +0200 | rvalue | (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
2024-10-18 13:17:34 +0200 | <Inst> | i should read up on parametricity and how bang patterns actually work, i guess |
2024-10-18 13:16:40 +0200 | robobub | (uid248673@id-248673.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2024-10-18 13:13:49 +0200 | ft | (~ft@p4fc2a216.dip0.t-ipconnect.de) ft |
2024-10-18 13:13:36 +0200 | euleritian | (~euleritia@dynamic-176-004-236-188.176.4.pool.telefonica.de) |
2024-10-18 13:09:56 +0200 | Digit | (~user@user/digit) (Ping timeout: 252 seconds) |
2024-10-18 13:09:54 +0200 | Digitteknohippie | (~user@user/digit) Digit |
2024-10-18 13:05:55 +0200 | leah2 | (~leah@vuxu.org) leah2 |
2024-10-18 13:04:12 +0200 | euleritian | (~euleritia@tmo-125-85.customers.d1-online.com) (Ping timeout: 246 seconds) |
2024-10-18 13:03:08 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3207-4943-78cd-36ef-c506-b3d4.rev.sfr.net) alexherbo2 |
2024-10-18 13:00:25 +0200 | <tomsmeding> | and at that point you also evaluate the argument to id |
2024-10-18 13:00:14 +0200 | <tomsmeding> | "id' = id" is true because sure, id' is strict in its argument, but that strictness only comes into play if you actually use the result of the id' call |
2024-10-18 13:00:06 +0200 | euleritian | (~euleritia@tmo-125-85.customers.d1-online.com) |
2024-10-18 12:59:38 +0200 | <tomsmeding> | id = force is not true, but is true in the world of "total haskell" |
2024-10-18 12:59:26 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-18 12:59:20 +0200 | <tomsmeding> | id' = id is actually true |
2024-10-18 12:59:04 +0200 | <Inst> | but in general, we pretend that id' = id, or for that matter, let id'' = force, then again, force has an NFData constraint |
2024-10-18 12:58:47 +0200 | mari-estel | (~mari-este@user/mari-estel) (Remote host closed the connection) |
2024-10-18 12:58:37 +0200 | acidjnk_new | (~acidjnk@p200300d6e72cfb56e90e8e53bb556001.dip0.t-ipconnect.de) acidjnk |
2024-10-18 12:57:58 +0200 | <Inst> | an unused value |
2024-10-18 12:57:51 +0200 | <Inst> | the mystery is still, if you have in a let or where cluase, an unknown value, you can bang it and still get evaluation |
2024-10-18 12:56:39 +0200 | <Inst> | :( |
2024-10-18 12:56:27 +0200 | <tomsmeding> | ah, except of course when it doesn't because pattern matching is more complicated |
2024-10-18 12:56:12 +0200 | euleritian | (~euleritia@dynamic-176-004-236-188.176.4.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-10-18 12:56:07 +0200 | <tomsmeding> | bang does become seq |
2024-10-18 12:56:01 +0200 | <yahb2> | *** Exception: Prelude.undefined ; CallStack (from HasCallStack): ; undefined, called at <interactive>:19:32 in interactive:Ghci6 |
2024-10-18 12:56:01 +0200 | <tomsmeding> | % foo 3 |
2024-10-18 12:55:59 +0200 | <tomsmeding> | foo 3 |
2024-10-18 12:55:57 +0200 | <yahb2> | <no output> |
2024-10-18 12:55:57 +0200 | <tomsmeding> | % let foo = x `seq` id where x = undefined |
2024-10-18 12:55:27 +0200 | <tomsmeding> | Inst: you forgot the bang in your last example |
2024-10-18 12:54:56 +0200 | <Inst> | hmmm, maybe i misunderstood when i thought bang = seq |
2024-10-18 12:54:47 +0200 | <Inst> | https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0229-whitespace-bang-patterns… |
2024-10-18 12:52:43 +0200 | kronicmage | (~kronicmag@neotame.csclub.uwaterloo.ca) |
2024-10-18 12:51:06 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac |
2024-10-18 12:50:39 +0200 | leah2 | (~leah@vuxu.org) (Ping timeout: 260 seconds) |
2024-10-18 12:50:34 +0200 | <yahb2> | 3 |
2024-10-18 12:50:34 +0200 | <Inst> | % foo 3 |
2024-10-18 12:50:29 +0200 | euleritian | (~euleritia@dynamic-176-004-236-188.176.4.pool.telefonica.de) |
2024-10-18 12:50:27 +0200 | <Inst> | foo 3 |
2024-10-18 12:50:24 +0200 | <yahb2> | <no output> |
2024-10-18 12:50:24 +0200 | <Inst> | % let foo = id where _ = undefined `seq` () |
2024-10-18 12:50:05 +0200 | <yahb2> | *** Exception: Prelude.undefined ; CallStack (from HasCallStack): ; undefined, called at <interactive>:11:25 in interactive:Ghci3 |