chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-hackers] type declarations for define-record not working


From: Peter Bex
Subject: Re: [Chicken-hackers] type declarations for define-record not working
Date: Mon, 20 Aug 2018 21:51:15 +0200
User-agent: NeoMutt/20170113 (1.7.2)

On Mon, Aug 20, 2018 at 08:26:56PM +0200, Jörg F. Wittenberger wrote:
> Hi all,
> 
> attached foo.scm. try (for C4 and C5):
> 
>  csc -s foo.scm
> 
> C4 should do, C5 complains for me:
> 
> Warning: at toplevel:
>  assignment of value of type `(procedure foo#make-foo (*) (struct foo#foo))'
> to toplevel variable `foo#make-foo' does not match declared type `(procedure
> foo#make-foo (string) (struct foo))'

Totally right.  I've filed https://bugs.call-cc.org/ticket/1513 for this.

In the meantime, as a workaround you can simply change the code to

>  (: make-foo (string --> (struct foo#foo)))
>  (define-record foo bar)

Or of course with a cond-expand so it still works for CHICKEN 4.
We'll ensure this is fixed in CHICKEN 5.0.0 rc2.

Cheers,
Peter

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]