~ chicken-core (chicken-5) e0d88f70d2eab01abc5b0062a3060efd03493e97
commit e0d88f70d2eab01abc5b0062a3060efd03493e97 Author: felix <felix@call-with-current-continuation.org> AuthorDate: Sun May 15 22:53:56 2011 +0200 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Sun May 15 22:53:56 2011 +0200 added note to manual about compile-time expressions in define-constant forms diff --git a/manual/Non-standard macros and special forms b/manual/Non-standard macros and special forms index 7a04183d..9f134b03 100644 --- a/manual/Non-standard macros and special forms +++ b/manual/Non-standard macros and special forms @@ -258,18 +258,18 @@ variables. <macro>(define-constant NAME CONST)</macro> -Define a variable with a constant value, evaluated at compile-time. -Any reference to such a -constant should appear textually '''after''' its definition. This -construct is equivalent to {{define}} when evaluated or interpreted. -Constant definitions should only appear at toplevel. Note that constants -are local to the current compilation unit and are not available outside -of the source file in which they are defined. Names of constants still -exist in the Scheme namespace and can be lexically shadowed. If the -value is mutable, then the compiler is careful to preserve its identity. -{{CONST}} may be any constant expression, and may also refer to -constants defined via {{define-constant}} previously. -This form should only be used at top-level. +Define a variable with a constant value, evaluated at compile-time. +Any reference to such a constant should appear textually '''after''' +its definition. This construct is equivalent to {{define}} when +evaluated or interpreted. Constant definitions should only appear at +toplevel. Note that constants are local to the current compilation +unit and are not available outside of the source file in which they +are defined. Names of constants still exist in the Scheme namespace +and can be lexically shadowed. If the value is mutable, then the +compiler is careful to preserve its identity. {{CONST}} may be any +constant expression, and may also refer to constants defined via +{{define-constant}} previouslym, but it must be possible to +evaulate the expression at compile-time. ==== define-inlineTrap