Live data from Hacker News

Racket: Lisp for Learning

lwn.net

31–40 of 154 posts

Re: Racket: Lisp for Learning

#31

I really like Racket, but the potential breaking massive syntax change in Racket2 makes me really uncomfortable in using or recommending Racket to other people, at least until the situation is clarified.

The whole point of Racket is that syntax changes are not breaking, and furthermore the proposal was very clear that #lang racket would continue to be fully supported. The proposal should be regarded as an exciting extra feature, not a deprecation of anything.

Honestly, the community overreaction to this really disappoints me.

Re: Racket: Lisp for Learning

#32

I really like Racket, but the potential breaking massive syntax change in Racket2 makes me really uncomfortable in using or recommending Racket to other people, at least until the situation is clarified.

What's unclear about the situation? A developer tossed out an idea at a con. That's it, and `#lang racket` is and always will be a first class citizen. If you're hesitant to recommend Racket because of a potential `#lang racket2`, it seems like you're missing the point of Racket as a workbench for creating new `#lang`s.

In all fairness, the concern about effective second-class status is/was valid, but I now think the community support for it means it will remain first-class, one way or another.

Re: Racket: Lisp for Learning

#34
I got into 'purely' functional programming with Racket. It's really fun to use, and you can truly understand the functional paradigm if you dig deep into it.

Along with it, I would recommend reading Structure and Interpretation of Computer Programs.

Re: Racket: Lisp for Learning

#35
post #2

Carmack is a huge fan of Racket. He was going to use it as the scripting language for VR until the Oculus execs made him use JavaScript instead (boooooo) https://twitter.com/id_aa_carmack/status/807797812700348416

I think I heard that even his wife didn't want him to teach their son Racket and wanted him to learn Java. Not sure if true.

I believe you're referring to this thread. https://groups.google.com/forum/?hl=en#!topic/racket-users/y...

Re: Racket: Lisp for Learning

#36
post #33

Who are the current major users of Racket? Are there any large commercial codebases written in it?

I have no official data, but I don't think it's used beyond the academic and hobbyist level.

However, I must say that understanding the functional paradigm (learning Racket is a really good exercise) can help developers write really professional software with Scala, Elixir, Clojure, etc.

Re: Racket: Lisp for Learning

#37
post #2

Carmack is a huge fan of Racket. He was going to use it as the scripting language for VR until the Oculus execs made him use JavaScript instead (boooooo) https://twitter.com/id_aa_carmack/status/807797812700348416

Last week I tried writing a new Love2d mode for Emacs in Emacs Lisp, but it was on Windows so my muscle memory for Paredit wasn't helpful. Editing s-expressions is a nightmare without some kind of automatic help. Last night I wrote the same plugin for VS Code which used JavaScript, and naturally it was effortless. It got me thinking about how s-expressions are inherently hostile to non-customized setups, whereas Java…

You’re absolutely right: there’s nothing inherently Clojure/ClojureScript about painless hot-loading. But the fact remains that culturally, people care about it while getting anything done in TypeScript tends to require bundler fast.

Culture matters, which is why I should probably learn Rust...

Re: Racket: Lisp for Learning

#38
Racket is a mixed bag for me.

I've found a little quirks in the standard library, with simple fixes, but annoying. Stuff like decimal->string (?) producing odd output. (It was a tiny fix on my end, but it's a little subjective, maybe the behavior was intended) Not a big deal, but maybe a little impediment for learners compared to python.

The article mentions Scribble, which I use as a static site generator for a a page with a leader board for EDH games (and maybe adding 9 ball lol). Some small CSS changes made it OK for cell phones (basic changes to make it responsive so it's ugly but readable), but as is it sucks, and the maintainers have no interest in changing that.

Dr. Racket is unfortunate. If I remember correctly it has a tabbed interface, but right clicking on the tabs does not bring up a menu, and the tabs might not have close buttons either? It's not bad, but inferior to any dedicated editor.

OTOH, I keep using it for little tasks, I like the language, and I seem to be one of the few people who are excited about the Racket2 syntax, so I think I will stick with it. I had been considering switching my lisp use to clojure.

Re: Racket: Lisp for Learning

#39
post #29

Earlier quoted context omitted.

Last week I tried writing a new Love2d mode for Emacs in Emacs Lisp, but it was on Windows so my muscle memory for Paredit wasn't helpful. Editing s-expressions is a nightmare without some kind of automatic help. Last night I wrote the same plugin for VS Code which used JavaScript, and naturally it was effortless. It got me thinking about how s-expressions are inherently hostile to non-customized setups, whereas Java…

> Editing s-expressions is a nightmare without some kind of automatic help. I used to write C and C++ code in (non-vim) vi, with only autoindent, and it was fine. I could also type the spaces, if I had to. For s-expressions, like in a Lisp, you want autoindent a bit more, and some kind of of paren-matching/highlighting is also important. Fortunately, editors have been doing autoindent and paren-matching for decades.…

I agree that a good IDE experience is a core part of the language nowadays. And in my experience, VS Code + TypeScript is by far the best IDE experience, far better than Clojure + Emacs ever was. A significant amount of productivity that I thought that combination was giving me turned out to just be a feeling of productivity because of how ninja the stuff I was doing was. Similar to how I'm faster in Emacs than I was in Vim, but I thought I was faster in Vim simply because the complexity or cleverness of the commands I was typing in before I learned Emacs.

Re: Racket: Lisp for Learning

#40

Earlier quoted context omitted.

Last week I tried writing a new Love2d mode for Emacs in Emacs Lisp, but it was on Windows so my muscle memory for Paredit wasn't helpful. Editing s-expressions is a nightmare without some kind of automatic help. Last night I wrote the same plugin for VS Code which used JavaScript, and naturally it was effortless. It got me thinking about how s-expressions are inherently hostile to non-customized setups, whereas Java…

The UI of an S-Expeession and a compiler transformation parse time transformation is just out of any comparison. Most of projects wouldn’t even consider writing a loader for a compiler or using a syntax parser. Yet to add which method is more prone to errors.

True but there's also things like Sweet.js, and non-s-expression languages have been able to get macros too, such as Elixir. I'm firmly convinced that s-expressions are almost pure novelty with no legitimate benefit.
Post reply on HN