Logs: freenode/#haskell
| 2020-10-19 21:48:59 | <dolio> | (It's designed for the sequencing to occur in the opposite direction of the 'data flow'. |
| 2020-10-19 21:49:15 | <dolio> | Yeah, I'd use comprehensions if they could actually do applicative. |
| 2020-10-19 21:49:37 | <dolio> | I though they should be comprehensions from the get-go, really. |
| 2020-10-19 21:49:48 | <dolio> | Because that automatically implies a 'pure' at the end. |
| 2020-10-19 21:50:23 | → | kenran joins (~maier@b2b-37-24-119-190.unitymedia.biz) |
| 2020-10-19 21:50:34 | × | nineonine quits (~nineonine@50.216.62.2) (Remote host closed the connection) |
| 2020-10-19 21:50:38 | <monochrom> | :) |
| 2020-10-19 21:51:34 | × | gattytto quits (b33e397e@179.62.57.126) (Remote host closed the connection) |
| 2020-10-19 21:51:45 | × | Deide quits (~Deide@217.155.19.23) (Read error: Connection reset by peer) |
| 2020-10-19 21:51:45 | <monochrom> | $ is the root of all special compiler support |
| 2020-10-19 21:55:14 | → | Wolfy87 joins (~Wolfy87@89.47.234.28) |
| 2020-10-19 21:55:36 | × | kenran quits (~maier@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 272 seconds) |
| 2020-10-19 21:55:57 | → | Deide joins (~Deide@217.155.19.23) |
| 2020-10-19 22:00:27 | → | nineonine joins (~nineonine@50.216.62.2) |
| 2020-10-19 22:00:43 | × | thir quits (~thir@p200300f27f0b040039cda3b6fce8e5af.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 2020-10-19 22:01:37 | → | thir joins (~thir@pd9e1b1d6.dip0.t-ipconnect.de) |
| 2020-10-19 22:02:05 | × | stree quits (~stree@50-108-72-205.adr01.mskg.mi.frontiernet.net) (Quit: Caught exception) |
| 2020-10-19 22:02:22 | → | stree joins (~stree@50-108-72-205.adr01.mskg.mi.frontiernet.net) |
| 2020-10-19 22:02:40 | × | Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
| 2020-10-19 22:03:08 | <phadej> | https://hackage.haskell.org/package/overloaded-0.2.1/docs/Overloaded-Plugin.html Idiom brackets from TemplateHaskellQuotes |
| 2020-10-19 22:03:12 | <phadej> | (at the bottom) |
| 2020-10-19 22:03:13 | × | jsynacek quits (~jsynacek@ip-185-149-130-112.kmenet.cz) (Ping timeout: 264 seconds) |
| 2020-10-19 22:03:21 | → | polyrain joins (~polyrain@2001:8003:e501:6901:ec5c:488a:e80a:142b) |
| 2020-10-19 22:03:23 | <phadej> | Use at your own risk! |
| 2020-10-19 22:04:11 | <dolio> | Nah, I'm not going to do that. :) |
| 2020-10-19 22:04:38 | <phadej> | wise choice! |
| 2020-10-19 22:05:14 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 2020-10-19 22:05:28 | <dolio> | I'm just surprised at how fragile the desugaring is. I saw Marlow suggesting that it needed to be beefed up, but now I see why. |
| 2020-10-19 22:06:07 | → | alp joins (~alp@2a01:e0a:58b:4920:1551:e4d4:fd40:f1a2) |
| 2020-10-19 22:06:11 | <dminuoso> | I've heard Simon say a few times that ApplicativeDo has many corner cases where it fails to desugar into Applicative. |
| 2020-10-19 22:06:20 | × | thir quits (~thir@pd9e1b1d6.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 2020-10-19 22:06:47 | <dolio> | Like, not allowing `let (x, y) = ...` where something in the `...` was bound earlier is a bit much. |
| 2020-10-19 22:06:55 | × | __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving) |
| 2020-10-19 22:06:58 | hackage | churros 0.1.4.1 - Channel/Arrow based streaming computation library. https://hackage.haskell.org/package/churros-0.1.4.1 (LyndonMaydwell) |
| 2020-10-19 22:08:07 | <dolio> | Actually, the match doesn't even matter, I guess. Just no lets. |
| 2020-10-19 22:08:17 | × | geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 265 seconds) |
| 2020-10-19 22:09:10 | × | Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
| 2020-10-19 22:11:12 | → | conal joins (~conal@64.71.133.70) |
| 2020-10-19 22:11:56 | × | conal quits (~conal@64.71.133.70) (Client Quit) |
| 2020-10-19 22:13:07 | <phadej> | will (x,y) <- pure ... work? |
| 2020-10-19 22:13:43 | × | karanlikmadde quits (~karanlikm@2a01:c22:a46a:b400:3c0d:995b:be0c:192) (Quit: karanlikmadde) |
| 2020-10-19 22:13:55 | <dolio> | Oh, maybe. |
| 2020-10-19 22:14:11 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection) |
| 2020-10-19 22:15:41 | <dolio> | Oh, no, it doesn't, because that's not applicative if it's using something in a previous bind. |
| 2020-10-19 22:15:59 | → | conal joins (~conal@64.71.133.70) |
| 2020-10-19 22:16:50 | <dolio> | I'd have to inline the expression into the original binding. |
| 2020-10-19 22:16:52 | <phadej> | then `let` wouldn't work either. Would it? |
| 2020-10-19 22:17:14 | <phadej> | I see. If it's used once, then it's safe |
| 2020-10-19 22:17:26 | <dolio> | It should. Let just defines some expressions. It could be moved into the final expression. |
| 2020-10-19 22:17:29 | <phadej> | but I guess ApplicativeDo wouldn't want to reason on that level |
| 2020-10-19 22:18:06 | <phadej> | or hmm, the pure (\.... -> let (x,y) in ...) could still work |
| 2020-10-19 22:18:06 | <dolio> | Yeah, it might be a little complicated to keep track of. |
| 2020-10-19 22:18:20 | <phadej> | but specifyingthat might be tricky |
| 2020-10-19 22:19:00 | <phadej> | IIRC when the result isn't forced to be Applicative, the rewriting is somewhat ad-hoc |
| 2020-10-19 22:19:26 | <phadej> | (i.e. where binds happen) |
| 2020-10-19 22:20:15 | <dolio> | The desugaring doesn't seem to be type-directed. The reason I noticed this is that it's failing to work. |
| 2020-10-19 22:22:40 | × | shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection) |
| 2020-10-19 22:23:21 | → | shatriff joins (~vitaliish@176.52.219.10) |
| 2020-10-19 22:23:33 | → | ixlun joins (~matthew@213.205.241.94) |
| 2020-10-19 22:24:14 | <ixlun> | Hi all, I've got a template Haskell question. Is there a way I can splice a name within a [d| .. |]? |
| 2020-10-19 22:24:54 | <ixlun> | for example [d| $(name) (Just x) = x |] |
| 2020-10-19 22:25:01 | → | erisco joins (~erisco@d24-57-249-233.home.cgocable.net) |
| 2020-10-19 22:25:15 | <ixlun> | I get a syntax error when I do |
| 2020-10-19 22:25:52 | → | systemhalted joins (~aqualogic@71-129-231-253.lightspeed.rcsntx.sbcglobal.net) |
| 2020-10-19 22:27:49 | <phadej> | I don't think you can splice Names. That would be handy indeed |
| 2020-10-19 22:27:55 | → | MaC83 joins (557f5ce5@85-127-92-229.dsl.dynamic.surfer.at) |
| 2020-10-19 22:28:03 | <ixlun> | :-( |
| 2020-10-19 22:29:14 | <phadej> | I think you can use `syb` to replace your dummy name, but I'm not sure if the cure is worse than a problem |
| 2020-10-19 22:29:35 | × | fendor quits (~fendor@178.115.131.152.wireless.dyn.drei.com) (Remote host closed the connection) |
| 2020-10-19 22:30:32 | × | systemhalted quits (~aqualogic@71-129-231-253.lightspeed.rcsntx.sbcglobal.net) (Remote host closed the connection) |
| 2020-10-19 22:31:15 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 2020-10-19 22:31:23 | <ixlun> | :t syb |
| 2020-10-19 22:31:24 | <lambdabot> | error: Variable not in scope: syb |
| 2020-10-19 22:31:38 | <phadej> | https://hackage.haskell.org/package/syb |
| 2020-10-19 22:31:51 | → | reppertj joins (~textual@pool-96-246-209-59.nycmny.fios.verizon.net) |
| 2020-10-19 22:31:57 | <phadej> | a package which allows you to traverse types which has `Data` instance |
| 2020-10-19 22:32:02 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-19 22:32:54 | <phadej> | e.g. https://hackage.haskell.org/package/syb-0.7.1/docs/Data-Generics-Schemes.html#v:everywhere would allow you transform all `Name`s inside `Dec` |
| 2020-10-19 22:36:30 | × | Sgeo quits (~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer) |
| 2020-10-19 22:36:48 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-19 22:38:22 | → | thir joins (~thir@p200300f27f0b040039cda3b6fce8e5af.dip0.t-ipconnect.de) |
| 2020-10-19 22:40:26 | → | Sgeo joins (~Sgeo@ool-18b982ad.dyn.optonline.net) |
| 2020-10-19 22:42:26 | <dminuoso> | Mmm, Lift only provides `lift :: t -> Q Exp` and that's the only typeclass in TH I think? |
| 2020-10-19 22:42:28 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 2020-10-19 22:42:36 | × | mirrorbird quits (~psutcliff@m83-187-163-53.cust.tele2.se) (Ping timeout: 265 seconds) |
| 2020-10-19 22:43:49 | <dminuoso> | At that point the question is, why doesn't lift also let you `liftPat :: Lift t => t -> Q Pat` and `liftType :: Lift t => t -> Q Type` as well |
| 2020-10-19 22:45:17 | × | MaC83 quits (557f5ce5@85-127-92-229.dsl.dynamic.surfer.at) (Remote host closed the connection) |
| 2020-10-19 22:45:26 | → | gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh) |
| 2020-10-19 22:45:37 | <ixlun> | Actually, it looks like even replacing all the names won't work... |
| 2020-10-19 22:46:01 | <ixlun> | I'm trying to do multiple pattern matches in a top-level fn decl |
| 2020-10-19 22:46:02 | × | thir quits (~thir@p200300f27f0b040039cda3b6fce8e5af.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 2020-10-19 22:46:04 | × | mrchampion quits (~mrchampio@216-211-57-41.dynamic.tbaytel.net) (Ping timeout: 260 seconds) |
| 2020-10-19 22:46:16 | × | polyrain quits (~polyrain@2001:8003:e501:6901:ec5c:488a:e80a:142b) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-19 22:46:32 | <ixlun> | I think I need just one FunD with multiple claues |
| 2020-10-19 22:46:47 | <ixlun> | since the error I'm getting is: Multiple declarations of ‘psqt’ |
| 2020-10-19 22:46:49 | <dminuoso> | ixlun: You can also use Language.Haskell.TH.Lib |
| 2020-10-19 22:46:53 | <dminuoso> | That could be a middleground |
| 2020-10-19 22:47:22 | <dminuoso> | Since that's filled with FooQ things instead of Foo, so you can lift/splice in between more liberally |
| 2020-10-19 22:47:54 | <dminuoso> | So rather than splicing inside a quoter, you could do the opposide and lift inside a splice. |
| 2020-10-19 22:48:49 | → | polyrain joins (~polyrain@2001:8003:e501:6901:ec5c:488a:e80a:142b) |
All times are in UTC.