[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-janitors] #1613: MAke keywords and symbols distinct types
From: |
Chicken Trac |
Subject: |
[Chicken-janitors] #1613: MAke keywords and symbols distinct types |
Date: |
Mon, 06 May 2019 20:05:39 -0000 |
#1613: MAke keywords and symbols distinct types
--------------------------------------+--------------------------------
Reporter: sjamaan | Owner: sjamaan
Type: change request | Status: new
Priority: major | Milestone: 5.1
Component: compiler | Version: 5.0.0
Keywords: keywords, symbols, types | Estimated difficulty: medium
--------------------------------------+--------------------------------
The attached patch makes keywords and symbols a distinct type. This avoids
some problems with treating keywords as identifiers which used to be sort-
of allowed, but now is causing trouble because there's no plist on
keywords.
Some of the defining forms reject keywords now, but there may be some we
missed, and by making them completely distinct we fix these problems for
good. For the vast majority of the code out there this is an unimportant
change. Code which relies on `symbol?` returning `#t` for keywords will
run into trouble (but is usually easy to fix by adding another `cond`
clause for `keyword?`, which will happily be backwards compatible to older
CHICKENs). There may be other obscure uses of keywords that will fail, but
I can't really think of many.
--
Ticket URL: <https://bugs.call-cc.org/ticket/1613>
CHICKEN Scheme <https://www.call-cc.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.
- [Chicken-janitors] #1613: MAke keywords and symbols distinct types,
Chicken Trac <=