Summary
problem with procedure type declarations
Metadata
- Id: 73e38f7f953efae74e22c87788d2c28572f1b32b
- Trac id: 883
- Type: defect
- Reporter: megane
- Owner: felix
- Cc:
- Status: closed
- Component: unknown
- Estimated difficulty:
- Resolution: fixed
- Priority: minor
- Milestone: 4.9.0
- Version: 4.7.x
- Changetime: 2012-07-18 02:44:16 UTC
- Created: 2012-07-06 13:59:19 UTC
- Keywords: types
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
Changes and comments
[2012-07-10 00:47:05 UTC] felix changed status from new to assigned
[2012-07-10 00:47:05 UTC] felix set owner to felix
[2012-07-10 00:47:05 UTC] felix wrote:
This is probably a bug in the type-normalization (the code that handles this case is pretty bad). Stay tuned.