[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-janitors] #1445: Support parameterised hash table type decl
From: |
Chicken Trac |
Subject: |
Re: [Chicken-janitors] #1445: Support parameterised hash table type declarations |
Date: |
Thu, 22 Feb 2018 19:46:21 -0000 |
#1445: Support parameterised hash table type declarations
-------------------------------------+-------------------------------------
Reporter: evhan | Owner:
Type: enhancement | Status: new
Priority: not urgent | Milestone: someday
at all |
Component: scrutinizer | Version: 5.0
Resolution: | Keywords: scrutiniser, srfi-69
Estimated difficulty: medium |
-------------------------------------+-------------------------------------
Comment (by megane):
Here's another prototype.
These stay same:
- (struct foo #f) == (struct foo)
- (struct foo #f) matches with (struct foo any-list)
- If A and B are lists, then (struct foo A) and (struct foo B) only match
if (= (length A) (length B)) and all the elements of A and B match.
New things
- does not simplify (struct foo (* * ...))
- smashes (struct foo (A B ...)) into (struct foo (* * ...))
I think hash-table-set! cannot be #:clean. For example vector-set! is not.
So you cannot get key/value related type warnings from setters, unless
-strict-types is used.
--
Ticket URL: <https://bugs.call-cc.org/ticket/1445#comment:3>
CHICKEN Scheme <https://www.call-cc.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.