You are looking at historical revision 34903 of this page. It may differ significantly from its current revision.
Module (chicken platform)
This module provides procedures for obtaining information about the platform on which the program is currently running.
Build information
These procedures return information about options that can be specified at build time.
build-platform
[procedure] (build-platform)Returns a symbol specifying the toolset which has been used for building the executing system, which is one of the following:
cygwin mingw32 gnu intel clang sun unknown
chicken-home
[procedure] (chicken-home)Returns a string which represents the installation directory (usually /usr/local/share/chicken on UNIX-like systems).
chicken-version
[procedure] (chicken-version [FULL])Returns a string containing the version number of the CHICKEN runtime system. If the optional argument FULL is given and true, then a full version string is returned.
repository-path
[parameter] repository-pathContains a string naming the paths to the extension repository, which defaults to either the value of the environment variable CHICKEN_REPOSITORY_PATH or the default library path (usually /usr/local/lib/chicken on UNIX systems). If multiple directories are given, then they should be separated by : (or ; on Windows.)
installation-repository
[parameter] installation-repositoryContains the name of the directory where extensions are installed (as opposed to the possible locations where they can be loaded or linked at runtime.)
Machine information
These procedures return information about the type of CPU/architecture the program is running on.
machine-byte-order
[procedure] (machine-byte-order)Returns the symbol little-endian or big-endian, depending on the machine's byte-order.
machine-type
[procedure] (machine-type)Returns a symbol specifying the processor on which this process is currently running, which is one of the following:
arm alpha mips hppa ultrasparc sparc ppc ppc64 ia64 x86 x86-64 unknown
Software information
These procedures return information about the type of operating system the program is running on.
software-type
[procedure] (software-type)Returns a symbol specifying the operating system on which this process is currently running, which is one of the following:
android windows unix ecos unknown
software-version
[procedure] (software-version)Returns a symbol specifying the operating system version on which this process is currently running, which is one of the following:
linux freebsd netbsd openbsd macosx hpux dragonfly haiku solaris sunos aix hurd unknown
Feature identifiers
CHICKEN maintains a global list of features naming functionality available in the current system. Additionally the cond-expand form accesses this feature list to infer what features are provided. Predefined features are chicken, and the SRFIs (Scheme Request For Implementation) provided by the base system: srfi-23, srfi-30, srfi-39. If the eval unit is used (the default), the features srfi-0, srfi-2, srfi-6, srfi-8, srfi-9 and srfi-10 are defined. When compiling code (during compile-time) the feature compiling is registered. When evaluating code in the interpreter (csi), the feature csi is registered.
features
[procedure] (features)Returns a list of all registered features that will be accepted as valid feature-identifiers by cond-expand.
feature?
[procedure] (feature? ID ...)Returns #t if all features with the given feature-identifiers ID ... are registered.
register-feature!
[procedure] (register-feature! FEATURE ...)Register one or more features that will be accepted as valid feature-identifiers by cond-expand. FEATURE ... may be a keyword, string or symbol.
unregister-feature!
[procedure] (unregister-feature! FEATURE ...)Unregisters the specified feature-identifiers. FEATURE ... may be a keyword, string or symbol.
Returning to the host program
return-to-host
[procedure] (return-to-host)Exits the Scheme code and returns to the invoking context that called CHICKEN_run or CHICKEN_continue.
After return-to-host has been executed and once CHICKEN_run returns, you can invoke callbacks which have been defined with define-external.
Previous: Module (chicken pathname)
Next: Module (chicken plist)