4 ms·
Today Unix philisophy it's better done at 9front than the Unix clones themselves. >Functional + universal data structure + homoiconic = power It everything us
by anthk 2y ago
Today Unix philisophy it's better done at 9front than the Unix clones themselves.
>Functional + universal data structure + homoiconic = power
It everything used TSV or tabular data, yes. But is not the case. With lisp you can always be sure.
>I edit my entries in Emacs.
Emacs can do dired (ls+vidir), eshell, rsync maybe to s3 (emacs package+rclone), markdown to HTML (and more from ORG Mode) and tons more with Elisp. With ORG you can basically define your blog and with little of Elisp you could upload your blog upon finishing.
>21st Century Terminal
Eshell, or Emacs itself.
>. What if we take the idea of Unix programs as pure functions over streams of data a little further? What about higher-order functions? Or function transformations? Combinators?
Hello Elisp. On combinators, maybe that shell from Dave from
CCA. MPSH? https://www.cca.org/mpsh/ https://www.cca.org/mpsh/
- sevensor 2y agoI have a lot of respect for emacs, but my favorite editor takes what somebody in this conversation called an “exterior” approach instead. This is kakoune, and it gets a lot more attention for its editing model (which is quite good) than for its approach to dealing with the outside world. But the latter deserves some attention, because you extend kak by calling other programs for everything, and kak makes it very easy to do. For instance, I have a key bind that invokes the date command to insert a timestamp at the cursor. I’m sure there’s a very reasonable bit of elisp that produces the same result, and it probably looks a lot more like strftime. I think this makes for an instructive contrast; I’ve never seen another editor take integration with external processes quite so far.
- coliveira 2y agoElisp is dependent on Emacs. It is useful to have a language that you can run without loading Emacs.
- anthk 2y agoGuile supports Elisp, albeit it's far slower. Also you can run emacs -q --script "foo.el" foo.el being (/ 2.0 3.0) (princ "Hello") (terpri)
- 9dev 2y agoEvery time people praise Emacs like this, I wonder if I just don’t get it or they have an Emacs-shaped hammer and only see Emacs-shaped nails. Lots of braced nails, naturally.
- lotharcable 2y agoEmacs is unique because it is self-editable. That is you can edit and modify the program on the program realtime. There is a C-based core that can't be updated on the fly, but by and large Emacs a self-mutable Lisp virtual machine that comes with a built-in editor and repl. Depending on how you want to look at it it is possible to say that Emacs editor you use when you first install it is just the default application for the ELisp machine. This is why people talk about things like Org-Mode as if it is this separate thing. It kinda really is. Sure it is included with Emacs nowadays, but it really is just another Elisp application. And, yes, it is a editor first and the machine is based around concepts like buffers, but it is still a full fledged programming environment. Which also means that if you don't like Emacs as a editor you can write your own. Which people have done. It makes a great Vi/Vim editor with Evil that is far more compatible with Vim then most people imagine. I use "Meow-mode" which is another model editor that adopts some more modern approaches from things like Helix and puts a lot of focus on improving the efficiency of Emacs keyboard macros. So saying that Emacs users just have a "Emacs-shaped hammer" makes as much sense as saying that all Java authors have is a big Java hammer or that Linux users can only see problems as Linux nails, or whatever. There is a downside to all of this, of course. Emacs where-everything-is-changeable-and-accessible-all-the-time doesn't lend itself to multi-threading, so if you have a lot of stuff going on in the "background" it can cause performance problems. The newer "native compilation" that became standard in the past few years does helps a lot, but there is a still a single thread deep down. Also if you want to get very productive in Emacs there is a learning curve. If you are a sysadmin type that has been using Vi for decades then going to Emacs is going to be very painful. The best bet for becoming a advanced user very quickly is to learn just enough Emacs to do basic editing and navigating info files... and then just put the effort into learning Elisp. You don't have to do this, lots of people use it for years without learning any real elisp, but it does limit you. Of course thanks to things like Doom Emacs you don't lose much compared to other editors/IDEs. Also things like Eshell and GNU Calc are criminally underrated and misunderstood. (hint: Eshell is not a terminal emulator and doesn't use a external shell program, so don't confuse it with things like ETerm) And, hey, I can now have conversations with my editor with the help of ollama. So there is that.
- amy-petrik-214 2y ago>Functional + universal data structure + homoiconic = power >It everything used TSV or tabular data, But is not the case. With lisp you can always be sure. basic unix kit is built around line-separated lines which are field-separated and you even get to choose your own separators and not get locked into tab. You can use this kitset, a common one, or other different kit. But with this kitset, yes, everything is indeed a table Re: emacs https://www.youtube.com/watch?v=urcL86UpqZc&t=253s https://www.youtube.com/watch?v=urcL86UpqZc&t=253s