summaryrefslogtreecommitdiffstats
path: root/2022/captions/emacsconf-2022-haskell--haskell-code-exploration-with-emacs--yuchen-pei--answers.vtt
diff options
context:
space:
mode:
Diffstat (limited to '2022/captions/emacsconf-2022-haskell--haskell-code-exploration-with-emacs--yuchen-pei--answers.vtt')
-rw-r--r--2022/captions/emacsconf-2022-haskell--haskell-code-exploration-with-emacs--yuchen-pei--answers.vtt554
1 files changed, 554 insertions, 0 deletions
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.
+