deviations-from-the-standard.html

来自「Scheme跨平台编译器」· HTML 代码 · 共 10 行

HTML
10
字号
<html><head><title>CHICKEN User's Manual - Deviations from the standard</title></head><body><a name="deviations-from-the-standard"></a><h1>Deviations from the standard</h1><p>Identifiers are by default case-sensitive (see <a href="http://galinha.ucpel.tche.br:8080/Using%20the%20compiler#Compiler%20command%20line%20format" class="external">Compiler command line format</a>).</p><p>[4.1.3] The maximal number of arguments that may be passed to a compiled procedure or macro is 120.  A macro-definition that has a single rest-parameter can have any number of arguments.  </p><p>[4.2.2] <tt>letrec</tt> does evaluate the initial values for the bound variables sequentially and not in parallel, that is:</p><pre> (letrec ((x 1) (y 2)) (cons x y))</pre><p>is equivalent to</p><pre> (let ((x (void)) (y (void)))   (set! x 1)   (set! y 2)   (cons x y) )</pre><p>where R5RS requires</p><pre> (let ((x (void)) (y (void)))   (let ((tmp1 1) (tmp2 2))     (set! x tmp1)     (set! y tmp2)     (cons x y) ) )</pre><p>[4.3] <tt>syntax-rules</tt> macros are not provided but available separately.</p><p>[6.1] <tt>equal?</tt> compares all structured data recursively, while R5RS specifies that <tt>eqv?</tt> is used for data other than pairs, strings and vectors.</p><p>[6.2.4] The runtime system uses the numerical string-conversion routines of the underlying C library and so does only understand standard (C-library) syntax for floating-point constants.</p><p>[6.2.5] There is no built-in support for rationals, complex numbers or extended-precision integers (bignums). The routines <tt>complex?</tt>, <tt>real?</tt> and <tt>rational?</tt> are identical to the standard procedure <tt>number?</tt>. The procedures <tt>numerator</tt>, <tt>denominator</tt>, <tt>rationalize</tt>, <tt>make-rectangular</tt> and <tt>make-polar</tt> are not implemented. Fixnums are limited to 卤2<sup>30</sup> (or 卤2<sup>62</sup> on 64-bit hardware).  Support for extended numbers is available as a separate package, provided the GNU multiprecision library is installed.</p><p>[6.2.6] The procedure <tt>string-&gt;number</tt> does not obey read/write invariance on inexact numbers.</p><p>[6.4] The maximum number of values that can be passed to continuations captured using <tt>call-with-current-continuation</tt> is 120.</p><p>[6.5] Code evaluated in <tt>scheme-report-environment</tt> or <tt>null-environment</tt> still sees non-standard syntax.</p><p>[6.6.2] The procedure <tt>char-ready?</tt> always returns <tt>#t</tt> for terminal ports.  The procedure <tt>read</tt> does not obey read/write invariance on inexact numbers.</p><p>[6.6.3] The procedures <tt>write</tt> and <tt>display</tt> do not obey read/write invariance to inexact numbers.</p><p>[6.6.4] The <tt>transcript-on</tt> and <tt>transcript-off</tt> procedures are not implemented.</p><p>Previous: <a href="supported-language.html" class="internal">Supported language</a></p><p>Next: <a href="extensions-to-the-standard.html" class="internal">Extensions to the standard</a></p></body></html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?