Retiring unstable
The Racket Blog 2015-12-22
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
2d
package.
- Moved to the
-
unstable/arrow
- Left in
unstable-lib
.
- Left in
-
unstable/automata
- Moved to the
automata
package.
- Moved to the
-
unstable/bytes
- Left in
unstable-lib
.
- Left in
-
unstable/class-iop
- Moved to the
class-iop
package.
- 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/c
andrename-contract
toracket/contract
. - Moved
treeof
toplot/utils
. - Moved
sequence/c
toracket/sequence
. - Left
path-piece?
,maybe/c
,truth/c
inunstable-contract-lib
.
- Moved
-
unstable/custom-write
- Moved
make-constructor-style-printer
toracket/struct
. - Left
prop:auto-custom-write
inunstable-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
, andmagenta
topict/color
. - Moved
show
,hide
,pict-if
,pict-cond
, andpict-case
topict/conditional
. - Merged
scale-to
withpict
'sscale-to-fit
. - Merged
ellipse/border
,circle/border
,rectangle/border
,rounded-rectangle/border
withpict
'sellipse
,circle
,rectangle
, androunded-rectangle
, respectively. - Merged
pin-label-line
,pin-arrow-label-line
, andpin-arrows-label-line
withpict
'spin-line
,pin-arrow-line
, andpin-arrows-line
, respectively. - Moved
blur
,shadow
, andshadow-frame
topict/shadow
. - Moved
unstable/gui/pict/align
toppict/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
, andmake-plt-title-background
inunstable-lib
.
- Moved
-
unstable/gui/ppict
- Moved to the
ppict
package.
- 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-line
toslideshow/text
. - Moved
slide/staged
,staged
,stage
,stage-name
,at
,before
,after
,before/at
,after/at
to thestaged-slide
package. - Left
column
,columns
,column-size
,two-columns
,mini-slide
,tabular
,reveal
,revealing-slide
, anditems-slide
inunstable-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-require
-
lazy-require
has been inracket/lazy-require
for some time. - Left
begin-on-demand
inunstable-lib
.
-
-
unstable/list
- Moved
check-duplicates
,remf
,remf*
,group-by
,cartesian-product
,list-update
, andlist-set
toracket/list
. - Moved
list-prefix?
,take-common-prefix
,drop-common-prefix
, andsplit-common-prefix
toracket/list
, with slight API changes to harmonize with Racket's list API. - Left
filter-multiple
,extend
,map/values
, andmap2
inunstable-list-lib
.
- Moved
-
unstable/logging
- Moved
with-intercepted-logging
andwith-logging-to-port
toracket/logging
. - Left
start-recording
andstop-recording
inunstable-lib
.
- Moved
-
unstable/macro-testing
- Moved to
syntax/macro-testing
.
- Moved to
-
unstable/markparam
- Moved to the
markparam
package.
- Moved to the
-
unstable/open-place
- Moved
open-place
toracket/place
, and renamed itplace/context
.
- Moved
-
unstable/options
- Moved to the
option-contract
package.
- Moved to the
-
unstable/parameter-group
- Moved to the
parameter-group
package.
- Moved to the
-
unstable/pretty
- Merged
pretty-format/write
,pretty-format/display
, andpretty-format/print
withracket/pretty
'spretty-format
. - Left
break-lines
inunstable-pretty-lib
.
- Merged
-
unstable/recontract
- Merged with
racket/contract
some time ago.
- Merged with
-
unstable/sandbox
- Merged with
scribble/eval
.
- Merged with
-
unstable/sequence
- Moved
in-syntax
andin-slice
toracket/sequence
. - Left
in-pairs
,in-sequence-forever
, andsequence-lift
inunstable-lib
.
- Moved
-
unstable/socket
- Moved to the
unix-socket
package.
- Moved to the
-
unstable/string
- Left in
unstable-lib
.
- Left in
-
unstable/struct
- Moved
struct->list
toracket/struct
. - Left
make
inunstable-lib
.
- Moved
-
unstable/syntax
- Moved
make-variable-like-transformer
tosyntax/transformer
. - Moved
syntax-source-directory
andsyntax-source-file-name
tosyntax/location
. - Left
explode-module-path-index
,phase-of-enclosing-module
,format-unique-id
,syntax-length
, andsyntax-within?
inunstable/syntax
.
- Moved
-
unstable/temp-c
- Moved to the
temp-c
package.
- Moved to the
-
unstable/time
- Left in
unstable-lib
.
- Left in
-
unstable/wrapc
- Moved to
syntax/contract
.
- Moved to