
@alama It seems like <http://racketweekend.com\|racketweekend.com>
is timing out

@mflatt is there a timeout in raco pkg install? I think there probably should be -- currently
raco pkg install racket-weekend` hangs while visiting the relevant url in firefox gives me a connection error immediately.

There’s not a raco pkg
-specific timeout, just your OS’s timeout (if there is one? I think so). But raco pkg
also retries, and the default retry count is 5.

For me, raco pkg install racket-weekend
errors after a few seconds with “Connection refused”.

laptop$ env PLTSTDERR="info@pkg" raco pkg install racket-weekend
Resolving "racket-weekend" via <https://pkgs.racket-lang.org>
Downloading <https://racketweekend.com/racket-weekend.zip>
pkg: Network error; retrying after 0.1s
pkg: Network error; retrying after 0.2s
pkg: Network error; retrying after 0.4s
pkg: Network error; retrying after 0.8s
pkg: Network error; retrying after 1.6s
tcp-connect: connection failed
hostname: <http://racketweekend.com\|racketweekend.com>
port number: 443
system error: Connection refused; errno=61

I guess I’m seeing very different timeout behavior from the OS then; after a minute I have not gotten any log messages.

Overall, the command takes about 13 minutes to error for me.

Could it be the ipv6 fallback issue?

Are there any detailed writeups explaining the new syntax portals feature in 8.4? I’ve read the reference docs, but I don’t really understand how they work or why they would be useful.

There’s nothing written, yet, and it’s an obscure feature for now. The use case is a combination of (1) hierarchical naming, such as base.car
referring to car
among a set of imports accessed via base
and a .
operator, plus (2) reflection on syntax, such as Scribble’s linking of identifiers in typeset code to documentation for a referenced binding.

For example, on the page https://plt.cs.northwestern.edu/pkg-build/doc/rhombus@rhombus-prototype/expr-macro.html, expr.rule
is linked to its documentation.

In the source of that document, expr
is imported, and it provides access to rule
. While macro bindings can provide that kind of indirect access, a macro lives at compile time. Portal syntax allows the path from expr
to rule
to exist without instantiating a phase.