Custom Query (1630 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (43 - 45 of 1630)

Ticket Owner Reporter Resolution Summary
#511 felix winkelmann sjamaan worksforme Syntax-rules expansion uses unprefixed identifiers which can be captured by module imports
Description

It appears that "declare" statements in macro expanded code don't work properly anymore: http://tests.call-cc.org/2011/02/19/salmonella-report/snowtar.html

#516 felix winkelmann Moritz Heidkamp fixed letrec fails when used in re-assigning top-level bindings
Description

The following program works as expected when interpreted, i.e. it prints "hey". However, when compiled it prints #<unbound value> or, when compiled as a shared object, it signals unbound variable: foo#bar. The comments in the program point out two ways of making it work when compiled. It seems that the optimizer removes the original binding of bar when letrec is used for its redefinition. Putting some top-level code between definition and re-definition prevents that as well as replacing letrec with let*. Note that the module form can be left out to reproduce the problem, too.

(module foo

(bar)
(import chicken scheme)

(define bar 'hey)

;; uncommenting the next line makes it work when compiled
;; (print 'some-top-level-expression)

(set! bar
      ;; changing the letrec to a let* also makes it work when compiled
      (letrec ((baz bar)
               (qux (lambda () baz)))
        qux))

(print (bar))

)

#519 felix winkelmann Moritz Heidkamp fixed out of memory panic -- possible leak?
Description

As noted by taylanub on #scheme, the program at http://www.larcenists.org/Twobit/src/trav2.scm makes Chicken run out of memory with the message "[panic] out of memory - cannot allocate heap segment - execution terminated" while for example Guile executes it fine. I could reproduce this both when compiled and interpreted with Chicken 4.6.5.

Note: See TracQuery for help on using queries.