Live data from Hacker News

Why Fennel?

fennel-lang.org

151–160 of 174 posts

Re: Why Fennel?

#151
post #130

Earlier quoted context omitted.

I have set it up 50 times and it crapped the bed every time. Before anyone yells "skill issue!", I'll say that if any plugin author can make the editor crap the bed, then the editor is not good. There are degrees to freedom. Complete freedom in such environments is a liability, not an asset. Say hi to the others in the ivory tower. And remind them not to do selective omissions in their supposed counter-arguments to "…

I know you're being down voted, but I've struggled with my Emacs config breaking quite frequently over the years. Nearly all of the breakages were due to plugins. I assume these breakages would be far less common if I was only using old plugins like Helm. But I like fancy new plugins that bring new functionality and smooth UX. They just seem to make breaking changes a lot more often. As far as performance goes, Emacs…

I am no longer impressed by the gray color treatment of my comments when it happens (don't get the impression that it's the norm; it's fairly rare). HN has showed me that it's much more about group-think and cargo culting than objective and calm discussion. Obviously those elements still kinda sorta prevail a good part of the time but for the most part the random HN user fell victim to the usual big herd logic fallacies. So let them press their arrows, that's not changing anything. And I didn't even claim something is objectively / universally bad. I said that the priorities of Emacs are not my priorities, in not-the-perfect diplomatic way that's apparently expected. Some people couldn't take that and pressed the arrow.

It's their right. ¯\_(ツ)_/¯

With that being said, I also struggled with Emacs. Again, too much freedom. I don't want to care where am I supposed to put `.el` files. I want a plugin manager and to be able to tell it: install / update / delete. Neovim's Lazy and Mason do that and that's why I love them. Just earlier today some configuration of a plugin broke; it used git submodules and something got moved and the new revision used another mechanism. I literally fixed it in 5 seconds: deleted the plugin, installed it again, and configuration persisted and I didn't have to set it up again. Reopen a file (just input `:e` in the command bar), everything worked right away. Is this too much to ask of Emacs?

> They just seem to make breaking changes a lot more often.

That was my experience as well. Always some warning in the command bar or a full-blown stack trace. No thanks. I don't associate with amateur work.

Re: Why Fennel?

#152
post #104
post #94

Earlier quoted context omitted.

I tried fennel for a game jam and honestly was pretty disappointed. The way lisp languages are pitched here, I thought I was in for a mind opening experience, but instead the end experience was pretty much identical to lua in ever meaningful way, the only differences felt surface level (I.e. using closures, and parentheses). I'm forever indebt to lisp for giving JS it's saving graces (closures and FN as first class c…

The way to appreciate a Lisp is to use an actual Lisp, not a syntax transpiler for a non-Lispy language. Common Lisp, Racket or Scheme with a good REPL and editor integration are light years ahead than Fennel which is little more Lua-with-parens.

> Fennel is little more Lua-with-parens.

Totally. And Clojure is Java-with-parens; Janet is C-with-parens; LFE - Erlang-with-parens; Elisp is a Stallman's erotic fantasy, neatly wrapped in parens. Only Common Lisp is an "actual Lisp for immortal souls" - the rest is for peasants.

Re: Why Fennel?

#153

Earlier quoted context omitted.

> I still view Neovim as a huge improvement Neovim unlike Emacs is an editor. Emacs is not a mere code editor, not an IDE, text-processor, or web-browser. Emacs first and foremost is a Lisp REPL, with a built-in text-editor. Without deeply understanding that aspect one can never truly appreciate the incredible power it grants you. Do you use your editor to read and annotate pdfs? Or watch videos? Or manage the librar…

Well you kind of answered yourself. After limping with Emacs for 19-ish years, during most of which I never made the serious effort you alluded to, I finally admitted I just don't have and don't want to have the mindset that's deemed necessary to make full use of Emacs. All of my professional experience, which is at this point substantial (though of course I make no claims that quality stems from quantity!), has show…

The point you're trying to make is meaningless. You're trying to compare two things of distinct categories. It's as if I said - "I like Zoom, we sometime use it for screen recordings", and someone replied: "I've moved away from Zoom for my screen recordings - OBS is such a huge improvement over it..."

I don't care what editor you use or like or moved on to. I use Neovim myself. But like I said, Emacs is not just an editor. Come back when you find a better replacement for a "Lisp REPL with a built-in editor", maybe then, the conversation start making sense.

Re: Why Fennel?

#154

Earlier quoted context omitted.

If you learn better by video than by reading, the Structure and Interpretation of Computer Programs lectures by Abelson and Sussman are spectacular. I have watched the entire course multiple times. The SICP book also receives a lot of praise, but I have yet to read it myself. They specifically use Scheme, but most of the knowledge can be translated to other Lisp dialects as well. The biggest difference between the di…

Also... HtDP (How to Design Programs) is a good follow-on to SICP. Oh... and I think we can't mention SICP without referencing this (relatively recent) video about why MIT moved from Scheme to Python for intro classes: https://youtu.be/OgRFOjVzvm0

HtDP was written to address difficulties with learning from SICP https://cs.brown.edu/~sk/Publications/Papers/Published/fffk-...

I have gotten much farther (and accordingly learned more from HtDP). It is accurate to think of it as an on ramp for SICP.

Re: Why Fennel?

#155

Earlier quoted context omitted.

Well you kind of answered yourself. After limping with Emacs for 19-ish years, during most of which I never made the serious effort you alluded to, I finally admitted I just don't have and don't want to have the mindset that's deemed necessary to make full use of Emacs. All of my professional experience, which is at this point substantial (though of course I make no claims that quality stems from quantity!), has show…

The point you're trying to make is meaningless. You're trying to compare two things of distinct categories. It's as if I said - "I like Zoom, we sometime use it for screen recordings", and someone replied: "I've moved away from Zoom for my screen recordings - OBS is such a huge improvement over it..." I don't care what editor you use or like or moved on to. I use Neovim myself. But like I said, Emacs is not just an e…

Emacs was sold to me as an editor however, and technically that wasn't a lie.

The distinction you're making is too only technically correct. Emacs is still (also) an editor. I judged its editor abilities and found them lacking. Finally I woke up and understood it's not for me and moved on.

You can stop arguing now.

Re: Why Fennel?

#156
post #9

Earlier quoted context omitted.

Fennel is indeed nice and I rewrote my config in it too, but looked back ~2 years later and rewrote it again in Lua. I think Fennel for configuration is not justified and just adds complexity. Also the tools are not there: two existing language servers[1][2] can't compete with Sumneko's Lua language server[3] and they are fennel-exclusive and clueless about Lua code. I still like Fennel for writing more complicated c…

I find most niche / less popular languages lack the developer tools ecosystem in ways that simply hinders adoption by more devs. A good and comprehensive LSP for example. It really needs to be on par with other languages to increase adoption

> I find most niche / less popular languages lack the developer tools ecosystem in ways that simply hinders adoption by more devs.

Niche languages often serve specific purposes that don't require broad tooling. They also sometimes can leverage tooling from more popular languages. Less popular doesn't necessarily mean less capable - some niche languages have excellent tooling in their domain. Not to mention that not all developers need the same type of tooling or prioritize certain set of tools equally, like for example, for me personally - homoiconicity and REPL-connectivity in a language are far more important than LSP or some other things.

Re: Why Fennel?

#157

Earlier quoted context omitted.

The point you're trying to make is meaningless. You're trying to compare two things of distinct categories. It's as if I said - "I like Zoom, we sometime use it for screen recordings", and someone replied: "I've moved away from Zoom for my screen recordings - OBS is such a huge improvement over it..." I don't care what editor you use or like or moved on to. I use Neovim myself. But like I said, Emacs is not just an e…

Emacs was sold to me as an editor however, and technically that wasn't a lie. The distinction you're making is too only technically correct. Emacs is still (also) an editor. I judged its editor abilities and found them lacking. Finally I woke up and understood it's not for me and moved on. You can stop arguing now.

[flagged]

Re: Why Fennel?

#158
post #99

Earlier quoted context omitted.

I’m having trouble understanding what you mean, if you could provide or link to an example I’d appreciate it.

Sure. Here's a comment with more of an explanation: https://news.ycombinator.com/item?id=36158974

I feel like I must be missing something, because I don’t understand why representing data in an s-expression is better than representing it as nested arrays (lists of lists) and hashtables/dictionaries. I also don’t see why representing data in a language’s data structure is inherently better than representing it in a language-agnostic format like JSON, and having libraries to parse and convert data from that format into a language data structure, or a library that defines a JSON type, or storing the JSON in a string and using a library that operates on strings that contains valid JSON. I’ve worked with data in this way (JSON on disk, converted to nested arrays/tables in code) and haven’t felt it to be painful.

I can see how one might have a taste preference for it, but I’m struggling to understand what the tangible benefits are.

Re: Why Fennel?

#159
post #65

Earlier quoted context omitted.

Focusing on the runtime's parser is a red herring and I think a common error in lisp advocacy. Even if I didn't the full power of a lisp macro system, it is an absolute joy to manipulate programs written in s-expressions. Being able to cut/copy/paste/jump-[forward/back] by sexpr is really convenient, and often done nowhere near as well in other languages. I think this is because until the invention of tree-sitter and…

It does sound interesting, and I'll look into Lisp, can you give me some advice on what's the best way to learn it? On your other point, I've programmed in many languages in many years, and mostly I did some in an environment with an IDE, or powerful language-specific tooling (not tree-sitter) that had a proper good understanding of the syntax and semantics of the language used.

> what's the best way to learn it?

What's the best way to learn programming in general? For me, is to try to build something. Find a problem, pick a Lisp, start building.

Just make sure to have two things: structural editing and the REPL. Without these two, Lisp may feel awkward. But when you have the ability to quickly move any expression around, transpose them, etc., - writing programs becomes like composing haikus or something. You basically will be moving some "lego-pieces" around. With the connected REPL, you will be able to eval any expression in-place, from where you're writing your code.

I started without these and indeed, that was challenging. Having to balance the parentheses by hand, counting them, omg, I was so obtuse, but I'm glad I didn't give up. You don't have to go too crazy - in the beginning, something that automatically balances out the parens, or highlights them when they are not, and lets you grab an expression and paste it somewhere else would be good enough.

And the REPL. Shit, I didn't know any better, I thought I was suppose to be copypasting or typing things into it. That is not the way! Find a way to eval expressions in-place. Some editors even show you the result of the computations right where the cursor is.

I have done years of programming prior to discovering Lisp, and I don't really understand how I was okay without it. I wish someone has insisted to try it out. Today I don't even understand how can anyone identify as a programmer and "hate" Lisp, just because they have stared at some obscure Lisp code for like two minutes at some point.

Re: Why Fennel?

#160

Earlier quoted context omitted.

Emacs was sold to me as an editor however, and technically that wasn't a lie. The distinction you're making is too only technically correct. Emacs is still (also) an editor. I judged its editor abilities and found them lacking. Finally I woke up and understood it's not for me and moved on. You can stop arguing now.

[flagged]

[flagged]
Post reply on HN