That sounds crazy, man. How about #:keywords instead? If not, then I think you're better off just going with identifiers.
Robby On Fri, Nov 23, 2012 at 3:39 PM, Neil Toronto <neil.toro...@gmail.com> wrote: > On 11/23/2012 01:47 PM, Neil Toronto wrote: >> >> On 11/22/2012 11:33 AM, Eli Barzilay wrote: >>> >>> Two days ago, Neil Toronto wrote: >>>> >>>> Anyway, it occurred to me that I need to provide a more robust way >>>> to generate code for literal arrays anyway. Keywords are more easily >>>> preserved by macros than syntax properties: >>> >>> >>> Why not use vector syntax #(...) instead of [...]? >> >> >> That is a fantastic idea. Thanks! >> >> (The problem I was having with head identifiers like `array-row' was >> that they got in the way when I was reading the array. Vector syntax >> solves that neatly.) > > > I've thought about it more and come up with a weird case: > > (array #((list 1 2))) > > Should this array contain '(1 2) or '(list 1 2)? > > I'm not keen on the idea of the `array' macro only being useful for quoted > datums, especially since it's not a reader macro. But if the above array > contained '(1 2), that would be inconsistent with #((list 1 2)), which > contains '(list 1 2): > > > (vector-ref #((list 1 2)) 0) > '(list 1 2) > > I've considered having `array' implicitly quote its contents, so > > (array ((list 1 2))) > > contains '(list 1 2), but > > (array (,(list 1 2))) > > contains '(1 2). > > That might actually work the way I want it to. Do you see any problems with > it? > > > Neil ⊥ > > _________________________ > Racket Developers list: > http://lists.racket-lang.org/dev _________________________ Racket Developers list: http://lists.racket-lang.org/dev