Logs: freenode/#haskell
| 2021-05-04 13:35:04 | <edmundnoble> | Actually I'd be using `unsafeInterleaveIO`, but that's beside the point I think |
| 2021-05-04 13:35:10 | <merijn> | edmundnoble: 'everything you can expect in any other scenario, which is roughly "anything"' |
| 2021-05-04 13:35:24 | <edmundnoble> | I was indeed asking about the crazy stuff like STM retries not executing exception handlers |
| 2021-05-04 13:35:38 | <edmundnoble> | Yeah, I don't really buy that you can expect "anything" when using `unsafeInterleaveIO` |
| 2021-05-04 13:35:40 | <Uniaika> | hey edmundnoble :) |
| 2021-05-04 13:35:57 | <edmundnoble> | Hey Uniaika |
| 2021-05-04 13:36:26 | × | jonathanx quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Ping timeout: 260 seconds) |
| 2021-05-04 13:36:55 | × | st8less quits (~st8less@2603:a060:11fd:0:ca9e:ebe6:5380:afd8) (Ping timeout: 260 seconds) |
| 2021-05-04 13:37:01 | <carbolymer> | I took a heap profile, and OTHER is 60% of the heap - any ideas what's that? |
| 2021-05-04 13:37:16 | → | oish joins (~charlie@228.25.169.217.in-addr.arpa) |
| 2021-05-04 13:37:31 | → | jonathanx joins (~jonathan@h-176-109.A357.priv.bahnhof.se) |
| 2021-05-04 13:37:58 | <edmundnoble> | Anyway I guess that's my answer, which for the record is "none" |
| 2021-05-04 13:38:42 | → | st8less joins (~st8less@inet-167-224-197-181.isp.ozarksgo.net) |
| 2021-05-04 13:39:39 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 2021-05-04 13:39:46 | × | ddellac__ quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds) |
| 2021-05-04 13:40:36 | × | undvrainbowvita8 quits (~egp_@128-71-13-3.broadband.corbina.ru) (Ping timeout: 268 seconds) |
| 2021-05-04 13:44:57 | <hyperisco> | I am using VSCode with the Haskell IDE and I am getting hlint warnings asking me to switch \x -> f (g (h x)) to f . g . h but I don't want to |
| 2021-05-04 13:45:03 | <hyperisco> | how can I disable these lint warnings? |
| 2021-05-04 13:45:39 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 2021-05-04 13:45:50 | <edmundnoble> | hyperisco: https://stackoverflow.com/questions/34356510/how-to-disable-codelens-in-vs-code |
| 2021-05-04 13:46:01 | <edmundnoble> | IIRC you can only disable all of them or none, unfortunately |
| 2021-05-04 13:46:45 | <hyperisco> | I've never used a linter, never liked them, so fortunate enough ;) |
| 2021-05-04 13:46:54 | <edmundnoble> | https://www.irccloud.com/pastebin/IfGUU0mv/ |
| 2021-05-04 13:47:06 | <edmundnoble> | -- Also for reference |
| 2021-05-04 13:47:06 | <edmundnoble> | evalSpark :: IO a -> IO (IO a) |
| 2021-05-04 13:47:06 | <edmundnoble> | evalSpark act = do |
| 2021-05-04 13:47:06 | <edmundnoble> | act' <- unsafeInterleaveIO act |
| 2021-05-04 13:47:06 | <edmundnoble> | par act' (pure $ evaluate act') |
| 2021-05-04 13:48:18 | <fendor> | hyperisco, since it is hlint, I *think* you can disable specific hlint rules |
| 2021-05-04 13:48:49 | <int-e> | edmundnoble: what's that supposed to achieve? |
| 2021-05-04 13:48:53 | <hyperisco> | I turned off codeLens but I am sstill getting hlint |
| 2021-05-04 13:49:10 | <fendor> | hyperisco, hlint is not a code-lint but diagnostic |
| 2021-05-04 13:49:20 | <fendor> | you can disable hlint altogether in the settings |
| 2021-05-04 13:49:25 | <fendor> | *codelens, iirc |
| 2021-05-04 13:49:45 | <fendor> | however, I think you can disable specific lints |
| 2021-05-04 13:50:15 | <hyperisco> | ah I found hlint diagnostics setting in the extension settings, disabled it |
| 2021-05-04 13:50:25 | <int-e> | edmundnoble: Oh, never mind, I see. Eww. |
| 2021-05-04 13:50:30 | <edmundnoble> | Executing `evalSpark act` creates a spark which when evaluated executes `act`, and returns an IO action. When that action has been executed, you know for sure `act` really has been evaluated. |
| 2021-05-04 13:50:39 | <edmundnoble> | Haha I was hoping it would be clear |
| 2021-05-04 13:50:59 | → | ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 2021-05-04 13:51:30 | → | xcmw joins (~textual@dyn-72-33-2-152.uwnet.wisc.edu) |
| 2021-05-04 13:51:42 | <edmundnoble> | `act` really has been executed* |
| 2021-05-04 13:51:54 | × | jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 260 seconds) |
| 2021-05-04 13:52:05 | <int-e> | edmundnoble: anyway, I guess you're not incurring any problems on top of those that unsafeInterleaveIO has. |
| 2021-05-04 13:53:15 | <int-e> | which are basically the same as those of unsafePerformIO, minus concerns of accidental duplication through inlining. |
| 2021-05-04 13:54:18 | <edmundnoble> | I think you can also get accidental deduplication through CSE, same reason |
| 2021-05-04 13:54:26 | <edmundnoble> | Er same fix |
| 2021-05-04 13:54:38 | × | ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 2021-05-04 13:56:09 | <edmundnoble> | But yeah this is definitely subject to the same things as unsafeInterleaveIO, and almost the same as you basically want anyway for things you can schedule onto workers |
| 2021-05-04 13:56:47 | <edmundnoble> | Arbitrary interleaving, with the added benefit that you can throw away your reference to the returned IO action and the spark will just disappear into the ether |
| 2021-05-04 13:57:27 | → | CrazyPython joins (~crazypyth@98.122.164.118) |
| 2021-05-04 13:58:43 | × | drbean_ quits (~drbean@TC210-63-209-53.static.apol.com.tw) (Ping timeout: 252 seconds) |
| 2021-05-04 13:59:50 | × | sssb54 quits (~ssssb56@155.138.143.61) (Quit: ZNC 1.7.2+deb3 - https://znc.in) |
| 2021-05-04 14:01:59 | × | cheater quits (~user@unaffiliated/cheater) (Ping timeout: 246 seconds) |
| 2021-05-04 14:02:10 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 2021-05-04 14:05:49 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 2021-05-04 14:06:47 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 2021-05-04 14:06:53 | × | wonko7 quits (~wonko7@62.115.229.50) (Ping timeout: 246 seconds) |
| 2021-05-04 14:07:20 | → | cheater joins (~user@unaffiliated/cheater) |
| 2021-05-04 14:08:19 | × | vchlup quits (~vchlup@nat.brnet.cz) (Read error: Connection reset by peer) |
| 2021-05-04 14:08:29 | × | oish quits (~charlie@228.25.169.217.in-addr.arpa) (Quit: leaving) |
| 2021-05-04 14:08:38 | → | Pickchea joins (~private@unaffiliated/pickchea) |
| 2021-05-04 14:08:50 | → | vchlup joins (~vchlup@nat.brnet.cz) |
| 2021-05-04 14:09:49 | → | wonko7 joins (~wonko7@62.115.229.50) |
| 2021-05-04 14:10:14 | → | jao joins (~jao@pdpc/supporter/professional/jao) |
| 2021-05-04 14:11:10 | → | ddellac__ joins (ddellacost@gateway/vpn/mullvad/ddellacosta) |
| 2021-05-04 14:12:37 | → | jollygood2 joins (~bc8134e3@217.29.117.252) |
| 2021-05-04 14:14:21 | <absence> | are CmpNat and CmpSymbol in GHC.TypeLits magical? can't find something that looks like implementations |
| 2021-05-04 14:14:34 | × | bis0lini quits (~bis0lini@87.254.161.69) (Quit: Going offline, see ya! (www.adiirc.com)) |
| 2021-05-04 14:15:19 | → | nineonine joins (~nineonine@2604:3d08:7783:f200:10b9:8c10:5b66:dc51) |
| 2021-05-04 14:15:45 | × | ddellac__ quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 268 seconds) |
| 2021-05-04 14:15:52 | → | mooncat joins (~mooncat@87.254.161.69) |
| 2021-05-04 14:15:56 | <jollygood2> | hi. is there a way to abstract this code away, and avoid repeating every case for every type? https://paste.tomsmeding.com/SUJSUGZS |
| 2021-05-04 14:16:21 | <jollygood2> | missing {-# Language TypeApplications #-} |
| 2021-05-04 14:19:02 | → | sssb54 joins (~ssssb56@155.138.143.61) |
| 2021-05-04 14:22:48 | → | Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas) |
| 2021-05-04 14:22:49 | <jollygood2> | calcWith @Int sum' n works too. maybe slightly nicer, but I still have the same amount of boilerplate. I'd basically need a String -> Type function, that can be used with @ or ::, and I don't think that is possible.. but who knows :) |
| 2021-05-04 14:24:35 | × | mooncat quits (~mooncat@87.254.161.69) (Quit: Going offline, see ya! (www.adiirc.com)) |
| 2021-05-04 14:24:37 | × | xff0x quits (~xff0x@2001:1a81:5215:6f00:2c52:1286:1373:82fb) (Ping timeout: 250 seconds) |
| 2021-05-04 14:24:52 | → | mooncat joins (~mooncat@87.254.161.69) |
| 2021-05-04 14:25:13 | <edwardk> | absence: yes |
| 2021-05-04 14:25:20 | → | xff0x joins (~xff0x@2001:1a81:5215:6f00:4234:47e9:f91b:7534) |
| 2021-05-04 14:25:28 | × | mooncat quits (~mooncat@87.254.161.69) (Excess Flood) |
| 2021-05-04 14:25:45 | → | mooncat joins (~mooncat@87.254.161.69) |
| 2021-05-04 14:26:05 | × | mooncat quits (~mooncat@87.254.161.69) (Client Quit) |
| 2021-05-04 14:27:29 | → | Sgeo joins (~Sgeo@ool-18b9875e.dyn.optonline.net) |
| 2021-05-04 14:28:29 | <absence> | edwardk: thanks |
| 2021-05-04 14:29:15 | <l-as> | Does anyone know if there's a way of running multiple GHCi instances on the same GHC process, so that each new instance doesn't use ~100 MiB extra memory? |
| 2021-05-04 14:29:26 | → | v01d4lph4 joins (~v01d4lph4@122.160.65.250) |
| 2021-05-04 14:29:35 | × | coot quits (~coot@37.30.58.122.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 2021-05-04 14:30:39 | × | LKoen quits (~LKoen@140.170.9.109.rev.sfr.net) (Remote host closed the connection) |
| 2021-05-04 14:30:53 | → | xkapastel joins (uid17782@gateway/web/irccloud.com/x-tchfsqhddnixslwt) |
| 2021-05-04 14:33:24 | <geekosaur> | not built in. it might be possible to implement using ghc-api, but I'd bet on most of that 100 MiB coming along with each instance |
| 2021-05-04 14:34:10 | × | v01d4lph4 quits (~v01d4lph4@122.160.65.250) (Ping timeout: 265 seconds) |
| 2021-05-04 14:36:47 | <geekosaur> | come to think of it, the runtime won't expect to be split over multiple instances so there will be interference from multiple terminals, interleaved gcs, etc. |
| 2021-05-04 14:38:30 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.1) |
| 2021-05-04 14:38:39 | × | totte quits (~totte@chakra/totte) (Quit: ZNC - http://znc.in) |
| 2021-05-04 14:38:41 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds) |
| 2021-05-04 14:40:11 | <Gurkenglas> | Consider two bots playing Prisoner's Dilemma. A bot can pose questions to a provability oracle about what he and his opponent will end up doing, and is supposed to return what he does. What language and what libaries should I use to talk about all the possible bots and the graph of who would decide what against whom? |
| 2021-05-04 14:42:27 | <Gurkenglas> | (For example, Cooperatebot always cooperates, Fairbot cooperates iff he can prove that the opponent cooperates, and Prudentbot cooperates iff he can prove that both will do the same.) |
All times are in UTC.