chicken-janitors
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-janitors] Re: #113: Crunch egg: bug in define-crunch-primitives


From: Chicken Trac
Subject: [Chicken-janitors] Re: #113: Crunch egg: bug in define-crunch-primitives / define-crunch-callback
Date: Tue, 16 Feb 2010 09:01:19 -0000

#113: Crunch egg: bug in define-crunch-primitives / define-crunch-callback
------------------------+---------------------------------------------------
 Reporter:  jeronimo    |       Owner:       
     Type:  defect      |      Status:  new  
 Priority:  minor       |   Milestone:       
Component:  extensions  |     Version:  4.2.x
 Keywords:  crunch      |  
------------------------+---------------------------------------------------

Comment(by jeronimo):

 Oops... Forgot.

 The example is:

 {{{
 (use crunch)

 (crunch
   (define (string-reverse str)
     (let* ((n (string-length str))
            (s2 (make-string n #\space)))
       (do ((i 0 (add1 i)))
           ((>= i n))
         (string-set! s2 (sub1 (- n i)) (string-ref str i)))
       s2)) )

 (print (string-reverse "this is a test!"))
 }}}

 And the output of csc -compiler "chicken -:d" -c++ crunch-example.scm is:

 {{{
 [debug] application startup...
 [debug] heap resized to 500000 bytes
 [debug] stack bottom is 0x7fffffffb690.
 [debug] entering toplevel toplevel...
 [debug] [debug] stack resized to 262144 bytes
 [debug] entering toplevel library_toplevel...
 [debug] entering toplevel eval_toplevel...
 [debug] entering toplevel expand_toplevel...
 [debug] entering toplevel chicken_syntax_toplevel...
 [debug] entering toplevel srfi_1_toplevel...
 [debug] entering toplevel srfi_4_toplevel...
 [debug] entering toplevel utils_toplevel...
 [debug] entering toplevel extras_toplevel...
 [debug] entering toplevel data_structures_toplevel...
 [debug] entering toplevel ports_toplevel...
 [debug] entering toplevel srfi_13_toplevel...
 [debug] entering toplevel srfi_14_toplevel...
 [debug] entering toplevel posix_toplevel...
 [debug] resizing heap dynamically from 500k to 1026k ...
 [debug] entering toplevel scheduler_toplevel...
 [debug] entering toplevel regex_toplevel...
 [debug] entering toplevel files_toplevel...
 [debug] entering toplevel support_toplevel...
 [debug] entering toplevel compiler_toplevel...
 [debug] entering toplevel optimizer_toplevel...
 [debug] entering toplevel unboxing_toplevel...
 [debug] entering toplevel compiler_syntax_toplevel...
 [debug] entering toplevel scrutinizer_toplevel...
 [debug] entering toplevel driver_toplevel...
 [debug] entering toplevel platform_toplevel...
 [debug] entering toplevel backend_toplevel...
 [debug] entering toplevel srfi_69_toplevel...
 [debug] resizing heap dynamically from 1026k to 2053k ...
 ; loading /usr/local/lib/chicken/5/crunch.import.so ...
 [debug] loading compiled module
 `/usr/local/lib/chicken/5/crunch.import.so' (handle is 0x848990)
 [debug] entering toplevel toplevel...
 ; loading /usr/local/lib/chicken/5/scheme.import.so ...
 [debug] loading compiled module
 `/usr/local/lib/chicken/5/scheme.import.so' (handle is 0x8492e0)
 [debug] entering toplevel toplevel...
 ; loading /usr/local/lib/chicken/5/chicken.import.so ...
 [debug] loading compiled module
 `/usr/local/lib/chicken/5/chicken.import.so' (handle is 0x849980)
 [debug] entering toplevel toplevel...
 ; loading /usr/local/lib/chicken/5/foreign.import.so ...
 [debug] loading compiled module
 `/usr/local/lib/chicken/5/foreign.import.so' (handle is 0x84a020)
 [debug] entering toplevel toplevel...
 ; loading /usr/local/lib/chicken/5/crunch-compiler.so ...
 [debug] loading compiled module `/usr/local/lib/chicken/5/crunch-
 compiler.so' (handle is 0x84a6c0)
 [debug] entering toplevel toplevel...
 [debug] resizing heap dynamically from 2053k to 4170k ...
 ; loading /usr/local/lib/chicken/5/defstruct.so ...
 [debug] loading compiled module `/usr/local/lib/chicken/5/defstruct.so'
 (handle is 0x84ec70)
 [debug] entering toplevel toplevel...
 ; loading /usr/local/lib/chicken/5/matchable.so ...
 [debug] loading compiled module `/usr/local/lib/chicken/5/matchable.so'
 (handle is 0x84f280)
 [debug] entering toplevel toplevel...
 ; loading /usr/local/lib/chicken/5/crunch-expander.so ...
 [debug] loading compiled module `/usr/local/lib/chicken/5/crunch-
 expander.so' (handle is 0x84f8a0)
 [debug] entering toplevel toplevel...

 Error: during expansion of (crunch ...) - [crunch] (in string-reverse)
 call to loop variable not in tail position: doloop

   context:

         (define string-reverse ...)
         (let () ...)
         (let ((n (string-length str))) ...)
         (let ((s2 (make-string n #\space))) ...)
         (let ((i 0)) ...)
         (if (>= i n) ...)
         (doloop (add1 i))


         Call history:

         <syntax>                (##core#begin (crunch (define (string-
 reverse str) (let* ((n (string-length str)) (s2 (make-string n...
         <syntax>                (crunch (define (string-reverse str) (let*
 ((n (string-length str)) (s2 (make-string n #\space))) (do...        <--

 Error: shell command terminated with non-zero exit status 17920: chicken
 -:d crunch-example.scm -output-file crunch-example.cpp
 }}}

-- 
Ticket URL: <http://www.irp.oist.jp/trac/chicken/ticket/113#comment:17>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]