Custom Query (1630 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (40 - 42 of 1630)

Ticket Resolution Summary Owner Reporter
#1758 fixed Rest-argument optimization related internal compiler error Idiomdrottning
Description

mdg extension is in brev egg and also depends on match-generics egg

(import mdg (chicken base))

(define (pairup lis) lis)

(define (pairup (a b . rest))

(cons (list a b) (pairup rest)))

(print (pairup '(a b c d e f g h)))

;; on -O2, prints ((a b) (c d) (e f) (g h)) ;; on -O3, Error: [internal compiler error] Unknown rest op node class in while converting to closure. This shouldn't happen!: ##core#rest-null?

#1757 fixed Reexport behaving inconsistently Idiomdrottning
Description

OK, so

(module (c) (frobnicate) (import scheme (chicken syntax)) (define-syntax frobnicate

(syntax-rules ()

((frobnicate throwaway lis)

(reverse lis)))))

(module (a) () (import c

(rename scheme (reverse reverse-og)) (rename (chicken base) (identity reverse)) (chicken module))

(reexport c))

(import a scheme (chicken base)) (print (frobnicate 'a '(b c d e)))

prints out

(e d c b)

if it's all in the same file.

But if c separately is made into an egg and compiled, and then a separately is made into an egg and compiled, and the at the REPL you eval the last two lines, it prints out

(b c d e)

#1756 fixed module system segfaulting at O3 Idiomdrottning
Description
(module main ()
  (import
   scheme
   (only chicken.base print)
   (only matchable match-lambda*))

  (define mdplus
    (match-lambda*
     (( (? list? x) (? list? y)) (append x y))
     (( (? string? x) (? string? y)) (string-append x y))
     (( (? number? x) (? number? y)) (+ x y))))

  (mdplus 1 2)
  (mdplus 3 4))

So for me this segfaults when compiled at -O3.

Any two mdplus calls in the actual text. You can wrap it in dotimes ten gazillion and that's fine, that doesn't crash. It only crashes when there are actually two mdplus calls in the actual text.

To cause the crash, the two calls can have the same arguments or they can have different arguments, that doesn't seem to make a difference.

It doesn't crash when mdplus is imported, it only crashes when it's defined directly in the module.

It also doesn't crash when there isn't a module, i.e. removing the first line and the last paren from the above file also removes the crash.

Importing full matchable as opposed to just only match-lambda* does not remove the crash.

It does not crash in the interpreter, only when compiled O3.

Expanding and reexpanding and rereexpanding the match-lambda* stuff we end up with some macros that aren't exported from matchable, such as match-next. Idk but that's what leads me to suspect that there is a module system issue.

Note: See TracQuery for help on using queries.