diff options
author | Sacha Chua <sacha@sachachua.com> | 2024-12-13 11:03:03 -0500 |
---|---|---|
committer | Sacha Chua <sacha@sachachua.com> | 2024-12-13 11:03:03 -0500 |
commit | 1147abeaa0686a5ae3c71df674ccd709b4b3617f (patch) | |
tree | 3254abd08a949d665ed0d2a1fa853cf917241f89 /2024/captions/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers.vtt | |
parent | d99364ed2b2d51acdf668525d5b449a25d8a37c0 (diff) | |
download | emacsconf-wiki-master.tar.xz emacsconf-wiki-master.zip |
Diffstat (limited to '')
-rw-r--r-- | 2024/captions/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers.vtt | 346 |
1 files changed, 346 insertions, 0 deletions
diff --git a/2024/captions/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers.vtt b/2024/captions/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers.vtt new file mode 100644 index 00000000..d37f80ef --- /dev/null +++ b/2024/captions/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers.vtt @@ -0,0 +1,346 @@ +WEBVTT + +NOTE Q: Do you have any suggestions for interactive debugging of Julia code in Emacs? + +00:00.089 --> 00:00.829 +... answer to that. I, I think the infrastructure for an + +00:01.509 --> 00:14.192 +ecosystem in Julia in general is as mature as other + +00:01.509 --> 00:14.192 +languages, and even debugger infiltrator themselves are + +00:01.509 --> 00:14.192 +not particularly well developed. And so I don't think + +00:15.853 --> 00:19.214 +there's much we can do about that right now. I think that it's + +00:21.570 --> 00:28.057 +unfortunate that most of the development for these type of + +00:21.570 --> 00:28.057 +tools is tightly linked to VS code. But even there, I don't + +00:29.218 --> 00:36.225 +think that there's much done in terms of interactive + +00:29.218 --> 00:36.225 +debugging. So I, yeah, I think this has to be worked on mostly + +00:36.866 --> 00:43.213 +on the Julia side first. And then probably Emacs can get + +00:43.820 --> 00:48.303 +something out of that. I know that there's development in + +00:49.183 --> 00:57.728 +debugger.jl itself for future releases to make it at least + +00:49.183 --> 00:57.728 +faster and more stable. But yeah, I think we're not there as + +00:58.809 --> 01:03.852 +Julia community itself. So let alone Emacs, integration + +01:04.192 --> 01:07.234 +with Emacs. The way I personally debug is mostly using, + +01:08.286 --> 01:15.508 +well, debugger and infiltrator with Julia REPL mode in + +NOTE Q: Can you call out something that Julia has that Emacs does not, and which could benefit Emacs? + +01:08.286 --> 01:15.508 +Emacs. The second question, can you call out something that + +01:18.009 --> 01:24.891 +Julia has that Emacs does not and which could benefit Emacs? + +01:26.852 --> 01:27.852 +Nothing stands out to me except the usual multi-threading + +01:28.848 --> 01:32.552 +and things like this. I don't necessarily see something + +01:33.432 --> 01:46.783 +that Julia has going on that DMX doesn't have, but I see some + +01:33.432 --> 01:46.783 +differences and approaches that I think are important, + +01:33.432 --> 01:46.783 +like the community. I think Julia is a very active and tight + +01:47.384 --> 01:50.266 +community. Julia uses Slack and is very, very active. I + +01:54.093 --> 01:57.736 +think he might say something like that, but it's maybe more + +01:54.093 --> 01:57.736 +on Reddit, IRC. JuliaCon is big and brings together lots and + +01:59.078 --> 02:02.381 +lots of people. And I think the sense of community is really + +02:03.221 --> 02:05.263 +powerful. It's very easy to essentially meet people that + +02:06.364 --> 02:16.834 +are interested in what we're building and interested in + +02:06.364 --> 02:16.834 +what we're doing and interested in Julian, our, you know, + +02:06.364 --> 02:16.834 +hacker spirit. I think Emacs is a very strong community. + +02:21.228 --> 02:26.151 +We're here on a Saturday talking about Emacs, which again + +02:21.228 --> 02:26.151 +proves that we are doing this. But I'd like to emphasize that + +02:27.192 --> 02:35.696 +the community is a really important aspect in Julia that I + +02:27.192 --> 02:35.696 +think we should double down on our side. The next question is + +NOTE Q: Is there a way to use lisp syntax with Julia, like hy for python or lisp flavoured erlang? + +02:36.797 --> 02:44.841 +about Lisp syntax with Julia, like what we can do in Python. + +02:48.038 --> 02:53.180 +I don't think that's, I don't, I am not aware of any package + +02:48.038 --> 02:53.180 +that does that. I would bet that there's something there. I + +02:56.722 --> 02:58.063 +think that that's possible. Indeed, there used to be a Lisp + +02:59.243 --> 03:07.027 +interpreter in Julia itself until the latest release. The + +03:07.647 --> 03:12.229 +syntax parsing was done with a Lisp, it was called TemtoList + +03:07.647 --> 03:12.229 +indeed. I think this got rid, get rid of this for our more + +03:16.124 --> 03:23.489 +Julia-based solution that is faster and with better code + +03:16.124 --> 03:23.489 +provenance. I think that it should be possible to use the + +03:25.430 --> 03:35.437 +metaprogramming features in Julia to change the structure + +03:25.430 --> 03:35.437 +of your syntax to be a Lispy syntax. I do want to emphasize + +03:36.238 --> 00:03:44.664 +that Julia is heavily inspired by Lisp, so I wouldn't be + +03:36.238 --> 03:44.664 +surprised if if something like this were possible. + +03:49.309 --> 00:03:51.167 +I have tried Julia Snail. + +NOTE Q: Have you tried the Julia Snail package for Emacs? It tries to be like SLY/SLIME for Common Lisp. + +00:03:51.168 --> 00:03:51.070 +So the next question is about Julia + +03:51.270 --> 03:52.712 +Snail. I found Julia REPL to be a little bit easier to set up + +03:53.312 --> 03:58.436 +and use. So I just settled on that. I should maybe revisit + +04:00.918 --> 04:03.480 +that. In particular, I use the Julia REPL with the vterm + +04:03.720 --> 04:11.406 +backend, which essentially makes a companion REPL to my + +04:03.720 --> 04:11.406 +scripts. And that works for me. I do think that the tooling + +04:15.638 --> 04:16.518 +uh, could be improved. I think there is definitely much room + +04:17.399 --> 04:22.040 +and I would like to see improvement in that area. Um, and, uh, + +NOTE Q: Is there a data inspector for a Julia REPL available that you can use in Emacs? + +04:22.940 --> 04:28.322 +so we have data inspector for Julia REPL. + +04:32.043 --> 04:34.784 +I don't think so. I don't, is there any data inspector + +04:34.804 --> 04:39.826 +in for, for the Julia REPL that we can use in Emacs? + +04:43.223 --> 00:04:43.489 +I'm not sure. I don't think so. + +00:04:44.840 --> 00:04:47.839 +I think the way I look at data is + +00:04:47.840 --> 00:04:50.519 +essentially ignoring Emacs when encoded. It's just using the + +00:04:50.520 --> 00:04:54.759 +REPL. And again, with Julia REPL. So I'm not aware of any + +00:04:54.760 --> 00:04:57.720 +specialized tool And again, maybe this is, again, a good + +04:58.652 --> 05:05.595 +moment to emphasize that tooling, the Julia community + +04:58.652 --> 05:05.595 +clusters around VS Code. And there is tools like the, pretty + +05:06.315 --> 05:11.578 +much all the work with VS Code, unfortunately. And while + +05:12.578 --> 05:21.242 +there's a very, very decent Julia mode and Julia repo mode + +05:12.578 --> 05:21.242 +and Julia snail, there's definitely, definitely room for + +05:12.578 --> 05:21.242 +improvement. + +NOTE Q: Have you tried literate programming Julia (using Org babel or some other means) in Emacs? + +05:24.443 --> 05:28.145 +Next, we have a question about literate programming in + +05:24.443 --> 05:28.145 +Julia. I haven't done much of it with Org Babel or + +05:29.505 --> 05:32.906 +anything else. I haven't done much of it. I can say that Julia + +05:35.827 --> 05:46.070 +has developed a new iteration of notebooks called Pluto. + +05:46.090 --> 05:48.471 +Here I'm thinking about Jupyter notebooks. The Pluto + +05:51.021 --> 06:02.988 +notebooks for Julia try to remove a bunch of the pain points + +05:51.021 --> 06:02.988 +that Jupyter notebooks have, meaning you cannot easily + +05:51.021 --> 06:02.988 +commit them to Git or things like this. + +06:06.450 --> 06:09.152 +I haven't used them, but I know some people are very fond of + +06:06.450 --> 06:09.152 +them. And so I think that that's what some of the Julia + +06:09.872 --> 06:15.195 +community would use for notebooks. And I think they can + +06:15.315 --> 06:19.298 +interact with Emacs with no problem. And that would be a form + +06:20.974 --> 06:23.035 +of later programming. But if you can do it in Python, you can + +06:24.015 --> 06:27.696 +do it in Julia. I think there is no reason. And actually, you + +06:30.617 --> 06:38.719 +can take advantage of all this just-in-time or + +06:30.617 --> 06:38.719 +just-out-of-time compilation by keeping the same + +06:30.617 --> 06:38.719 +session. So I think it will be definitely a nice use case. So + +06:44.681 --> 06:47.222 +these are the questions that I see here. I'm going to scroll + +06:48.561 --> 06:54.486 +through the comments and see if there's something that I + +06:48.561 --> 06:54.486 +should say about comments. I'm excited people want to learn + +06:56.228 --> 06:57.669 +Julia. I have to say that if I want to do GPU computing + +06:58.990 --> 07:06.757 +nowadays, I find it much easier to do it with Julia than with + +06:58.990 --> 07:06.757 +CUDA. So I encourage people to look into that. And I do, + +07:11.758 --> 07:26.807 +again, I would like to share what makes me excited about + +07:11.758 --> 07:26.807 +Emacs, about this being open, being collaborative, being + +07:11.758 --> 07:26.807 +respectable with documentation is something that I find in + +07:11.758 --> 07:26.807 +Julia. So I think people that are excited about the same + +07:27.367 --> 07:35.192 +features will find a little bit of joy in working with Julia. + +07:38.214 --> 07:39.675 +I think I addressed what I have here. I don't know if there's + +07:40.189 --> 07:43.532 +anything else that I should add. + +07:51.718 --> 07:54.000 +It took me a minute to unmute there. + +00:07:54.040 --> 00:07:58.399 +No, I think that was awesome. And thank you so much. + +00:07:58.400 --> 00:08:00.399 +I guess I thought it would + +00:08:00.400 --> 00:08:06.559 +collapse that shared area on BBB, my mistake, on the stream, + +00:08:06.560 --> 00:08:12.399 +or I would have left it open. But in any case, no, I thought + +00:08:12.400 --> 00:08:15.079 +that was great. You did a great job of responding to all the + +00:08:15.080 --> 00:08:17.879 +questions and comments. And thank you again so much for your + +00:08:17.880 --> 00:08:20.920 +talk and getting us all excited to learn Julia. Thank you. + +08:24.094 --> 08:25.275 +Enjoy EmacsConf. And again, thanks so much for attending, + +08:25.335 --> 08:30.220 +for being EmacsConf. Thank you. |