For those of you who want to see what a whole neovim config in fennel would look like here you go github.com/s1n7ax/dotnvim I recommend checking out aniseed to simplify the process. github.com/Olical/aniseed Also for those looking to chat and learn about fennel matrix.to/#/!rnpLWzzTijEUDhhtjW:matrix.org?via=matrix.org&via=libera.chat&via=half-shot.uk
I have been looking forward to this video and will probably give fennel a go eventually. Though I must say, I did find the syntax to be quite confusing. Maybe that could be helped by using a rainbow parenthesis highlighting plugin. Also you have have the fennel-lang link twice in the description and are missing the link to the matrix space that you still need to make
use vim's = operator to align the text. then you use the indentation to better read the code. It gives you a python like syntax and makes reading code much easier. It is one of those things you have to write a few times in order to read. Meant to put a link to aniseed in the other link. now it is fixed.
Hey I recently installed artix linux minimal with runit after that I compiled and installed dwm dmenu and st then I tried installing Luke amith larbs but after successfully installing larbs still default dwm ui starts every time I boot via exec dwm xinitrc
I am curious as to your choice of nvim-compe. As in your other videos you spoke of the excellent mu-complete. Completion-nvim basically is like mu-complete in the sense that its an "auto" mode over vim's ins-complete, and has chain completion like mu-complete and all ins-complete sources chained as desired
I originally used completion-nvim but found the chain completion to have issues as well as the general lack of development gives the impression they won't be fixed. Curr I use compe for most completion and manually call the other completions as needed
Some good vid ideas: Kakoune text editor (only one video from DT) Helix text editor ( almost no doc, a video will definitely go in the readme i think) There are a lot of rust application really worth our time : grex (regex helper) , sd (tr and sed replacement ), fd (faster find replacement , rg (faster grep replacement) , skim (fuzzy finder with real time command input)
amazing video! Just curious, isnt this process of converting fennel to lua "transpiling"? *Language* to another *language*, as compared to "compiling" which would mean *language* to *binary* ....its whatever, i m just curious. Anyway I m so sad that you have so little views, this is definitelly content deserving more!
I don't think transpiling actually has a legal definition. It's just a term people made up for tools that compile to js. That's the main reason I don't use the term. Compile as an abstracted term from programming still makes sense imo. In the end you can call it what you want. Thanks for watching.
A compiler is a translator, and it doesn't matter if it translates to machine code or to another high-level language, it is still a compiler. A source-to-source compiler, or, as it is more commonly known today, a transpiler. The term transpiler, I believe, was coined in the early or mid 80s.
Oh, it is so basic and easy to understand. () is list, so are (1 2 3) (function arg1 arg2 ...) is applying function on all the arguments. So first argument in a list is a function, and rest are used as arguments, and evaluated before they are send as argument to function. As any other language (except lazy evaluation languages, like Haskel) If you want to get a list of data, just apply function quote on it, or add a ' in front of the list, and it will not evaluater/execute the list. (first '(1 2 3)) will give you 1 (rest '(1 2 3)) will give you (2 3) (first '(rest (1 2))) will give you value rest (first (rest '(1 2))) will give you value 2 Only thing that is bad, is the square bracket use, instead of plain parenthesises. And if you really thinks that is the worst, you have not seen many language. Like Perl...
Everything is (opp arg[s]) EVERYTHING (or almost: obviously if is a ternary structure, so there are exceptions). So let your eyes forget about the parentheses, and the semantics are clear. Then focus on the parentheses, and the AST pops out at you. Plus, since the syntax is uniform all the way through, lisp's macroing ability is unparalleled. Lisp is to program compilation as C is to an idealized von Neumann machine.
LISP = Lots of Irritating Superfluous Parenthesis. I was never fond of the Lisp family of languages. I did kind of played around with Scheme for a while, but I still prefer procedural languages.
configuring nvim with fennel got me into lisp, thanks!
Hmm more fennel + neovim videos would be awesome :)
For those of you who want to see what a whole neovim config in fennel would look like here you go github.com/s1n7ax/dotnvim I recommend checking out aniseed to simplify the process.
github.com/Olical/aniseed
Also for those looking to chat and learn about fennel matrix.to/#/!rnpLWzzTijEUDhhtjW:matrix.org?via=matrix.org&via=libera.chat&via=half-shot.uk
I have been looking forward to this video and will probably give fennel a go eventually. Though I must say, I did find the syntax to be quite confusing. Maybe that could be helped by using a rainbow parenthesis highlighting plugin.
Also you have have the fennel-lang link twice in the description and are missing the link to the matrix space that you still need to make
use vim's = operator to align the text. then you use the indentation to better read the code. It gives you a python like syntax and makes reading code much easier. It is one of those things you have to write a few times in order to read.
Meant to put a link to aniseed in the other link. now it is fixed.
What a great video, thanks. Liked and subscribed.
Thanks for the video, great introduction :)
Great intro
Two years late to the party: can you "roundtrip", ie transpile existing lua to fennel? That would be a great paedagogical aid.
Yep you can do that with a program called antifennel
Have you ever make a minetest game? It's made in Lua. There's even a game called Loria made with fennel, but it's stopped development I think.
I have unfortunately never had the pleasure to play with minetest.
As I see it Fennel offers up a way to use lisp for development and then actually convert it to something that can be used irl.
Hey I recently installed artix linux minimal with runit after that I compiled and installed dwm dmenu and st then I tried installing Luke amith larbs but after successfully installing larbs still default dwm ui starts every time I boot via exec dwm xinitrc
I am curious as to your choice of nvim-compe. As in your other videos you spoke of the excellent mu-complete. Completion-nvim basically is like mu-complete in the sense that its an "auto" mode over vim's ins-complete, and has chain completion like mu-complete and all ins-complete sources chained as desired
I originally used completion-nvim but found the chain completion to have issues as well as the general lack of development gives the impression they won't be fixed. Curr
I use compe for most completion and manually call the other completions as needed
Some good vid ideas:
Kakoune text editor (only one video from DT)
Helix text editor ( almost no doc, a video will definitely go in the readme i think)
There are a lot of rust application really worth our time : grex (regex helper) , sd (tr and sed replacement ), fd (faster find replacement , rg (faster grep replacement) , skim (fuzzy finder with real time command input)
How does one embed fennel into mpv?
amazing video! Just curious, isnt this process of converting fennel to lua "transpiling"? *Language* to another *language*, as compared to "compiling" which would mean *language* to *binary* ....its whatever, i m just curious. Anyway I m so sad that you have so little views, this is definitelly content deserving more!
I don't think transpiling actually has a legal definition. It's just a term people made up for tools that compile to js. That's the main reason I don't use the term.
Compile as an abstracted term from programming still makes sense imo. In the end you can call it what you want. Thanks for watching.
A compiler is a translator, and it doesn't matter if it translates to machine code or to another high-level language, it is still a compiler. A source-to-source compiler, or, as it is more commonly known today, a transpiler. The term transpiler, I believe, was coined in the early or mid 80s.
So a compiler is a transpiler + assembler?
Are you using emacs with exwm?
Shhh
@@GavinFreeborn hahaha oh my god
@@GavinFreeborn oh, you are infiltrating. :-)
(emacs user myself, but not exwm)
A lisp compiling to Lua.
Oh hi mark
Gavin lets just emit it... You need emacs
That is the most horrible syntax to work with i have ever seen!!!
bruh, chill
Oh, it is so basic and easy to understand.
() is list, so are (1 2 3)
(function arg1 arg2 ...) is applying function on all the arguments. So first argument in a list is a function, and rest are used as arguments, and evaluated before they are send as argument to function. As any other language (except lazy evaluation languages, like Haskel)
If you want to get a list of data, just apply function quote on it, or add a ' in front of the list, and it will not evaluater/execute the list.
(first '(1 2 3)) will give you 1
(rest '(1 2 3)) will give you (2 3)
(first '(rest (1 2))) will give you value rest
(first (rest '(1 2))) will give you value 2
Only thing that is bad, is the square bracket use, instead of plain parenthesises.
And if you really thinks that is the worst, you have not seen many language. Like Perl...
Everything is (opp arg[s]) EVERYTHING (or almost: obviously if is a ternary structure, so there are exceptions).
So let your eyes forget about the parentheses, and the semantics are clear. Then focus on the parentheses, and the AST pops out at you. Plus, since the syntax is uniform all the way through, lisp's macroing ability is unparalleled.
Lisp is to program compilation as C is to an idealized von Neumann machine.
LISP = Lots of Irritating Superfluous Parenthesis. I was never fond of the Lisp family of languages. I did kind of played around with Scheme for a while, but I still prefer procedural languages.
@@fidelhviegas It can be an acquired taste, especially if you're coming from ;function(args){body} languages, but it's dead simple.