Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
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.