[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
signature.asc
Description: PGP signature