Summary

problem with procedure type declarations

Metadata

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.

[2012-07-18 02:44:16 UTC] felix changed status from assigned to closed

[2012-07-18 02:44:16 UTC] felix set resolution to fixed