Live data from Hacker News

Racket v9.2

blog.racket-lang.org

31–38 of 38 posts

Re: Racket v9.2

#31
post #14

Earlier quoted context omitted.

I was just remembering https://htdp.org fondly yesterday. Working through that book was one of the most wonderful and transformative experiences I've had in programming. I owe so much of my problem solving skills today to that book.

How experienced were you at that time?

I was a few years into amateur self-teaching at that time. It helped me think through problems recursively, which was a lot of fun, but my biggest takeaway was learning to think of problems by representing the data with types, then stubbing out functions that dealt with the different types that I needed to solve the problem. Although it's done with an untyped language, it makes you think through the type signatures of all the functions you write. I discovered that whenever something didn't work, the problem was almost always that I misunderstood the data or the type. I also learned how to deal with problems with recursive algorithms through trees and nested data structures like s-expressions. That opened up a whole world of parsing and evaluating.

Re: Racket v9.2

#32
post #6

Earlier quoted context omitted.

Racket is used across CS programs that have adopted the How to Design Programs book [1] (some schools do not use the original book, just the textbook for source material). [1] https://en.wikipedia.org/wiki/How_to_Design_Programs

I was just remembering https://htdp.org fondly yesterday. Working through that book was one of the most wonderful and transformative experiences I've had in programming. I owe so much of my problem solving skills today to that book.

It's an incredible curriculum. I have a lot of fond memories myself. I frequently wonder nowadays if it isn't the right approach to force students to stop and think a bit more about "Computer Science" and not just "Programming" in an introductory context.

Re: Racket v9.2

#33
post #28

Earlier quoted context omitted.

Balanced ternary fp is not a reduced precision type of binary fp: https://arxiv.org/abs/2512.10964 >Unlike their binary counterparts, posits and takums, tekums simultaneously accommodate both ∞ and NaR, while retaining the simplicity of negation by flipping the underlying trit string. Perhaps most strikingly, tekums enable rounding by truncation, a property that eradicates at a stroke some notorious problems of round…

> Balanced ternary fp is not a reduced precision type of binary fp Yes I can read very well - can you? > ... by storing them in the corresponding uint

You do realise that you need to store arbitrary binary blobs which don't nicely align to memory words?

And that once you can store them you need to write custom functions that do bitwise manipulation on those arbitrary blocks of memory?

The stuff that's done in hardware for you on all binary fp?

Meanwhile in racket I got arbitrary balanced ternary manista and exponent precision in less time it took to write this post. Something that not available in C/Cpp even for binary fp?

Re: Racket v9.2

#34
post #33

Earlier quoted context omitted.

> Balanced ternary fp is not a reduced precision type of binary fp Yes I can read very well - can you? > ... by storing them in the corresponding uint

You do realise that you need to store arbitrary binary blobs which don't nicely align to memory words? And that once you can store them you need to write custom functions that do bitwise manipulation on those arbitrary blocks of memory? The stuff that's done in hardware for you on all binary fp? Meanwhile in racket I got arbitrary balanced ternary manista and exponent precision in less time it took to write this post…

> You do realise that you need to store arbitrary binary blobs which don't nicely align to memory words? And that once you can store them you need to write custom functions that do bitwise manipulation on those arbitrary blocks of memory?

Yes what part of my response to you gave you the impression that I did not?

> Meanwhile in racket I got arbitrary balanced ternary manista and exponent precision in less time it took to write this post.

Your claim was that it could not be done in cpp, not that it was faster/simpler/whatever-new-goalpost-you're-now-presenting in racket.

> less time it took to write this post

An interpreted language with a runtime and a GC is easier to use than a systems language? I think this novel discovery is worth a turing award indeed! I'll be sure to refer you for one. Maybe even an honorary doctorate at my alma mater.

Re: Racket v9.2

#35
post #33

Earlier quoted context omitted.

You do realise that you need to store arbitrary binary blobs which don't nicely align to memory words? And that once you can store them you need to write custom functions that do bitwise manipulation on those arbitrary blocks of memory? The stuff that's done in hardware for you on all binary fp? Meanwhile in racket I got arbitrary balanced ternary manista and exponent precision in less time it took to write this post…

> You do realise that you need to store arbitrary binary blobs which don't nicely align to memory words? And that once you can store them you need to write custom functions that do bitwise manipulation on those arbitrary blocks of memory? Yes what part of my response to you gave you the impression that I did not? > Meanwhile in racket I got arbitrary balanced ternary manista and exponent precision in less time it too…

> Your claim was that it could not be done in cpp, not that it was faster/simpler/whatever-new-goalpost-you're-now-presenting in racket.

You need to reread the reply they made. They asked how you would do it in cpp, not that it’s not possible.

> I think this novel discovery is worth a turing award indeed! I'll be sure to refer you for one. Maybe even an honorary doctorate at my alma mater.

You could have made your point sufficiently without being condescending.

Re: Racket v9.2

#36
post #33

Earlier quoted context omitted.

You do realise that you need to store arbitrary binary blobs which don't nicely align to memory words? And that once you can store them you need to write custom functions that do bitwise manipulation on those arbitrary blocks of memory? The stuff that's done in hardware for you on all binary fp? Meanwhile in racket I got arbitrary balanced ternary manista and exponent precision in less time it took to write this post…

> You do realise that you need to store arbitrary binary blobs which don't nicely align to memory words? And that once you can store them you need to write custom functions that do bitwise manipulation on those arbitrary blocks of memory? Yes what part of my response to you gave you the impression that I did not? > Meanwhile in racket I got arbitrary balanced ternary manista and exponent precision in less time it too…

Racket is not interpreted. It is compiled to machine code. You don't know what you're talking about.

Re: Racket v9.2

#37

Racket is cool, has nice features, simpler than Common Lisp and comes with an editor which is nice. I'm always somewhat jealous and want to use it. But it's really hard to give up the raw power of Common Lisp and ability to write low-level code. Even if the language and tooling is all more complicated.

I tend to move back and forth between Common Lisp and Racket - so many good things from both communities and tech.

Re: Racket v9.2

#38

Racket gets in your head like nothing else. Once you learn it, (Scheme does this too) you get x-ray vision to see every other language modulo syntax. I have been writing Elixir professionally for the bulk of my career. (It’s been pretty awesome!) Despite this, I consider Racket to be my native language because it’s so easy for me to think in Racket. It’s the perfect bridge between my brain and the problem domain.

Modulo is the wrong word.

No, it’s actually the right word. I’m saying you see past syntax and get to the underlying semantics of PLs after learning Racket. (And modulo is a perfectly acceptable word to express this.)
Post reply on HN