You can migrate packages instead of reinstalling, raco pkg migrate
<https://gist.github.com/Metaxal/13c4effc483c5ef9f5797ace4950f97a|This script> can automate this in most cases
But it’s only for migrating packages. For the racket distribution itself you’ll have to reinstall
@cdimara has joined the channel
Also, on Windows raco pkg migrate
is integrated in the DrRacket Package Manager
Probably on Mac and Linux too?
Yes of course. For me Windows is a second class shell experience.
I haven’t been using Windows for very long time, but I thought WSL and/or Powershell is supposed to fix that?
IME WSL is like being in a VM. I think Powershell is probably better.
Is there any situation in which
(module ex racket
(define x x))
does not result in a runtime error when you try to require it?
I’m trying to understand why this isn’t flagged as invalid syntactically. Is it just because leaving it till runtime simplifies Racket’s implementation or can this code somehow be required without raising an exception?
In theory, once you have expanded macros, it should be possible to find these errors without running the program. The LHS side of a define needs to syntactically be inside of #%plain-lambda
or a case-lambda
for the program to ever produce a non-error value.
It may be related to optimizations performed for single expression modules, which are spliced into the requiring context, or something like that. There was an answer by mflatt about this not so long ago