Live data from Hacker News

Racket v9.0

blog.racket-lang.org

61–70 of 129 posts

Re: Racket v9.0

#61
post #17

Earlier quoted context omitted.

I suppose, Racket is for CS grads / post-grads / researchers / professors. That is, not for those who just learn CS basics, but for those learnèd enough. Students might use some simplified or customized languages produced with Racket. The syntax needs not be lispy; #lang algol60 is built in :)

You list only academic positions. Has no popular software been written in it yet?

Arc was ported to Common Lisp last year, but before that was Racket.

And HN is written in Arc.

So does the website you're on count as popular software?

Re: Racket v9.0

#62

The big news here is that Racket now can run threads in parallel. While there were ways to get parallelism before (like places), this is much more lightweight and familiar. Anything that expands the areas where Racket is viable is good news to me since I like writing stuff in Racket.

I feel like version 9 just getting parallel threads kind of contradicts the homepage when it says Racket is "Mature" and "Polished".

Wait til you hear about NodeJS not supporting parallel threads until version 12...

Re: Racket v9.0

#63
post #36

I've wanted to try racket a few times but always found the "IDE" to be really unintuitive, clunky and weird. What gives? Is that by design or is it just that nothing better has been created so far?

Go to racket-mode.com for the very nice Emacs-integration.

Geiser works well for Racket also.

Re: Racket v9.0

#64
post #29
post #20

Earlier quoted context omitted.

I admit I'm one of those students who never used Racket in a non-academic setting (but mostly because I needed to contribute to already-existing projects written in different languages), and I was taught Racket from one of its main contributors, John Clements at Cal Poly San Luis Obispo. However, learning Racket planted a seed in me that would later grow into a love of programming languages beyond industry-standard i…

To be fair, "write an interpreter for a subset of scheme" is a core use case for lisp-family languages. If it had been,"write a real-time driver for a memory-limited piece of hardware", you may have had a different preference.

Guile is GNU's extension language, and a Scheme.

It is meant for low level programming, like how it is used inside GDB.

Or high level, like how it is used in Make or Google's schism.

If you want memory limited, then you can turn it around in uLisp [0] without really changing the dev experience.

[0] http://www.ulisp.com/

Re: Racket v9.0

#65

Earlier quoted context omitted.

How rewriting something internally makes Racket not mature? Sounds like refactoring to me and with an extensive test suite there's nothing to be hysterical about.

Maybe I just have a different working definition of these words. To me "mature" means "fully developed" and "polished" means "achieved a high level of refinement". To me, rewriting it all to introduce a major feature that fills in a longstanding hole in the language doesn't say "mature and polished". Because often times many bugs are introduced into a codebase on a major rewrite despite extensive test suites, especia…

I think they don't always communicate well with industry practitioners, and your reactions are great evidence of that.

Racket is lead by professors, and (as is sometimes the case in systems research) some of them are very highly skilled software developers, well above HN average. But they have not been working in industry, and some have never worked in industry, so they don't always know what notes to hit, and they don't always know current subtleties of practice.

My best example of this is when someone kept saying the platform was "batteries included". My reaction was, my god, no, please don't say that: the first time the wrong person sees that, invests time with that expectation, and finds all the ways that is absolutely not true by industry convention, they will rip the ecosystem a new one.

Set expectations properly, and you attract the right people, who will love it, and they will also disproportionately be great programmers.

That said, the software engineering quality situation is much better than the impression you seem to have. They've done a very solid job of rehosting Racket internals, and of generally maintaining backward-compatibility over the years. Much better than Python, for example. (Also, Racket docs are usually much better than most ecosystems I have used in recent years.)

Re: Racket v9.0

#66
post #61

Earlier quoted context omitted.

You list only academic positions. Has no popular software been written in it yet?

Arc was ported to Common Lisp last year, but before that was Racket. And HN is written in Arc. So does the website you're on count as popular software?

Six degrees of "Kevin..", I mean, Racket

Re: Racket v9.0

#68

I first experimented with Lisp back in the mid-80’s, and have returned to it time and again—not as a language for serious projects, but just as a way of learning new techniques and new ways to think about writing software. I’ve tried using Racket on a number of occasions going back to way before it was called that, and something about the software just puts me off. Perhaps I could get past that if I stuck with it, bu…

I liked it many years ago but when I noticed how slow and heavy my code was I left it. It manages to be slower than Python. Perhaps the Chez Scheme rewrite helped with that but now if I need a Lisp I have Common Lisp which is super fast and lightweight enough.

Re: Racket v9.0

#69

Earlier quoted context omitted.

What are some difference between the education tooling around Racket and that which enables "industrial" applications Common Lisp is known for?

That's a good question. The education tooling is all optional (so their only impact is perceptual) DrRacket, teaching languages, and supporting libraries are all optional. (see Minimal Racket - just the compiler and package manager https://download.racket-lang.org/releases/9.0/#:~:text=SHA25... ) I'd like to know what tooling is missing from Racket that is available in major general purpose languages like C#, Java, o…

Java has the VisualVM. https://visualvm.github.io/

I would love a similar tool for Racket.

Re: Racket v9.0

#70
post #5

Lisp is its own meta-language, and Racket is even more meta. It's a language construction kit, essentially.

I've often heard this, but I don't really know of many people in the PL dev community who build their language in Racket. Also, I've taught a PL course and I tried to use Racket as a component, but students mostly just struggled with the LISP-y ness of it all, as they were primarily used to Java and Python. In all, I'm not really sure who Racket is for.

These days, I prefer Lean 4. Its macro system is inspired by racket and it has powerful types
Post reply on HN