WEBVTT 00:00:00.480 --> 00:01:16.319 Thanks 00:01:16.320 --> 00:02:05.359 Why is Elisp not a general-purpose programming language, at least not completely? 00:02:05.360 --> 00:02:37.759 Is this activity related to the garbage collector? 00:02:37.760 --> 00:03:42.079 Is the idea to eventually develop Emacs itself in Elisp? 00:03:42.080 --> 00:04:27.199 How did you work on this? 00:04:27.200 --> 00:05:39.039 Does this compilation pipeline introduce vulnerabilities? 00:05:39.040 --> 00:07:28.479 What code, if any, will still benefit significantly from being written in C? 00:07:28.480 --> 00:08:49.359 What's the risk of (setq native-comp-speed 3)? 00:08:49.360 --> 00:09:15.199 Are there any limits introduced by native comp with respect to runtime introspectability, changeability/redefinability, etc? 00:09:15.200 --> 00:10:11.359 Is there a benefit in setting native-comp-compiler-options to "-mtune=native -march="? 00:10:11.360 --> 00:11:54.799 You mentioned native-comp coming in emacs 28. Will this be the default at build time, or will distros have to set this themselves? 00:11:54.800 --> 00:14:22.479 Could we avoid libgccjit.so? Or consider using another jit lib (e.g. dynasm used by luajit) et al to gain better optimization? 00:14:22.480 --> 00:16:23.839 How much of Emacs's C code base could be translated to emacs-lisp? What is the minimum C code base necessary? 00:16:23.840 --> 00:17:27.599 Could we statically type elisp code (via macros?) to provide more optimization hints to compiler? 00:17:27.600 --> 00:18:55.839 Elisp and Python all are dynamically typed langauge, but benchmark shows that Elisp runs slower than Python. Could we learn some best practices from the Python community? 00:18:55.840 --> 00:21:35.919 Did you try to optimize with Rust too? What are your thoughts on Rust for this particular optimization and security? 00:21:35.920 --> 00:22:59.039 Does the native compilation interface with the Emacs profiling tools? 00:22:59.040 --> 00:27:04.319 Where did funding for your work come from? 00:27:04.320 --> 00:28:36.879 What kind of application do I envision native comp enabling to work well in Emacs in the next few years, and which one would not be possible? 00:28:36.880 --> 00:29:47.679 Is this the first real-world practical use of libgccjit? 00:29:47.680 --> 00:33:49.359 Is there any task you need help with? 00:33:49.360 --> 00:38:37.519 What's a good way to proceed? 00:38:37.520 --> 00:40:46.079 What kind of packages do you think could now be practical with native comp? 00:40:46.080 --> 00:46:29.759 Why not implement Emacs Lisp in Guile and use Guile's compiler? 00:46:29.760 --> 00:48:27.679 What are some other hobbies/interests of yours besides Emacs? 00:48:27.680 --> 00:51:04.639 Will you be presenting at ELS or anywhere else in the next year? 00:51:04.640 --> 00:59:46.959 How to make Emacs more popular? 00:59:46.960 --> 01:02:04.799 Do you have 'wish list' features, things you long for Emacs to be able to do? 01:02:04.800 --> 01:05:33.359 From BBB chat: dickmao has a patch that makes Gnus async.... 01:05:33.360 --> 01:10:20.719 Advice for anyone who wants to bring something into Emacs core 01:10:20.720 --> 01:10:21.720 Do you have any advice on how to approach the upstream development community?