Opened 9 years ago

Closed 9 years ago

#883 closed defect (fixed)

problem with procedure type declarations

Reported by: megane Owned by: felix winkelmann
Priority: minor Milestone: 4.9.0
Component: unknown Version: 4.7.x
Keywords: types Cc:
Estimated difficulty:

Description

Here one would expect bar to be pure as well.
Probably the declaration for bar should throw and `invalid type syntax' error, for now.

(: foo (* --> *))
(define (foo a) (lambda (b) a))

(: bar (* --> (* -> *)))
(define (bar a) (lambda (b) a))
;; ; GENERATED BY CHICKEN 4.7.5 FROM foo.scm

;; (bar (#(procedure) bar (*) (procedure (*) *)))
;; (foo (#(procedure pure:) foo (*) *))
;; ; END OF FILE

Change History (2)

comment:1 Changed 9 years ago by felix winkelmann

Owner: set to felix winkelmann
Status: newassigned

This is probably a bug in the type-normalization (the code that handles this case is pretty bad). Stay tuned.

comment:2 Changed 9 years ago by felix winkelmann

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.