summaryrefslogtreecommitdiffstats
path: root/2021/talks/build.md
diff options
context:
space:
mode:
Diffstat (limited to '2021/talks/build.md')
-rw-r--r--2021/talks/build.md72
1 files changed, 72 insertions, 0 deletions
diff --git a/2021/talks/build.md b/2021/talks/build.md
new file mode 100644
index 00000000..c8edc0d8
--- /dev/null
+++ b/2021/talks/build.md
@@ -0,0 +1,72 @@
+[[!meta title="How to build an Emacs"]]
+[[!meta copyright="Copyright © 2021 Fermin MF"]]
+[[!inline pages="internal(2021/info/build-nav)" raw="yes"]]
+
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# How to build an Emacs
+Fermin MF
+
+[[!inline pages="internal(2021/info/build-schedule)" raw="yes"]]
+
+[[!template id="help"
+summary="main talk does not have captions"
+volunteer="João Pedro"
+tags="help_with_main_captions"
+message="""This talk does not have captions yet. Would you like to help [caption this talk](/2021/contribute/#edit-captions)? You may be able to start with these
+[autogenerated captions](https://media.emacsconf.org/2021/emacsconf-2021-build--how-to-build-an-emacs--fermin-mf--main.vtt)
+and [timing information](https://media.emacsconf.org/2021/emacsconf-2021-build--how-to-build-an-emacs--fermin-mf.en.srv2)."""]]
+
+This is a deep dive in the Emacs philosophical and technical
+aspect on what makes our beloved GNU Emacs
+what it it. It's also a talk about the early LISP machines and
+fascinating were those days of experimentation and engineering.
+
+It will continue with the Emacs benefits/trade-offs from an
+user/developer stand points, what things can be improved and
+what can be an hypothetical path on how to build a software that
+can also be called Emacs.
+
+As a last part, I'll talk about CEDAR, an Emacs that I've been
+developing in Common Lisp, the project goals
+and the challenges.
+
+For more details about CEDAR: <https://gitlab.com/sasanidas/cedar>
+
+# Discussion
+
+Pad:
+
+- Q1: Which level of compatibility with GNU Emacs do you want to achieve?
+ - A: I want to achieve 100% compatibility (when possible)
+- Q2: Are you then planning to reimplment all Emacs C primitives?
+ - A:No, the underlayer would be different
+- Q3: Do you plan on doing something to ease interaction between redundant "components" in both Elisp and Common Lisp (like CLOS and EIEIO)? How about semantic differences between both?
+ - A: (Probably answered by voice.)
+- Q4: Have you used Nyxt, which is Emacs-like and written in Common Lisp? If so, what did you think about it?
+ - A: I think it's a great project and I would like to use it as a my main Browse (with the firefox extension layer)
+- Q5: "Emacs is a great operating system, just lacking a good editor." How do you feel about the push to use Emacs as a full computing interface, and do you think Cedar could thrive in some of the fully common lisp system ideas that might catch on (like Robert Strandh's proposed CLOSOS)?
+ - A: I think CEDAR can achieve more integration with the OS (the same as the CL implementations) but I think the goal of been a good Emacs is good enought
+
+IRC nick: akrl
+
+- I think the performance stuff is mostly orthogonal to elisp. ex. very large files or files with really long lines grind horribly.
+- agreed, it's typically the massive amount of code that needs to interact with eachother that causes the slowdown but Emacs Lisp itself seems fairly performant.
+- there is a WIP CL implementation written called SICL :)
+ - akrl: yes but is bootstrapped from SBCL, so... :)
+- I know of three or four other attempts to write CL Emacsen. All long dead...
+- fundamentally there are not very many CL developers: there are probably many more elisp developers by now. C (and C++, and Java, and heck probably F# and Rust) have way more developers, so will always be more likely to gain enough momentum to not just die
+- the fashionable languages have lots of users but tend to fade away, CL is undead for ages... I would help in a CL implementation
+- I think everyone should write their own editor at some point. It's a very good learning experience.
+ - Alan Kay says a similar thing about writing your own operating system
+ - With Emacs you get both! :-)
+- I would love to see '#_' reader macro in Elisp for comments. core.async port and maybe, immutable collection (but that one is too much to ask)
+- isn't that what Xi-editor tried to build on?
+ - it's definitely what xray tried to build on
+- akrl: I'm extremely skeptical on the feasibility of reaching 100% compatibility :) (with an approachable effort)
+
+
+[[!inline pages="internal(2021/captions/build)" raw="yes"]]
+
+[[!inline pages="internal(2021/info/build-nav)" raw="yes"]]