Retiring unstable
Some of you may be familiar with the unstable collection, whose
purpose was to serve as a staging ground for new APIs that hadn't yet
found a more permanent home. With the advent of the package system,
packages can serve that same purpose, which removes the need for a
dedicated unstable collection provided by the main distribution.
For this reason we are moving unstable-* packages out of the main
distribution.
For backwards compatibility, the packages remain available from the
package catalog. Packages that properly list their dependencies (as they
should! it's an error not to!) are unaffected by this change. Packages
that are missing dependencies may need to be adjusted to include the
appropriate unstable dependencies.
The unstable packages contained many useful functions and APIs, and we
merged many of them into established Racket libraries. Others were spun
off as their own packages. The remaining APIs, which we judged too
narrow or too immature, we left in unstable packages, where they are
still available in their original form. In all cases, the original
unstable libraries continue to export the same bindings they always
did, to ensure backwards compatibility.
For completeness, here is a list of the fate of each unstable library
that used to be part of the main distribution.
unstable/2d- Moved to the
2dpackage.
- Moved to the
unstable/arrow- Left in
unstable-lib.
- Left in
unstable/automata- Moved to the
automatapackage.
- Moved to the
unstable/bytes
- Left in
unstable-lib.
- Left in
unstable/class-iop- Moved to the
class-ioppackage.
- Moved to the
unstable/contract- Moved
non-empty-string?toracket/string. - Moved
port-number?andtcp-listen-port?toracket/tcp, the
latter renamed tolisten-port-number?. - Moved
if/c,failure-result/c,predicate/cand
rename-contracttoracket/contract. - Moved
treeoftoplot/utils. - Moved
sequence/ctoracket/sequence. - Left
path-piece?,maybe/c,truth/cinunstable-contract-lib.
- Moved
unstable/custom-write- Moved
make-constructor-style-printertoracket/struct. - Left
prop:auto-custom-writeinunstable-lib.
- Moved
unstable/debug- Left in
unstable-debug-lib.
- Left in
unstable/define- Left in
unstable-lib.
- Left in
unstable/error- Left in
unstable-lib.
- Left in
unstable/find- Left in
unstable-lib.
- Left in
unstable/flonum- Superceded by
math/flonum. Left inunstable-flonum-lib.
- Superceded by
unstable/function- Merged with
racket/function.
- Merged with
unstable/future- Merged with
racket/future.
- Merged with
unstable/gui/notify- Moved to
framework/notify, with naming changes.
- Moved to
unstable/gui/pict- Moved
color/c,light,dark,red,orange,yellow,green,
blue,purple,black,brown,gray,white,cyan, and
magentatopict/color. - Moved
show,hide,pict-if,pict-cond, andpict-caseto
pict/conditional. - Merged
scale-towithpict'sscale-to-fit. - Merged
ellipse/border,circle/border,rectangle/border,
rounded-rectangle/borderwithpict'sellipse,circle,
rectangle, androunded-rectangle, respectively. - Merged
pin-label-line,pin-arrow-label-line, and
pin-arrows-label-linewithpict'spin-line,pin-arrow-line,
andpin-arrows-line, respectively. - Moved
blur,shadow, andshadow-frametopict/shadow. - Moved
unstable/gui/pict/aligntoppict/align, in theppict
package. - Left
color,pict-match,pict-combine,with-pict-combine,
fill,strike,shade,blur-bitmap!,arch,
draw-pict-centered,backdrop,cross-out, and
make-plt-title-backgroundinunstable-lib.
- Moved
unstable/gui/ppict- Moved to the
ppictpackage.
- Moved to the
unstable/gui/prefs- Moved to
framework/preferences, with naming changes.
- Moved to
unstable/gui/redex- Left in
unstable-redex.
- Left in
unstable/gui/scribble- Left in
unstable-lib.
- Left in
unstable/gui/slideshow- Moved
with-size,with-scale,big,small,with-font,
with-style,bold,italic,subscript,superscript,caps,
andblank-linetoslideshow/text. - Moved
slide/staged,staged,stage,stage-name,at,
before,after,before/at,after/atto thestaged-slide
package. - Left
column,columns,column-size,two-columns,
mini-slide,tabular,reveal,revealing-slide, and
items-slideinunstable-lib.
- Moved
unstable/gui/snip- Left in
unstable-lib.
- Left in
unstable/hash- Merged with
racket/hash.
- Merged with
unstable/latent-contract- Left in
unstable-latent-contract-lib.
- Left in
unstable/lazy-requirelazy-requirehas been inracket/lazy-requirefor some time.- Left
begin-on-demandinunstable-lib.
unstable/list- Moved
check-duplicates,remf,remf*,group-by,
cartesian-product,list-update, andlist-settoracket/list. - Moved
list-prefix?,take-common-prefix,drop-common-prefix,
andsplit-common-prefixtoracket/list, with slight API changes
to harmonize with Racket's list API. - Left
filter-multiple,extend,map/values, andmap2in
unstable-list-lib.
- Moved
unstable/logging- Moved
with-intercepted-loggingandwith-logging-to-portto
racket/logging. - Left
start-recordingandstop-recordinginunstable-lib.
- Moved
unstable/macro-testing- Moved to
syntax/macro-testing.
- Moved to
unstable/markparam- Moved to the
markparampackage.
- Moved to the
unstable/open-place- Moved
open-placetoracket/place, and renamed itplace/context.
- Moved
unstable/options- Moved to the
option-contractpackage.
- Moved to the
unstable/parameter-group- Moved to the
parameter-grouppackage.
- Moved to the
unstable/pretty- Merged
pretty-format/write,pretty-format/display, and
pretty-format/printwithracket/pretty'spretty-format. - Left
break-linesinunstable-pretty-lib.
- Merged
unstable/recontract- Merged with
racket/contractsome time ago.
- Merged with
unstable/sandbox- Merged with
scribble/eval.
- Merged with
unstable/sequence- Moved
in-syntaxandin-slicetoracket/sequence. - Left
in-pairs,in-sequence-forever, andsequence-liftin
unstable-lib.
- Moved
unstable/socket- Moved to the
unix-socketpackage.
- Moved to the
unstable/string- Left in
unstable-lib.
- Left in
unstable/struct- Moved
struct->listtoracket/struct. - Left
makeinunstable-lib.
- Moved
unstable/syntax- Moved
make-variable-like-transformertosyntax/transformer. - Moved
syntax-source-directoryandsyntax-source-file-nameto
syntax/location. - Left
explode-module-path-index,phase-of-enclosing-module,
format-unique-id,syntax-length, andsyntax-within?in
unstable/syntax.
- Moved
unstable/temp-c- Moved to the
temp-cpackage.
- Moved to the
unstable/time- Left in
unstable-lib.
- Left in
unstable/wrapc- Moved to
syntax/contract.
- Moved to

2 comments:
"Superseded"
Sorry, pet peeve. :-)
Hi, it's my first day with Racket. Attempting to install the pict3d library is failing in a way that mentions not finding unstable/custom-write.
I'm guessing this probably relates to the reorganization mentioned above.
Any tips? Thanks!
Post a Comment