Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→
Page 1 .. 867 868 869 870 871 872 873 874 875 876 877 .. 18026
1,802,594 events total
2021-07-09 17:47:44 ukari joins (~ukari@user/ukari)
2021-07-09 17:49:25 × favonia quits (~favonia@user/favonia) (Ping timeout: 246 seconds)
2021-07-09 17:49:59 × chris-the-slurpa quits (~chris@81.96.113.213) (Ping timeout: 255 seconds)
2021-07-09 17:50:04 Reyu[M] joins (~reyureyuz@matrix.reyuzenfold.com)
2021-07-09 17:50:54 favonia joins (~favonia@user/favonia)
2021-07-09 17:52:10 × yauhsien quits (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Remote host closed the connection)
2021-07-09 17:52:45 × derelict quits (~derelict@user/derelict) (Ping timeout: 252 seconds)
2021-07-09 17:52:57 × HotblackDesiato quits (~HotblackD@gateway/tor-sasl/hotblackdesiato) (Ping timeout: 244 seconds)
2021-07-09 17:53:45 ubert joins (~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de)
2021-07-09 17:59:25 warnz joins (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8)
2021-07-09 17:59:34 × favonia quits (~favonia@user/favonia) (Ping timeout: 246 seconds)
2021-07-09 18:00:16 HotblackDesiato joins (~HotblackD@gateway/tor-sasl/hotblackdesiato)
2021-07-09 18:00:54 favonia joins (~favonia@user/favonia)
2021-07-09 18:04:38 × ubert quits (~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-07-09 18:05:34 chris-the-slurpa joins (~chris@81.96.113.213)
2021-07-09 18:06:46 roconnor_ joins (~roconnor@host-104-157-231-207.dyn.295.ca)
2021-07-09 18:06:49 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:39f3:da:7ab8:bc1e) (Remote host closed the connection)
2021-07-09 18:07:24 × roconnor_ quits (~roconnor@host-104-157-231-207.dyn.295.ca) (Client Quit)
2021-07-09 18:08:35 × roconnor quits (~roconnor@host-45-58-230-126.dyn.295.ca) (Ping timeout: 252 seconds)
2021-07-09 18:10:22 chisui joins (~chisui@200116b866eaab00b869ec172918c6ce.dip.versatel-1u1.de)
2021-07-09 18:10:51 Vajb joins (~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01)
2021-07-09 18:10:58 <chisui> Hey, is there a way to resolve this issue without the need of an additional type variable? `Could not deduce: n1 ~ (n - 1) from the context: n ~ (n1 + 1)`
2021-07-09 18:11:30 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-09 18:11:43 lavaman joins (~lavaman@98.38.249.169)
2021-07-09 18:14:45 × favonia quits (~favonia@user/favonia) (Ping timeout: 252 seconds)
2021-07-09 18:15:53 favonia joins (~favonia@user/favonia)
2021-07-09 18:19:34 pavonia joins (~user@user/siracusa)
2021-07-09 18:19:50 pgib joins (~textual@173.38.117.69)
2021-07-09 18:20:14 × ukari quits (~ukari@user/ukari) (Remote host closed the connection)
2021-07-09 18:21:01 ukari joins (~ukari@user/ukari)
2021-07-09 18:22:42 × ukari quits (~ukari@user/ukari) (Remote host closed the connection)
2021-07-09 18:23:09 yauhsien joins (~yauhsien@61-231-39-135.dynamic-ip.hinet.net)
2021-07-09 18:23:46 ukari joins (~ukari@user/ukari)
2021-07-09 18:30:02 × favonia quits (~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-09 18:31:45 <Hecate> would I sound absolutely demented if I suggested to examine which GHC language extensions can be moved to a compiler plugin?
2021-07-09 18:32:06 <Hecate> or have they all encroached in its architecture now?
2021-07-09 18:32:33 favonia joins (~favonia@user/favonia)
2021-07-09 18:33:27 <Hecate> or maybe we have some work to make compiler plugins' ergonomics better so that it doesn't slow adoption?
2021-07-09 18:33:30 <peutri> bonus points for extracting ApplicativeDo
2021-07-09 18:33:33 <Hecate> bgamari: what do you think?
2021-07-09 18:34:03 <Hecate> peutri: yeah I was thinking of this, because people are talking about SelectiveDo on the subreddit and it might start as a compiler plugin
2021-07-09 18:34:36 <davean> Hecate: what would be the proposed benefit?
2021-07-09 18:35:01 <bgamari> yeah, I'll admit that I'm not entirely clear on what we would gain by doing so
2021-07-09 18:35:23 <bgamari> all I see are costs
2021-07-09 18:35:40 <Hecate> davean: the things that don't have to live in-tree can be put elsewhere, we can reduce the size of the GHC codebase…
2021-07-09 18:35:45 <Hecate> bgamari: I'm interested to know why!
2021-07-09 18:35:49 <Hecate> we're not modular enough?
2021-07-09 18:36:11 <davean> Hecate: So, more cost of maintainership for ... a larger overall code base? I'm confused, I see no benefits here
2021-07-09 18:36:43 <monochrom> I think the hope is that when a thing is called a "plugin", you can enable 3 plugins and expect no surprising interference, just because they are called "plugin"s. The word suggests so much modularity, no?
2021-07-09 18:36:58 <Hecate> davean: why more cost of maintenership?
2021-07-09 18:37:07 <bgamari> Hecate, well, many, if not most, extensions do require some extra syntax
2021-07-09 18:37:13 <peutri> wouldn't the point be to have a smaller, lighter ghc?
2021-07-09 18:37:14 <davean> Hecate: because you have to deal with GHC version still
2021-07-09 18:37:19 <monochrom> And I think the reality is that they will still have the same ugly surprising interference as when we did things the old "monolithic" way.
2021-07-09 18:37:22 <bgamari> and we currently have no means for plugins to extend the grammar
2021-07-09 18:37:29 <davean> monochrom: but thats clearly silly
2021-07-09 18:37:32 <Hecate> bgamari: ok, I wasn't quite aware of that. :)
2021-07-09 18:37:40 <bgamari> even for those cases that don't require new syntax
2021-07-09 18:37:43 <davean> but even if there was, theres only cost here
2021-07-09 18:38:09 <bgamari> you still have the usual composability problems that plugins introduce
2021-07-09 18:38:13 <bgamari> as monochrom suggested
2021-07-09 18:38:17 <Hecate> I see the errors of my ways. Let's first create a beautiful monolith before thinking about splitting and modularity
2021-07-09 18:38:34 <bgamari> then there are also the purely practical considerations
2021-07-09 18:38:47 <bgamari> e.g. presumably we would want to continue to evolve the plugin alongside GHC
2021-07-09 18:38:58 <Hecate> which is certainly reasonable :P
2021-07-09 18:39:03 <davean> Hecate: no, I don't think you EVER split this
2021-07-09 18:39:08 <bgamari> which means we would have to advance multiple projects in lockstep
2021-07-09 18:39:09 <davean> Hecate: because they're inhernetly tied
2021-07-09 18:39:18 <Hecate> bgamari: ok, got it!
2021-07-09 18:39:21 <Hecate> davean: 👍
2021-07-09 18:39:23 <bgamari> potentially introducing another haddock scenario
2021-07-09 18:39:35 <bgamari> it's an interesting idea though
2021-07-09 18:39:40 motherfs1 joins (~motherfsc@user/motherfsck)
2021-07-09 18:40:40 <davean> The only "benefit" to plugins I see here is supporting new things on older GHCs, but thats combinatorically more work, and its a bad idea - upgrade GHC, you need to anyway
2021-07-09 18:41:10 <monochrom> The monad transformer saga was a wake-up call.
2021-07-09 18:41:20 <Hecate> monochrom: tell me more :)
2021-07-09 18:41:34 <davean> monochrom: ?
2021-07-09 18:42:15 <monochrom> Early adoptors used to think that the monad transformer way was "modular", "plugin", "component", "mix and match", all those nice utopian->dystopian wordings.
2021-07-09 18:42:41 <monochrom> Just because each monad transformer has standalone definition, "no dependency".
2021-07-09 18:43:00 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 272 seconds)
2021-07-09 18:43:04 <monochrom> We now understand that you combine your monad transformers to build a monolith.
2021-07-09 18:43:05 × mikail quits (~mikail@2a02:c7f:bd83:fd00:55cf:122f:957a:f66f) (Ping timeout: 255 seconds)
2021-07-09 18:43:45 <sclv> i think plugins for things like selective-do (or preprocessors) are good as proofs of concept
2021-07-09 18:43:54 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-07-09 18:44:14 <sclv> you can develop them independently, let a few brave people try them out and get a feel for it
2021-07-09 18:44:26 <sclv> but long term you have to fold it in to the main codebase or it usually dies
2021-07-09 18:45:12 <sclv> in the case of selective-do its the preprocessor approach rather than plugin imho, since its a syntactic transform
2021-07-09 18:45:13 <bgamari> right
2021-07-09 18:45:16 <bgamari> I agree with that
2021-07-09 18:45:23 <sclv> recall that's how arrows were first done too -- a long tradition!
2021-07-09 18:45:26 × favonia quits (~favonia@user/favonia) (Ping timeout: 252 seconds)
2021-07-09 18:45:30 <bgamari> plugins are really best used for a prototyping
2021-07-09 18:45:35 <Hecate> oki doki
2021-07-09 18:45:58 <bgamari> IIRC scala used to make quite a bit of use of compiler plugins
2021-07-09 18:46:14 <bgamari> and the effect was that projects became very tied to particular compiler versions
2021-07-09 18:46:53 favonia joins (~favonia@user/favonia)
2021-07-09 18:47:40 × warnz quits (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) (Remote host closed the connection)
2021-07-09 18:48:18 × motherfs1 quits (~motherfsc@user/motherfsck) (Ping timeout: 252 seconds)
2021-07-09 18:49:43 <lechner> Hi, what are the "row types" mentioned here, and why are they scary, please? Thanks! https://chrisdone.com/posts/clientside-programming-haskell/
2021-07-09 18:49:46 <sclv> also these days for syntactic prototyping one can do it directly with quasiquotes, which is pretty nice and stable

All times are in UTC.