![]() The old implementation turns a single optional argument into two arguments: the optional value and a boolean to indicate whether the optional value is supplied. The new expansion uses `unsafe-undefined` in place of not-supplied arguments, in the general case. If the default-value expression is simple enough, however, it is copied to call sites that would otherwise supply `unsafe-undefined`. In the common case where the default value is `#f`, for example, no run-time test is needed in the core implementation function to check whether the default is supplied, because a `#f` will be filled in for callers. The performance improvement is tiny to non-existent for realistic programs, but the simpler and reduced generated code may help in the long run. |
||
---|---|---|
.. | ||
info.rkt | ||
LICENSE.txt |