• Web
polyfills implement newer
web standards using older standards and
JavaScript, if the newer standard is not available in a given
web browser. • Support of
AppleTalk on
Macintosh computers, during the brief period in which
Apple Computer supported the
Open Transport networking system. Thousands of Mac programs were based on the AppleTalk protocol; to support these programs, AppleTalk was re-implemented as an OpenTransport "stack", and then re-implemented as an API shim on top of this new library. • The
Microsoft Windows Application Compatibility Toolkit (ACT) uses the term to mean
backward compatible libraries. Shims simulate the behavior of older versions of Windows for legacy applications that rely on incorrect or deprecated functionality, or correct the way in which poorly written applications call unchanged APIs, for example to fix
least-privileged user account (LUA) bugs. • bind.so is a shim library for
Linux that allows any application, regardless of permissions, to bind to a listening socket or specify outgoing IP address. It uses the
LD_PRELOAD mechanism, which allows shims and other libraries to be loaded into any program. • In the
type tunnel pattern, a generic interface layer uses a family of shims to translate a heterogeneous set of types to a single primitive type used by an underlying API. == See also ==