From e83f377aba7079eca2ab774e7f27f2704f669f43 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Tue, 20 Dec 2022 13:05:54 -0500 Subject: add answer captions, add rest of IRC comments --- ...exploration-with-emacs--yuchen-pei--answers.vtt | 554 +++++++++++++++++++++ 1 file changed, 554 insertions(+) create mode 100644 2022/captions/emacsconf-2022-haskell--haskell-code-exploration-with-emacs--yuchen-pei--answers.vtt (limited to '2022/captions/emacsconf-2022-haskell--haskell-code-exploration-with-emacs--yuchen-pei--answers.vtt') diff --git a/2022/captions/emacsconf-2022-haskell--haskell-code-exploration-with-emacs--yuchen-pei--answers.vtt b/2022/captions/emacsconf-2022-haskell--haskell-code-exploration-with-emacs--yuchen-pei--answers.vtt new file mode 100644 index 00000000..7f4c42b6 --- /dev/null +++ b/2022/captions/emacsconf-2022-haskell--haskell-code-exploration-with-emacs--yuchen-pei--answers.vtt @@ -0,0 +1,554 @@ +WEBVTT + +00:01.000 --> 00:01.840 +Okay, excellent. + +00:01.840 --> 00:04.000 +I think we are live on stream. + +00:05.320 --> 00:06.360 +Yuchen is here with us. + +00:06.360 --> 00:08.560 +Thanks for the great talk, Yuchen. + +00:08.560 --> 00:11.840 +For the questions, people are welcome to post them on IRC + +00:11.840 --> 00:12.680 +or on the pad. + +00:13.560 --> 00:17.000 +And we will also open this big blue button room up + +00:17.000 --> 00:19.560 +in a few minutes if people want to join here + +00:19.560 --> 00:22.680 +and ask Yuchen the questions directly. + +00:22.680 --> 00:30.680 +So yeah, thanks again and take it away. + +00:30.680 --> 00:53.680 +Yeah, thanks. + +01:00.680 --> 01:29.680 +Okay. + +01:29.680 --> 01:33.000 +Well, I guess while we wait for some other audience questions + +01:33.000 --> 01:36.200 +to start trickling in, I wonder, + +01:37.280 --> 01:39.800 +not having yet watched your talk, obviously, + +01:39.800 --> 01:42.120 +because it's been behind the scenes, + +01:42.120 --> 01:44.320 +I wonder if your system works + +01:44.320 --> 01:46.040 +with offline documentation as well, + +01:46.040 --> 01:49.200 +because I remember seeing earlier + +01:49.200 --> 01:52.520 +some other Haskell-related workflows + +01:52.520 --> 01:56.000 +where people would have downloaded the entirety + +01:56.000 --> 02:00.280 +of the Hackage documentations + +02:00.280 --> 02:03.280 +and yeah, be able to browse them locally when offline. + +02:06.120 --> 02:06.960 +Yeah, for sure. + +02:06.960 --> 02:17.960 +I mean, that's one of the points of writing these packages. + +02:17.960 --> 02:26.520 +So the Hadock org documentation is meant for generation + +02:26.520 --> 02:30.120 +of org files of these Haskell packages + +02:30.120 --> 02:33.160 +so that you can have them locally on your computer + +02:33.160 --> 02:35.240 +rather than having to rely on Hackage, + +02:36.400 --> 02:40.440 +which is online, which is on the web. + +02:40.440 --> 02:48.720 +The other one, HCL, the code explorer, it's self-hosted. + +02:48.720 --> 02:54.920 +So all you need to do is to download the packages + +02:54.920 --> 02:58.840 +you want to index and then index them on the server + +02:58.840 --> 03:02.120 +or on the local host and then, yeah, + +03:02.120 --> 03:05.520 +then you can unplug your Ethernet cable + +03:05.520 --> 03:10.880 +and explore Haskell code on your computer. + +03:10.880 --> 03:35.880 +Nice, thanks, that makes sense. + +03:41.880 --> 03:45.640 +Maybe another question while we wait for other questions + +03:45.640 --> 03:48.800 +from the audience and again, not having had a chance + +03:48.800 --> 03:50.720 +to watch your talk yet. + +03:50.720 --> 03:53.280 +What do you think is the state of, I guess, + +03:53.280 --> 03:56.760 +integration of Haskell, both, I guess, + +03:56.760 --> 04:01.080 +the language, the packages, the tooling, all that stuff, + +04:01.080 --> 04:05.160 +integration with Emacs today in like 2022? + +04:05.160 --> 04:07.480 +Because I'm also, I do have a Haskell background, + +04:07.480 --> 04:10.120 +but I haven't done much of it in a few years. + +04:10.120 --> 04:13.200 +And back when I do remember some pain points, + +04:13.200 --> 04:16.360 +including when trying to integrate it into Emacs. + +04:16.360 --> 04:19.520 +So I do wonder what the general state of things + +04:19.520 --> 04:25.040 +are, if you could maybe answer quickly, I guess. + +04:25.040 --> 04:26.520 +Not in great detail necessarily. + +04:29.640 --> 04:33.480 +OK, yeah, I mean, I haven't tried all the packages, + +04:33.480 --> 04:34.880 +Haskell-related packages. + +04:34.880 --> 04:40.680 +And I think the most prominent ones are Haskell mode + +04:40.680 --> 04:45.080 +and Haskell language servers through language server + +04:45.080 --> 04:49.880 +packages like eglots or LSP mode. + +04:49.880 --> 04:56.280 +Yeah, I mean, Haskell mode is like, + +04:56.280 --> 05:03.160 +it feels to me like a standard language mode where + +05:03.160 --> 05:09.280 +it offers font locking, syntax highlighting, I mean, + +05:09.280 --> 05:18.520 +and REPL, like Python mode, and limited documentation + +05:18.520 --> 05:25.400 +and cross-references, which is, I mean, as I mentioned, + +05:25.400 --> 05:30.360 +that's why I did this HCL package. + +05:30.360 --> 05:38.280 +And the language server is like, it is also pretty standard + +05:38.280 --> 05:42.440 +and offering all the language server things, most of them, + +05:42.440 --> 05:43.200 +I think. + +05:43.200 --> 05:46.320 +But it's very slow. + +05:46.320 --> 05:49.520 +It's slower than any other language server I've used. + +05:49.520 --> 05:55.440 +And yeah, and it doesn't really work + +05:55.440 --> 06:03.360 +with cross-reference, which I also mentioned in the talk. + +06:03.360 --> 06:11.120 +So yeah, that's the two main packages + +06:11.120 --> 06:12.720 +I think people use most. + +06:12.720 --> 06:23.520 +And yeah, I can't think of anything else that's very + +06:23.520 --> 06:24.600 +prominent. + +06:28.280 --> 06:29.120 +Great, thanks. + +06:33.040 --> 06:34.400 +Oh, OK, I just remembered. + +06:34.400 --> 06:39.200 +There's also the Haskell TNG package. + +06:39.200 --> 06:41.120 +But I haven't looked into it yet. + +06:41.120 --> 06:47.960 +It's, if I remember correctly, it's like in the GNU ELP, + +06:47.960 --> 06:50.080 +is it in GNU ELP or non-GNU? + +06:50.080 --> 06:50.840 +Let me have a look. + +06:58.280 --> 07:00.200 +Right, it's also in non-GNU. + +07:00.200 --> 07:02.680 +Never mind. + +07:02.680 --> 07:07.200 +Yeah, I think it's a new, up-and-coming Haskell media + +07:07.200 --> 07:10.480 +mode, an experimental rewrite of Haskell mode. + +07:10.480 --> 07:12.040 +That's the description. + +07:19.080 --> 07:21.800 +Cool, and have you had a chance to maybe play around + +07:21.800 --> 07:24.640 +with that a little bit and see how + +07:24.640 --> 07:27.440 +it compares with the traditional, the older, + +07:27.440 --> 07:28.520 +the existing Haskell mode? + +07:32.960 --> 07:34.120 +No, I haven't yet. + +07:34.120 --> 07:35.680 +OK. + +08:05.000 --> 08:07.160 +Yeah, I can't think of anything else that's very prominent. + +08:07.160 --> 08:09.160 +I haven't looked into it yet. + +08:09.160 --> 08:12.120 +It's, if I remember correctly, it's like in the GNU ELP. + +08:12.120 --> 08:15.440 +Yeah, I think it's a new, up-and-coming Haskell + +08:15.440 --> 08:19.400 +media mode, an experimental rewrite of Haskell mode. + +08:19.400 --> 08:20.280 +That's the description. + +08:20.280 --> 08:22.520 +I haven't yet, I haven't looked into it, + +08:22.520 --> 08:25.480 +and I think it's a new, up-and-coming Haskell + +08:25.480 --> 08:28.920 +media mode, an experimental rewrite of Haskell mode. + +08:28.920 --> 08:31.680 +Yeah, I haven't yet, I haven't looked into it, + +08:31.680 --> 08:33.740 +you + +09:01.680 --> 09:17.280 +One question that just occurred to me, I guess, about the state of like literate Haskell and + +09:17.280 --> 09:22.960 +potential integration with org mode. I've actually never, I haven't put too much thought into this, + +09:22.960 --> 09:28.000 +but it just occurred to me that Haskell, as you likely know, already has a literate Haskell mode + +09:28.000 --> 09:36.000 +with like.LHS files. And I was wondering, I guess, if you've tried maintaining or writing + +09:36.000 --> 09:41.200 +any projects in literate Haskell, at least not, if not entirely, then with a considerable amount + +09:41.200 --> 09:50.400 +of source code in that approach and how it might compare, for example, to something like Babel, + +09:50.400 --> 09:58.160 +I guess, which is very much more documentation oriented with like code blocks intermingled. + +10:01.280 --> 10:10.880 +Okay. Yeah, I'm afraid I haven't really used the literate Haskell. I heard of it. And if I want + +10:11.600 --> 10:17.680 +to like write literate programming, I would, I mean, I would go for org mode and org Babel, + +10:17.680 --> 10:24.720 +indeed, first before, yeah, before the more language specific mode. + +10:28.240 --> 10:34.080 +Right. That makes sense. I just thought it's interesting because Haskell is, I guess, + +10:34.080 --> 10:39.200 +one of the fewer languages where it actually does have its own literate mode, if you will, + +10:39.200 --> 10:43.600 +and yeah, there might be something interesting there to think about or try exploring at some + +10:43.600 --> 10:55.040 +point. Yeah, yeah, definitely. Yeah. Yeah, I will look into it. + +10:55.040 --> 11:10.960 +Poo. + +11:25.040 --> 11:53.740 +Yeah, so I'm reading about this Haskell TNG mode. + +11:53.740 --> 11:57.400 +It looks like it can also jump to definition + +11:57.400 --> 12:03.440 +outside of the project using a thing uses + +12:03.440 --> 12:09.560 +a tool called HS Inspect, which is also + +12:09.560 --> 12:15.000 +a tool using the GHC API. + +12:15.000 --> 12:17.480 +Yeah, not sure how it is achieved, though. + +12:17.480 --> 12:21.520 +Bren. + +12:48.480 --> 12:51.360 +I think I have a question on IRC. + +12:51.360 --> 12:53.320 +Is the indexing faster? + +12:53.320 --> 12:55.400 +And when re-indexing, would it be too slow + +12:55.400 --> 12:56.480 +to re-index on demand? + +13:01.560 --> 13:05.120 +Sorry, what's the question again? + +13:05.120 --> 13:09.240 +The question is, is the indexing faster when re-indexing? + +13:09.240 --> 13:11.560 +Would it be too slow to re-index on demand? + +13:11.560 --> 13:14.960 +I think this might be for the other talk stream. + +13:14.960 --> 13:15.920 +I'm not entirely sure. + +13:15.920 --> 13:21.640 +So yeah, I mean, it sounds relevant to this talk, though. + +13:21.640 --> 13:23.600 +Oh, OK, then, yeah, OK, sorry. + +13:23.600 --> 13:26.600 +I'm a little scatterbrained. + +13:26.600 --> 13:28.320 +No, it's OK. + +13:28.320 --> 13:36.760 +Oh, yeah, yeah, re-indexing, I mean, I don't know, actually, + +13:36.760 --> 13:41.680 +because I haven't started implementing + +13:41.680 --> 13:44.400 +on-demand re-indexing yet. + +13:44.400 --> 13:49.320 +And I'm still a bit hazy about whether it strictly + +13:49.320 --> 13:53.520 +requires recompiling when re-indexing. + +13:53.520 --> 14:03.440 +And I mean, but I do think it's like the main workhorse + +14:03.440 --> 14:09.400 +of this process would be the GHC API compiling process, + +14:09.400 --> 14:15.760 +whether it can avoid recompilation efficiency. + +14:15.760 --> 14:23.680 +When, yeah, and I think it can. + +14:23.680 --> 14:28.720 +It has some optimization with recompilation. + +14:28.720 --> 14:35.480 +And also, ideally, you should start + +14:35.480 --> 14:39.800 +using a bit less heavy compilation, + +14:39.800 --> 14:45.640 +like this HIE,.hie files, instead of compiling + +14:45.640 --> 14:49.280 +the whole thing, instead of requiring + +14:49.280 --> 14:55.120 +the compilation of the whole project from using + +14:55.120 --> 14:56.000 +the whole pipeline. + +14:56.000 --> 15:01.760 +So HIE, I think, is more or less the only front-end part. + +15:01.760 --> 15:05.800 +Yeah, and if, I mean, that's one of the things, + +15:05.800 --> 15:10.520 +like, main to-dos for this project, for the HCL project, + +15:10.520 --> 15:16.920 +to replace the cabal helper with using.hie + +15:16.920 --> 15:18.920 +that I haven't looked into yet. + +15:22.920 --> 15:23.440 +Awesome. + +15:26.480 --> 15:29.000 +Yeah, sounds interesting and looking forward to it. + +15:29.000 --> 15:32.240 +I think we have about, like, less than a minute or so + +15:32.240 --> 15:34.640 +for the live Q&A. Of course, people + +15:34.640 --> 15:37.520 +are welcome to keep asking questions, + +15:37.520 --> 15:40.240 +whether on the pad or on IRC. + +15:40.240 --> 15:43.520 +And yeah, so after this, Q&A concludes. + +15:43.520 --> 15:44.920 +This is our last talk of today. + +15:44.920 --> 15:49.080 +So we would appreciate it if people would join us + +15:49.080 --> 15:54.120 +on the general stream for the closing remarks of today. + +15:54.120 --> 15:55.720 +And yeah, we'll still have tomorrow + +15:55.720 --> 15:57.440 +to look forward to the next one. + +15:57.440 --> 15:59.640 +We'll still have tomorrow to look forward to, of course. + +15:59.640 --> 16:01.160 +OK. + +16:25.960 --> 16:28.040 +I see that EmacsConf just left. + +16:28.040 --> 16:30.400 +Does that mean the Q&A is over? + +16:30.400 --> 16:31.680 +Yep, I believe so. + +16:31.680 --> 16:35.760 +So I think we should head on over to the GenStream. + +16:35.760 --> 16:36.800 +OK, cool. + +16:36.800 --> 16:39.280 +Yeah, I'll go there as well. + +16:39.280 --> 16:41.400 +All right, thanks a lot for your questions. + +16:41.400 --> 16:43.480 +Yep, and thank you, Yuchun, for your great talk. + +16:43.480 --> 16:45.000 +Thank you. + +16:45.000 --> 16:46.440 +Thanks, bye-bye. + +16:46.440 --> 16:47.200 +Bye. + +16:47.200 --> 17:03.240 +You are currently the only person in this conference. + -- cgit v1.2.3