Custom Query (1630 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (52 - 54 of 1630)

Ticket Resolution Summary Owner Reporter
#853 worksforme coops: redefining things breaks methods felix winkelmann megane
Description

Tested with Version 4.7.5 (rev 5fe91ae)

;;; This works as supposed:

(require-extension coops)
(define-class <a>)
 (define-method (foo (i <a>))
   (print "foo v1"))

(define obj (make <a>))
(foo obj)

(define-class <a>)
 (define-method (foo (i <a>))
   (print "foo v2"))

(foo obj)

;; Output:
;; foo v1
;; foo v1 <- this is OK

;; Now, same with modules:

(module a
 *
 (import chicken scheme)
 (use coops)
 (define-class <a>)
 (define-method (foo (i <a>))
   (print "foo v1"))
 )

(import a)

(define obj (make <a>))
(foo obj)

(module a
 *
 (import chicken scheme)
 (use coops)
 (define-class <a>)
 (define-method (foo (i <a>))
   (print "foo v2"))
 )

(import a) ;; <- commenting this doesn't matter
;; Also, using different name altogether for the second module doesn't matter

(foo obj)

;; Output:
;; foo v1
;; Error: (foo) no method defined for given argument classes: (#<coops standard-class `<a>'>)
#859 worksforme strip import specifiers felix winkelmann
Description

When import forms are the result of macro-expansion, the import specifications may contain renamed identifiers. Since module forms are not stripped anymore, this may be problematic.

#863 worksforme transparent handling of executable file-suffix for "make" extension felix winkelmann
Description

The make extension needs to handle the executable file suffix transparently - otherwise writing code that works on both UNIX and Windows becomes awkward.

Note: See TracQuery for help on using queries.