Hacker News new | ask | show | jobs
by HwyarkGnuor 960 days ago
Is any software of note built on top of either software? All i can think of are these forums which, while enormously culturally influential, seem unremarkable from a technical perspective.
3 comments

I don’t know about “of note”, but here are a couple pieces of software I’ve built with Racket:

* https://franz.defn.io/

* https://remember.defn.io/

* https://defn.io/2023/08/10/ann-franz-source-available/

HN itself runs on Racket.

Wonderful projects! I wish I could give you more than 1 upvote.
You just make me realize, you effectively can.

In the way those Dyson bladeless fans pull more air through. In your case, many folks know you (some from UIUC too like me) and know your upvote is worth reading, ending up upvoting too.

p.s. s/make/made/ courtesy of keyboard typo
Thank you!
> HN itself runs on Racket.

Isn't it an ancient version of Racket, though?

But doesn’t it also work fine, whatever version it uses?
My point, based on the assumption that indeed Arc runs on an old Racket version, is that it doesn't serve as a good example, in my mind, in terms of what you could build with Racket today.

This is a quite common pattern in the Lisp and Scheme world where examples of real world usage are given, but they're effectively outdated.

[Another try in case this is the type of answer you wanted.]

In Racket the batteries are included. Two examples of programs I had to write like two years ago for work:

* A bot to reply emails that uses IMAP, SMTP and web scrapping. (It's not 100% automatic. It replies only the easy cases and adds labels so I reply the tricky ones.)

* An program to cleanup Moodle backups that uses gzip and xml. I compiled it and send it to my coworkers. (The backups have too much info, so before restoring it in another site it's better to remove the unused parts.)

In both cases, and all the features were installed by default. There are many user defined libraries that can be downloaded as packages, but I didn't need to use them.

For what it's worth, I am actually a fan of Racket, or at least was. It's what I reach for when I want a Scheme. But I lost enthusiasm for the language when the Rhombus project was announced. I now mainly use F# and Elixir for my side projects. Racket doesn't really provide anything over those two languages for most use cases.

And it's tough to get support as there's very few people who know the stack well enough, and those people are the busiest and also professors, so their time is limited.

Racket has a strong respect for back compatibility, so it should work in the current version. There has been a lot of improvements in the compiler (in particular changing the "back end" from C to Chez Scheme) but it's stil back compatible and sligthly faster.
It is my recollection that the official Arc uses incompatible features. I can't remember where I read this, so it's entirely possible I am incorrect.
Even though your question is a bit pointed, I think it is worth understanding what software is built upon Chez and Racket. The answers would be instructional to everyone. Here is some stuff, that I _do_ know -- there is probably a lot more usage in the wild:

Racket is used extensively in education and research relating to Scheme and programming languages in general. Lots of work on gradual typing, programming language semantics comes out of the Racket community. Many colleges around the world use Racket. Scheme/Racket is very pared down language and lends itself to this kind of work -- the principles of whatever you are studying shine through quite easily in a way that it may not if you were using C, Rust, Python etc. in the problem domain.

As noted elsewhere in the comments, Idris 2, an important dependently typed language outputs to Chez/Racket Chez. Previously it output C code which was then compiled.

See: https://en.wikipedia.org/wiki/Racket_(programming_language)#...

In general, Chez is probably a great language to use as a "base". It lends itself to embedding and is performant. Lua and some Javascript implementations come to mind as comparables. In general, we might not know much about Chez being used a lot in the wild because it could be tucked deep into various proprietary company products.

I do not know why Cisco hired Kent Dybvig, the prime designer/implementer of Chez Scheme, or why they chose to host its repo. I suspect that answering this question would reveal significant production programs written using Chez Scheme.