#lang scribble/doc @(require (file "base.ss")) @title{@bold{Unlib:} Helpful Utilities from Untyped} Dave Gurnell, Noel Welsh, David Brooks and Matt Jadud @tt{{dave, noel, djb, matt} at @link["http://www.untyped.com"]{@tt{untyped}}} @italic{Unlib} is a collection of general utilities for programming applications in PLT Scheme. At Untyped we mostly write web software, so expect to find useful utilities for that kind of thing. Unlib contains a few more modules than listed here. There are several experimental libraries that we developed in the past that have been superseded or partially retired. Expect anything not documented here to change or disappear in the future. @bold{Please see the section on @secref["version-4"] for information on forthcoming backwards-incompatible changes.} @section[#:tag "version-4"]{Changes in Unlib 4.x} Unlib 3.x contains some legacy code that will be removed in Unlib 4.x. In most cases an upgrade path already exists that will prevent future problems: @itemize{ @item{support for the @scheme[mzscheme] language will be dropped;} @item{the @filepath{enum.ss} module has been replaced with @scheme{enumeration.ss} and will be removed;} @item{the @filepath{hash-table.ss} module has been replaced with @filepath{hash.ss} and will be removed;} @item{the @filepath{cache-mzscheme.ss} module has been replaced with @filepath{cache.ss} and will be removed;} @item{the @filepath{string-mzscheme.ss} module has been replaced with @filepath{string.ss} and will be removed;} @item{the @filepath{time-mzscheme.ss} module has been replaced with @filepath{time.ss} and will be removed;} @item{the @filepath{enum.ss} module has been replaced with @filepath{enumeration.ss} and will be removed;} @item{@scheme[define-debug] has been replaced with @scheme[define/debug] and will be removed;} @item{@scheme[define-values-debug] has been replaced with @scheme[define-values/debug] and will be removed;} @item{@scheme[let-debug] has been replaced with @scheme[let/debug] and will be removed;} @item{@scheme[let*-debug] has been replaced with @scheme[let*/debug] and will be removed;} @item{@scheme[letrec-debug] has been replaced with @scheme[letrec/debug] and will be removed;} @item{@scheme[let-values-debug] has been replaced with @scheme[let-values/debug] and will be removed;} @item{@scheme[let*-values-debug] has been replaced with @scheme[let*-values/debug] and will be removed;} @item{@scheme[letrec-values-debug] has been replaced with @scheme[letrec-values/debug] and will be removed;} @item{@scheme[define-library-aliases]: the @scheme[(foo-in [a b c])] and @scheme[(foo-out [a b c])] forms bound by this macro have been replaced with @scheme[(foo-in a b c)] and @scheme[(foo-out a b c)]: the old forms will be removed.}} @include-section{bytes.scrbl} @include-section{cache.scrbl} @include-section{contract.scrbl} @include-section{crc.scrbl} @include-section{debug.scrbl} @include-section{enum.scrbl} @include-section{enumeration.scrbl} @include-section{exn.scrbl} @include-section{file.scrbl} @include-section{for.scrbl} @include-section{generator.scrbl} @include-section{gen.scrbl} @include-section{hash.scrbl} @include-section{hash-table.scrbl} @include-section{keyword.scrbl} @include-section{log.scrbl} @include-section{list.scrbl} @include-section{match.scrbl} @include-section{number.scrbl} @include-section{parameter.scrbl} @include-section{pipeline.scrbl} @include-section{profile.scrbl} @include-section{require.scrbl} @include-section{scribble.scrbl} @include-section{string.scrbl} @include-section{symbol.scrbl} @include-section{syntax.scrbl} @include-section{time.scrbl} @include-section{url.scrbl} @include-section{yield.scrbl}