3 ms·
Dear Cooking Show, I really liked your recipe for the shrimp-avocado salad, and I tried to make it, but since I was out of avocados I just substituted them with
by iLemming 2y ago
Dear Cooking Show, I really liked your recipe for the shrimp-avocado salad, and I tried to make it, but since I was out of avocados I just substituted them with potatoes. Also, it turns out I didn't have any shrimp, so I just used some hot dogs I found in my freezer. OMG, this recipe is amazing. You just made my day.
---
That's what using X instead of Lisp to make "a better Emacs" sounds like, okay? Emacs is a Lisp-machine, it's built on top of Lisp, it needs Lisp to be Emacs. Otherwise it wouldn't be Emacs. Like at all. Don't be stupid, stop saying stupid shit like "python instead of lisp"...
- lysace 2y agoDon't be an ass.
- iLemming 2y agoWhat? I'm not trying to, I'm trying to be funny. Sorry if you read it in your head differently.
- lysace 2y ago> Don't be stupid, stop saying stupid shit like "python instead of lisp".
- iLemming 2y agoWell, that is a stupid thing to say. You probably just haven't yet realized why.
- lysace 2y agoYou're just so full of yourself, aren't you? You know the one true way to do programming, it's lisp and everyone else is an idiot? This was old before you were even born.
- iLemming 2y agoNow, you're just being rude, I never said things you're implying I did, and I never claimed anything of being "one true way to do anything", I only tried to point out in a humorous way of your uninformed opinion, but I guess you lack basic sense of self-irony. Okay, if you rather remain sanctimonious, stiff-necked "professional", fine. I'm sorry if I hurt your tender feelings and I apologize if I angered you - I promise, my intentions were quite the opposite. Also, you have no idea when I was born, let's not get too personal, okay?
- lysace 2y agoI do understand that for you Emacs is a Lisp development environment first, not a text editor. Can you imagine people enjoying the user experience of Emacs while simultaneously preferring languages that are not Lisp?
- iLemming 2y ago> I do understand that for you Emacs is a Lisp development environment first It's not "for me", it is what it is. Emacs first and foremost is a Lisp machine, with a text-editor built into it, not the other way around, it's not a text-editor that uses Lisp as its configuration language. "user experience of Emacs" is to be able to send any expression and sub-expression without any preceding ceremony directly to the REPL. Everything what Emacs does stems from that. No, Python doesn't have the same REPL. Every single stage of it in Python is different. Lisp's Read, Eval, Print, Loop - they all have slightest differences. Those differences are possible because of Lisp's homoiconic nature. Because of that you get Lisp macros, because of that you get advising functions, because of that you can do source blocks in Org-mode that can interact with and modify their own execution environment. Lisp's homoiconicity allows code to be treated as data and vice versa, enabling powerful metaprogramming capabilities. This means you can: 1. Manipulate code at runtime 2. Create domain-specific languages easily 3. Extend the language itself In Org-mode, this translates to source blocks that can: 1. Dynamically generate and execute code 2. Modify their own content or other blocks' content 3. Interact with the Emacs environment seamlessly This level of flexibility and power isn't achievable in Python's REPL due to its more rigid separation between code and data. While Python is highly versatile, it lacks the deep introspection and self-modifying capabilities that Lisp's homoiconic nature provides, making Lisp uniquely suited for certain advanced metaprogramming tasks and interactive development paradigms. So the bottom line is: you can imagine really hard, but it would remain just an imagination, if you want to build something like Emacs - a REPL that has a built-in text editor, you need a Lisp, because non-homoiconic languages DO NOT HAVE exactly same REPLs. Now, do you want me to get seriously pedantic and explain how every step in ReadEvalPrintLoop differs in Lisp and Python?
- lysace 2y agoBetween this and you calling me stupid - twice! I now understand enough about you to ignore you and feel good about that decision. Thank you.
- lispm 2y agoGNU Emacs is a Lisp implementation with an abstraction layer over the hardware and OS. I would like to reserve "Lisp Machine" to computers with an actual Lisp operating system or emulations of those.
- iLemming 2y agoOf course. I understand that calling Emacs "a Lisp Machine" is quite a stretch, but due to the lack of any actual prominent hardware-based Lisp machines these days, I think it is a permissible simplification for the orange-site discussions. Yet it is, indeed, an important clarification, I appreciate it.
- lispm 2y agoThere are two open source emulators of actual Lisp Machines I would recommend: Interlisp-D/Medley: https://interlisp.org https://interlisp.org MIT CADR: https://tumbleweed.nu/lm-3/ https://tumbleweed.nu/lm-3/ These run an actual Lisp operating system.