Custom Query (1630 matches)
Results (10 - 12 of 1630)
Ticket | Resolution | Summary | Owner | Reporter |
---|---|---|---|---|
#1806 | wontfix | Finding missing dependencies | ||
Description |
So I forgot to add a dependency (brev-separate) and csc didn't find it, which is fair enough, it's on me. But Teiresias pointed out that if I had jammed it into a module, csc would've found it: Part of the magic of csc flagging errors for you lies in modules. The following would also have caught the missing dep when compiled by csc: ;; © 2022 Idiomdrottning, BSD 1-Clause License (module main () (import fmt fmt-c tree) (fmt #t (c-expr (tree-map (fn (case x ((fun) '%fun) ((var) '%var) ((pointer) '%pointer) ((array) '%array) ((cast) '%cast) (else x))) (read)))) ) So probably best to (module) everything as a matter of course. (As in, he only added the (module main () …) wrapper and that made csc able to find the missing deps.) Sure. Only problem with that is that I don't wanna. Can't CSC apply the same magic even when there's no explicit module? Implicit is better than explicit. |
|||
#1804 | invalid | compare doesn't compare if name is already bound | ||
Description |
(define-syntax frob-bad (ir-macro-transformer (lambda (exp inject compare) (let ((body (cdr exp))) `',(let desc ((friends '()) (body body)) (cond ((null? body) friends) ((pair? body) (append (desc friends (car body)) (desc friends (cdr body)))) ((any (cut compare body <>) '(x y z rest args)) (cons (strip-syntax body) friends)) (else '()))))))) (equal? ((lambda (x) (frob-bad (reverse x))) 'foo) ; unexpected behavior. Since x is bound in the scope. ((lambda (p) (frob-bad (reverse x))) 'foo) ; expected behavior. Since x is not bound in the scope. ) (define-syntax frob-good (ir-macro-transformer (lambda (exp inject compare) (let ((body (cdr exp))) `',(let desc ((friends '()) (body body)) (cond ((null? body) friends) ((pair? body) (append (desc friends (car body)) (desc friends (cdr body)))) ((memq (strip-syntax body) '(x y z rest args)) (cons (strip-syntax body) friends)) (else '()))))))) (equal? ((lambda (x) (frob-good (reverse x))) 'foo) ; working workaround by eq? after strip-syntax instead of compare ((lambda (p) (frob-good (reverse x))) 'foo)) |
|||
#1802 | fixed | chicken-install doesn't update outdated cached eggs | ||
Description |
chicken-install doesn't update an egg in case an outdated version of it is cached. Example to illustrate the problem: $ chicken-install -purge srfi-13 $ chicken-install srfi-13:0.3.1 $ chicken-status srfi-13 srfi-13 ..................................................... version: 0.3.1 $ chicken-install srfi-13 $ chicken-status srfi-13 srfi-13 ..................................................... version: 0.3.1 The expected output (according to Felix) of the second execution of chicken-status should show 0.3.2, which is the latest version of srfi-13 at the time of writing of this ticket. |