Recent submissions

Comment · 12 days ago
This is not my project, but I just had to share.

It is a tradition here to make woven paper christmas hearts. It's a fun activity for children and adults alike. This web site show both classical hearts - but also allows you to design your own.

Comment · 2 months ago
There is a reason for that.

Consider appending two strings in Scheme:

    (string-append s1 s2)
Appending two strings in Scheme:

    (vector-append v1 v2)
Since the type is present in the function name, it would be redundant to include it in the variable name.
Comment · 2 months ago
You need to use the Racket documentation.
Comment · 2 months ago
Comment · 2 months ago

    > `(1 ,@2)
    '(1 . 2)
This is a pair. The notations is called "dotted pair".
Comment · 2 months ago
I am not 100% sure what's going on, but you can use `read` mode this way:

    #lang racket
    (let ((a (read (open-input-string "#0=(0 . #0#)"))))
      (display (car a)))
I think the problem is that `read` / `write` support shared data constructed using `shared`. But programs (read by `read-syntax` are not allow to have cycles.
Comment · 2 months ago
That has been in Racket for a long time.
Comment · 2 months ago
Comment · 2 months ago
Comment · 2 months ago
Comment · 2 months ago
Comment · 2 months ago
Comment · 2 months ago
> DrRacket seems to have doing the thing where they implement of a bunch of GUI stuff from scratch ...

The GUIs actually use the underlying native GUIs thanks to the dynamic FFI. The goal is to have a cross platform GUI. Your program runs on macOS, Linux and Windows without any problems.

But if there is some gui feature, that is only available on one platform, you won't find it in the builtin gui libraries. However, you can always add platform specific functionality yourself.

Comment · 2 months ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton