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

Re: Reviving SRFI-33

This page is part of the web mail archives of SRFI 47 from before July 7th, 2015. The new archives for SRFI 47 contain all messages, not just those from before July 7th, 2015.



 | X-Originating-IP: [18.7.7.79]
 | Old-Return-Path: <bear@xxxxxxxxx>
 | Date: Fri, 19 Dec 2003 11:02:27 -0800 (PST)
 | From: bear <bear@xxxxxxxxx>
 | Cc: srfi-editors@xxxxxxxxxxxxxxxxx, shivers@xxxxxxxxxxxxx,
 |    srfi-33@xxxxxxxxxxxxxxxxx, srfi-47@xxxxxxxxxxxxxxxxx
 | Resent-From: srfi-47@xxxxxxxxxxxxxxxxx
 | X-Mailing-List: <srfi-47@xxxxxxxxxxxxxxxxx> archive/latest/25
 | X-Loop: srfi-47@xxxxxxxxxxxxxxxxx
 | Resent-Sender: srfi-47-request@xxxxxxxxxxxxxxxxx
 | 
 | 
 | 
 | On Fri, 19 Dec 2003, Paulo Jorge de Oliveira Cantante de Matos wrote:
 | 
 | I think that numbers and strings of bits are sufficiently different
 | ideas, and that the differences between them are sufficiently important,
 | that I'd support the idea of bitstrings as a separate disjoint type,
 | with its own read syntax and everything.  So I'd go for something like
 | 
 | (bitwise-and \1001 \0110) => \1111
 | 
 | Alternatively, you could regard bitstrings as a kind of vector and
 | read/write them using vector syntax.  In that case you'd have
 | 
 | (bitwise-and #(1 0 0 1) #(0 1 1 0) )   => #(1 1 1 1)
 | 
 | which is how common lisp does it.  

Common-Lisp bit vectors read and write as #* followed by 0s and 1s.

(bit-and #*1001 #*0110)   => #*0000

 | But Common Lisp has typed-vector infrastructure we don't.

SRFI-47 provides typed-arrays, of which typed-vectors are the rank-1
case.

 | And suddenly, typed vectors bring us back to the current SRFI-47.
 | Should au1 be added to the set of vector types for SRFI-47, with
 | bitwise-operations and bitstring<->integer conversions defined on
 | bit arrays in a following SRFI?

SRFI-47 already supports bit-vectors with type AT1.  There is no
useful distinction between bits as 0 and 1 versus bits as #T and #F
because there is only one 2-element group.