Custom Query (1631 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (16 - 18 of 1631)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Ticket Resolution Summary Owner Reporter
#1797 fixed checked inline procedures should not call intern felix winkelmann sjamaan
Description

As found by Felix, inline safe procedures like C_i_char_equalp call C_i_check_char_2 which requires a call to intern0 to provide error reporting, sometimes more than once, even when there's no error.

This is highly inefficient and should be done differently. A quick fix would be to pass C_SCHEME_FALSE (or use the non-_2 version like C_i_check_char) but perhaps it's better to have C versions of the checking predicates that can call intern0 on a C string in case of error.

#1794 duplicate (r7rs) syntax-rules doesn't allow combining ellipsis and dotted tail sjamaan
Description

According to the R7RS spec, the following should match:

(define-syntax match-ellipsis-and-dotted-tail1
  (syntax-rules ()
    ((_ a ... . b)
     '(a ... b))))

(print (match-ellipsis-and-dotted-tail1 x y . z))

And this, too:

(define-syntax match-ellipsis-and-dotted-tail2
  (syntax-rules ()
    ((_ (a) ... . (b))
     '(a ... b))))

(print (match-ellipsis-and-dotted-tail2 (x) (y) z))

Both should print (x y z).

Might be nice to support this in the core syntax-rules, or if it's too tricky, we could just support it only in the R7RS egg.

#1793 worksforme r7rs incompatibility regarding identifier renames in macro expansion sjamaan
Description

See this post:

(let ([x 'outer])
   (define-syntax m
     (syntax-rules ()
       ((m a)
        (let ([a 'inner]) x))))
   (m x)) ;; Should return 'outer, which we do
(let ([x 'outer])
   (define-syntax m
     (syntax-rules ()
       ((m a)
        (begin
          (define a 'inner)
          x))))
   (m x)) ;; Should return 'inner, which we don't

It makes sense, because the outer x variable is passed in as a, which is then redefined to inner, and whether we return a or x should not matter, the result should be the same.

Not sure why this wouldn't be valid in R5RS though...

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Note: See TracQuery for help on using queries.