Retiring unstable
posted by Vincent St-Amour
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
.
-
unstable/custom-write
-
Moved
make-constructor-style-printer
toracket/struct
. -
Left
prop:auto-custom-write
inunstable-lib
.
-
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
- Superseded by
math/flonum
. Left inunstable-flonum-lib
.
- Superseded 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
.
-
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
.
-
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
. * Movedlist-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
.
-
unstable/logging
-
Moved
with-intercepted-logging
andwith-logging-to-port
toracket/logging
. -
Left
start-recording
andstop-recording
inunstable-lib
.
-
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
.
-
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
.
-
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
.
-
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
.
-
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
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!
— Corporate Sheep, 27 November 2015