
@marc.elie77 has joined the channel

@greg If I simply run the 7.1 installer, will it install on top of 7.0 or off to the side?

On macOS they install side by side. Well, it’s not so much an “installer” as a .dmg unpacker that makes a new Applications directory with a name like “Racket <version>”. I forget how it works on Windows, it’s been some years. Hopefully someone else using Windows now can chime in and say.

If you’re on Windows, then the default path suggested by the installer doesn’t have a version. You can add a version (or change the path in whatever way you like) to have multiple versions installed. If you don’t change the path, the installer isn’t be willing to overwrite a previous version, because that doesn’t work; instead, first run “uninstall.exe” in the existing installation.

It would make sense to add boxes to the set of allowed place messages. I didn’t add it before because immutable boxes seem useless; then again, I imagine that the serializer uses a box as just a way to tag a value (to distinguish it in some way), since I’ve used that trick a few times. I can make the change to places sometime soon.

what’s DrRacket’s logo today? it’s cool

@shu—hung it’s a pumpkin carved with a lambda

ohhh!! delicious! (I though it was melted iron steel, oops)

Happy Halloweeeeen!

Happy Halloween :jack_o_lantern:

@mflatt Is the documentation for bound-identifier=?
correct? As written, I think it’s wrong, or else I don’t understand it. It says: > Returns #t
if the identifier a-id
would bind b-id
(or vice versa) if the identifiers were substituted in a suitable expression context at the phase level indicated by phase-level
, #f
otherwise. However, it’s easy to construct situations in which one identifier would bind another but the identifiers are not bound-identifier=?
. Should the documentation say “*and* vice versa”, instead? That seems like the correct description of bound-identifier=?
’s behavior to me.

Yes, the documentation needs to be fixed.

Was this documentation right in the past, on a previous iteration of the macro system, or has it always been wrong?

It must have always been wrong.

I thought before sets of scopes, the rule was two identifiers were bound-identifier=?
if they were free-identifier=?
and if their sets of marks were the same. (So, symmetric.)

It might be good to add an asymmetric would-capture?
predicate that predicts binding structure in the new system.

PPA for Racket is building: https://launchpad.net/~plt/+archive/ubuntu/racket/+builds?build_state=building

When I visit a documentation page that contains a table of contents (e.g., https://docs.racket-lang.org/drracket/index.html), is there any way to have the whole shebang displayed on one page, so that I can print it without having to visit every subpage?

@paul There are PDF versions of the documentation for all the packages in the main distribution available here: http://download.racket-lang.org/releases/7.1/pdf-doc/

Ooh, nice. Thanks for linking me to it. Some systems have no pdf versions of their online documentation. Very good!

what’s prop:blame
for exactly? like, what effect does it have on contract error messages?

the docs describe how value-blame
can extract the blame object from something with the property attached but they don’t say anything about why you’d use value-blame
, or whether or not the contract system calls value-blame
implicitly anywhere

@michaelmmacleod has joined the channel