Logs: liberachat/#haskell
| 2021-06-13 18:28:43 | → | abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
| 2021-06-13 18:29:05 | <dminuoso> | It seems to me handrolling the MonadTrans/MonadTransControl instance is less code and clearer. |
| 2021-06-13 18:29:24 | → | chaosite joins (~chaosite@user/chaosite) |
| 2021-06-13 18:30:46 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 2021-06-13 18:30:53 | <jumper149> | https://github.com/basvandijk/monad-control/issues/52 |
| 2021-06-13 18:31:30 | <jumper149> | dminuoso: The reason is simplified subsumption: https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.0#simplified-subsumption |
| 2021-06-13 18:31:35 | <dminuoso> | jumper149: You should be fine with eta-extending it. |
| 2021-06-13 18:31:54 | <dminuoso> | The first two arguments, that is. |
| 2021-06-13 18:32:01 | <jumper149> | I tried |
| 2021-06-13 18:32:05 | <dminuoso> | Both? |
| 2021-06-13 18:32:12 | <dminuoso> | Or.. the third actually. Sorry |
| 2021-06-13 18:32:24 | <jumper149> | Say exactly what you mean and I'll test it |
| 2021-06-13 18:32:35 | <dminuoso> | Try eta-extending each argument. |
| 2021-06-13 18:33:19 | <jumper149> | I think the problem lies in the `Run` type alias, which can't be unified with `RunDefault2` |
| 2021-06-13 18:34:06 | <jumper149> | dminuoso: I tried pretty hard. But I am not absolutely sure, whether it's really not possible |
| 2021-06-13 18:34:17 | <dminuoso> | jumper149: So Im a bit fuzzy on the details, but with the new simplified subsumption, you can make stuff compile again when you eta-expend |
| 2021-06-13 18:34:26 | <dminuoso> | I think something along the lines of": |
| 2021-06-13 18:34:33 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 264 seconds) |
| 2021-06-13 18:34:40 | <dminuoso> | liftWith f = defaultLiftWith2 RecolorXT unRecolorXT (\x -> f x) |
| 2021-06-13 18:36:07 | → | jao joins (jao@gateway/vpn/protonvpn/jao) |
| 2021-06-13 18:36:25 | × | mc47 quits (~mc47@xmonad/TheMC47) (Quit: Leaving) |
| 2021-06-13 18:37:22 | <jumper149> | dminuoso: Wow, that actually seems to work |
| 2021-06-13 18:37:57 | → | dan joins (~AdminUser@host86-167-185-202.range86-167.btcentralplus.com) |
| 2021-06-13 18:41:38 | → | dustingetz joins (~textual@pool-173-49-123-198.phlapa.fios.verizon.net) |
| 2021-06-13 18:42:58 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 2021-06-13 18:43:15 | × | dan quits (~AdminUser@host86-167-185-202.range86-167.btcentralplus.com) (Ping timeout: 252 seconds) |
| 2021-06-13 18:43:52 | × | kayprish quits (~kayprish@cable-188-2-229-172.dynamic.sbb.rs) (Quit: leaving) |
| 2021-06-13 18:43:54 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit) |
| 2021-06-13 18:44:08 | → | kayprish joins (~kayprish@cable-188-2-229-172.dynamic.sbb.rs) |
| 2021-06-13 18:44:19 | × | kayprish quits (~kayprish@cable-188-2-229-172.dynamic.sbb.rs) (Client Quit) |
| 2021-06-13 18:44:44 | → | kayprish joins (~kayprish@cable-188-2-229-172.dynamic.sbb.rs) |
| 2021-06-13 18:44:44 | × | kayprish quits (~kayprish@cable-188-2-229-172.dynamic.sbb.rs) (Client Quit) |
| 2021-06-13 18:44:52 | <jumper149> | dminuoso: Can you explain to me, how you knew, that is the exact place which needed eta-expansion? |
| 2021-06-13 18:46:32 | → | fizbin joins (~fizbin@2601:8a:4080:1280:3d39:470:d12f:3be6) |
| 2021-06-13 18:46:41 | <dminuoso> | You told me, I just guessed. |
| 2021-06-13 18:46:49 | → | kayprish joins (~kayprish@cable-188-2-229-172.dynamic.sbb.rs) |
| 2021-06-13 18:47:06 | × | kayprish quits (~kayprish@cable-188-2-229-172.dynamic.sbb.rs) (Client Quit) |
| 2021-06-13 18:48:43 | → | dhil joins (~dhil@80.208.56.181) |
| 2021-06-13 18:50:20 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
| 2021-06-13 18:50:46 | <dminuoso> | jumper149: I actually wonder whether `liftWith f = defaultWithWith2 RecolorXT unRecolorXT f` is even enough |
| 2021-06-13 18:51:18 | × | fizbin quits (~fizbin@2601:8a:4080:1280:3d39:470:d12f:3be6) (Ping timeout: 264 seconds) |
| 2021-06-13 18:51:43 | <jumper149> | dminuoso: http://ix.io/3pQS |
| 2021-06-13 18:51:51 | <jumper149> | ^ That's what you get then |
| 2021-06-13 18:52:01 | <dminuoso> | Ah hold on I found the relevant part |
| 2021-06-13 18:52:11 | <dminuoso> | https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.0#simplified-subsumption |
| 2021-06-13 18:52:15 | <dminuoso> | This seems to be the second example |
| 2021-06-13 18:52:20 | <dminuoso> | f' :: (Eq a, Eq b) => a -> b -> b |
| 2021-06-13 18:52:23 | <dminuoso> | g' :: (Eq p => p -> Eq q => q -> q) -> Int |
| 2021-06-13 18:52:25 | <dminuoso> | etc |
| 2021-06-13 18:52:36 | <jumper149> | hm |
| 2021-06-13 18:52:38 | <jumper149> | ? |
| 2021-06-13 18:53:07 | <dminuoso> | Like I said, Im a bit fuzzy on the details. I have a very sketchy understanding what deep-skolemnization even is. |
| 2021-06-13 18:54:02 | × | dustingetz quits (~textual@pool-173-49-123-198.phlapa.fios.verizon.net) (Quit: Textual IRC Client: www.textualapp.com) |
| 2021-06-13 18:54:44 | <jumper149> | Ah yeah, I see why you think the second example fits right here. Basically the type alias `Run` brings this additional context. |
| 2021-06-13 18:54:46 | <jumper149> | @Run |
| 2021-06-13 18:54:48 | <lambdabot> | <no location info>: error: not an expression: ‘’ |
| 2021-06-13 18:55:00 | <jumper149> | https://hackage.haskell.org/package/monad-control-1.0.2.3/docs/Control-Monad-Trans-Control.html#t:Run |
| 2021-06-13 18:55:30 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 272 seconds) |
| 2021-06-13 18:56:09 | → | shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
| 2021-06-13 18:57:08 | <dminuoso> | I guess the confusion is just based on not even understanding how higher rank type inference works. It almost seems as if you have to read SPJs `Practical Type Inference for Arbitrary-Rank Types` |
| 2021-06-13 18:57:21 | <dminuoso> | That paper is outside of my reach. |
| 2021-06-13 18:58:15 | <dminuoso> | I find it a bit sad that the GHC manual does not elaborate on what "relies on deep skolemization" even means. |
| 2021-06-13 18:58:55 | → | Patrick joins (~Patrick@pool-100-36-167-42.washdc.fios.verizon.net) |
| 2021-06-13 18:59:18 | <Rembane> | Could that be considered a bug? |
| 2021-06-13 18:59:45 | <dminuoso> | A documentation bug, yes. |
| 2021-06-13 19:00:31 | Patrick | is now known as Patrick157 |
| 2021-06-13 19:01:51 | → | kayprish joins (~kayprish@cable-188-2-229-172.dynamic.sbb.rs) |
| 2021-06-13 19:02:11 | <dminuoso> | jumper149: https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.0#deep-instantiation |
| 2021-06-13 19:02:13 | <dminuoso> | Mmm |
| 2021-06-13 19:02:34 | <dminuoso> | jumper149: Or is this a case of deep instantiation? Im beginning to suspect this is the case |
| 2021-06-13 19:03:31 | × | kayprish quits (~kayprish@cable-188-2-229-172.dynamic.sbb.rs) (Client Quit) |
| 2021-06-13 19:03:45 | → | kayprish joins (~kayprish@cable-188-2-229-172.dynamic.sbb.rs) |
| 2021-06-13 19:03:50 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2021-06-13 19:04:19 | <shapr> | OH SURE |
| 2021-06-13 19:04:26 | <shapr> | dmwit: hi, how's life? |
| 2021-06-13 19:05:46 | <dmwit> | hi shapr! |
| 2021-06-13 19:05:51 | <jumper149> | dminuoso: That may be right. I honestly don't understand it enough to argue for one or the other. |
| 2021-06-13 19:06:03 | <dmwit> | Recently I've been being bad at computer vision! It's great. |
| 2021-06-13 19:06:13 | × | kayprish quits (~kayprish@cable-188-2-229-172.dynamic.sbb.rs) (Client Quit) |
| 2021-06-13 19:06:17 | <dmwit> | What's life like in shapr-land? |
| 2021-06-13 19:06:28 | → | kayprish joins (~kayprish@cable-188-2-229-172.dynamic.sbb.rs) |
| 2021-06-13 19:07:04 | <shapr> | dmwit: that sounds exciting, are you building some fun projects with computer vision? |
| 2021-06-13 19:07:14 | × | kayprish quits (~kayprish@cable-188-2-229-172.dynamic.sbb.rs) (Client Quit) |
| 2021-06-13 19:07:28 | <shapr> | dmwit: just got the second moderna shot, so I can spend time with people again |
| 2021-06-13 19:07:29 | → | kayprish joins (~kayprish@cable-188-2-229-172.dynamic.sbb.rs) |
| 2021-06-13 19:08:00 | <dmwit> | grats! |
| 2021-06-13 19:08:17 | → | dispater joins (~dispater@mail.brprice.uk) |
| 2021-06-13 19:09:30 | × | dispater quits (~dispater@mail.brprice.uk) (Client Quit) |
| 2021-06-13 19:09:35 | <dmwit> | I've been staying quarantined-ish even though I'm vax'd. But I'm hopeful that we get to a point where I feel like we've solved it as a country rather than just personally having solved it. |
| 2021-06-13 19:10:45 | <dmwit> | I'm excited for people that are choosing to rejoin society, too. ^_^ |
| 2021-06-13 19:10:51 | → | dispater joins (~dispater@mail.brprice.uk) |
| 2021-06-13 19:10:57 | <shapr> | yeah, I agree |
| 2021-06-13 19:11:23 | <shapr> | last weekend (or the one before?) I learned how to package a simple C application with nix, and then how to add that as an overlay to my system |
| 2021-06-13 19:11:34 | <shapr> | this weekend I'm trying to learn how to write a plugin for haskell-language-server |
| 2021-06-13 19:11:55 | <dmwit> | oh, I should learn HLS at some point |
| 2021-06-13 19:12:01 | <dmwit> | I have like three bookmarks. =P |
| 2021-06-13 19:12:07 | <shapr> | at my job it's easy to lose track of which language pragmas are in scope, so I figured I'd try to make a code lens that displays all implicit pragmas at the top of the file |
| 2021-06-13 19:12:14 | <maerwald> | dmwit: new hls release is on the way |
| 2021-06-13 19:12:17 | <dminuoso> | jumper149: My rough understanding of the change is: GHC used to do this eta-expansion implicitly in order to elaborate said programs into Core. But eta-expansion changes semantics (because in WHNF `\x -> undefined x` will not bottom out, while `undefined` will) |
| 2021-06-13 19:12:33 | <shapr> | dmwit: oh if you're not using it, my example file may help some: https://github.com/shapr/hlsexamples/blob/main/src/Examples.hs#L38 |
All times are in UTC.