I mean, I know elisp is not the most efficient of Lisp compilers but doing so for a new IDE opens the door for all available codes and plugins people have written for emacs throughout the years.
TimL: Clojure-like Lisp dialect that runs on and compiles down to Vimscript
11–20 of 43 posts
Re: TimL: Clojure-like Lisp dialect that runs on and compiles down to Vimscript
#12There are things I'll never understand. Why would anybody do this? Why Clojure and not Emacs Lisp?
We've come full circle.
Re: TimL: Clojure-like Lisp dialect that runs on and compiles down to Vimscript
#13There are things I'll never understand. Why would anybody do this? Why Clojure and not Emacs Lisp?
"There are things I'll never understand." => true
> "There are things I'll never understand."
"There are things I'll never understand."
for me. But > (cond ("There are things I'll never understand." 'true))
true
works.Seriously I'm glad to not understand everything, that would be quite worrying and/or boring.
Re: TimL: Clojure-like Lisp dialect that runs on and compiles down to Vimscript
#14Any sufficiently complicated Vim configuration contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Emacs.
Re: TimL: Clojure-like Lisp dialect that runs on and compiles down to Vimscript
#15> Master Pope once dreamt he was an Emacs user. When he awoke, he exclaimed:
> “I do not know if I am Tim Pope dreaming I am an Emacs user, or an Emacs user dreaming I am Tim Pope!”
---
Re: TimL: Clojure-like Lisp dialect that runs on and compiles down to Vimscript
#16Is there anything like this on the works for Vimscript 9? Tangentially related: asking around in fora and in person, I was surprised to see that many plugin writers have had very good experience with the new Vimscript, and even prefer it to the more general purpose Lua (I was expecting the opposite). I myself have not used any Vimscript, but I am tempted to take a look at the new language.
Re: TimL: Clojure-like Lisp dialect that runs on and compiles down to Vimscript
#17Re: TimL: Clojure-like Lisp dialect that runs on and compiles down to Vimscript
#18Can anyone see how to start the repl?
Start a repl with :TLrepl. Tab complete is your friend. The first time may take several seconds (if your computer is a piece of shit), but compilation is cached, so subsequent invocations will be super quick, even if Vim is restarted.Re: TimL: Clojure-like Lisp dialect that runs on and compiles down to Vimscript
#19How difficult is it to write an "Emacs Lisp" interpreter in a foreign framwork like neovim? Wouldn't this basically convert any IDE into Emacs if the user wants it? I mean, I know elisp is not the most efficient of Lisp compilers but doing so for a new IDE opens the door for all available codes and plugins people have written for emacs throughout the years.
Re: TimL: Clojure-like Lisp dialect that runs on and compiles down to Vimscript
#20Something similar: Fennel ( https://fennel-lang.org/ ) is a lisp that compiles into Lua, which neovim can use as plugins, so you can write neovim plugins in a lisp. Aniseed ( https://github.com/Olical/aniseed ) makes this really easy. Aniseed is also used by Conjure (Interactive development environment for neovim, used for evaluating Fennel code inside of neovim), which is also made by the same author. Really great p…
AND/BUT one of fennel's impressive things is that it sticks rigidly to lua runtime semantics. Which I found a little repulsive at first but has huge benefits in its context. You can drop fennel into any version of lua on any runtime (bc they vary a lot) and it works the same. You can hook the single-file fnl compiler into lua's module loader and mix fennel files into an existing lua program, freely sharing functions and metatables both ways.
Very flexible and powerful because of that tradeoff. Anywhere I have to use lua now I am actually using fennel.
The downside is this choice precludes it from having the clojure-like data structures and reference types. It could add a new standard library but doesn't, limiting itself to a handful of special forms (notably pattern match thank god) that mix nicely with the existing lua primitives. It looks like TimL has gone the other way with that decision, which I also appreciate. Makes it maybe a less flexible general-purpose lua replacement/extension, but probably makes it more powerfully suited for the specific purpose it'll be used for.