The types for racket/gui are substantially complete, but
there are still some missing classes and methods.
Some interesting future work would be to ensure type coverage
by comparing the class members vs. the types in the environment.
That could be run as a test to ensure it stays up to date.
Most types for the framework library are still missing.
This expands the `Name` type functionality to go
beyond struct names and allows arbitrary recursive
type aliases to use the environment for indirection.
In addition, such aliases can be mutually recursive.
Note that even the movement of operations like `unsafe-fl+` is
constrained, since the operation can allocate. For example, a
continuation captured in
(let ([a (unsafe-fl+ x y)])
(call-with-composable-continuation ....)
a)
should return an `eq?` result. The compiler must not only refrain from
moving the `unsafe-fl+` call, it must not mark `a` as a flonum
binding, because that would cause the JIT to delay allocation of `a`
until the return site.
Perserve and adjust timestamps in a way that helps make re-packing an
installed-from-built package produce an archive with the same checksum
as the original.
The description does not mention the function ever returning #f
and if you look at the implementation in the C code, it always
returns the result of `scheme_make_integer`.
Also add an example for the entry.
I'm running into stuck processes via `subprocess`, where the stuck
process is in malloc() for environment variables. I'm not really sure
of the problem, but moving that work before the fork() could
avoid problems related to pages or signal handlers.
Instead of requiring a trip through a page that lists mirrors, show a
direct link to the main-site download.
Also, make alternate distributions like "Racket Minimal" more
accessible.
Use soft links to represent redirections on the web site, where
all redirections needed now are within a site (specifically, the
download site).
Adjust various pages that are essentially for backward
compatibility.
Using site-relative paths that are absolute within the site
avoids problems with files that are moved or used from multiple
contexts, such as "page-not-found.html".