This is one of the best videos I've ever seen. The focus on "diverge from expectations, likely not gonna be what you are searching for when you encounter them" seems to be rare and I very much appreciate it.
On the symbol-plist section, I forgot to mention, get and set. (get 'magit-dispatch 'transient--prefix) will directly access the symbol-plist of 'magit-dispatch.
Excellent presentation! I don't think it's necessarily fair to use the clown emoji for cl-loop. I recall it not quite being complete as far as Common Lisp goes, but it's definitely worth knowing well. Like 'prog' and 'labels' it was intended to make translation easier from other imperative programming languages of the day. And yes, it feels like a different language. The aha moment is when you realize it's split into initializations, body, and then finalizations. Take a day or three to really learn it and it will pay off in the long run. Sometimes being the shortest way to write something. Many times, the collecting clauses make it act like a generator. I think such a structure appears in at least three dialects of lisp (called FOR in InterLisp) so it's pretty time tested.
About the clown emoji on cl-loop, I think my intent was to imply that while cl-loop is good, it's a bit odd that we need cl-lib to express such important ideas. It's Elisp, not CL that is a bit suspect here.
This is one of the best videos I've ever seen. The focus on "diverge from expectations, likely not gonna be what you are searching for when you encounter them" seems to be rare and I very much appreciate it.
Very cool!! I’ve been using emacs since 1992 and loved the video! Thank you!
On the symbol-plist section, I forgot to mention, get and set. (get 'magit-dispatch 'transient--prefix) will directly access the symbol-plist of 'magit-dispatch.
0:24 Lisp 2.
1:15 Buffer locals.
2:39 Keyword symbols.
3:29 symbols
4:25 setf.
6:19 Advice.
7:45 Let-binding settings.
8:58 save-excursion.
9:55 Namespaces
10:46 Buffer-passing.
12:09 Homoiconicity.
14:08 Commands and functions.
15:28 Iteration.
🤙
Excellent presentation! I don't think it's necessarily fair to use the clown emoji for cl-loop. I recall it not quite being complete as far as Common Lisp goes, but it's definitely worth knowing well. Like 'prog' and 'labels' it was intended to make translation easier from other imperative programming languages of the day. And yes, it feels like a different language. The aha moment is when you realize it's split into initializations, body, and then finalizations. Take a day or three to really learn it and it will pay off in the long run. Sometimes being the shortest way to write something. Many times, the collecting clauses make it act like a generator. I think such a structure appears in at least three dialects of lisp (called FOR in InterLisp) so it's pretty time tested.
About the clown emoji on cl-loop, I think my intent was to imply that while cl-loop is good, it's a bit odd that we need cl-lib to express such important ideas. It's Elisp, not CL that is a bit suspect here.
Looking forward to the org-tree-slide video; the presentation looked great!
Super! Thank you very much for sharing
Awesome keep the nice work
What's the difference between advice and method combinations from Common Lisp?
Similar idea, but not OOP. Advice has more variations, like :filter-args See EIEIO in Elisp for CLOS things in Emacs.
nice nice nice!
13:10 That is not true, writing ELisp data to a file is no less serialization, no less expensive than writing it to a file in JSON instead.
It is less expensive to the programmer.
The {,de}serialization {to,from} JSON is the expensive part (also JSON will most likely be more bytes)