I think you should do 2': Change racket/match to recognize patterns with #'flvector heads -- ie, use the binding for flvector from `racket/flonum` to determine if something matches.
The use of symbolic names in match, rather than bindings, is a leftover rather than something we should keep adding to. Sam On Thu, Apr 17, 2014 at 6:48 PM, Neil Toronto <neil.toro...@gmail.com> wrote: > It would be really handy for me right now to be able to match on flvectors, > and I think it's useful enough for minimal Racket. I've already tried this > option: > > 1. Export flvector as a match expander from racket/flonum > > but racket/match depends on racket/flonum somehow. So I looked through the > match code and determined that this one would be pretty easy: > > 2. Change racket/match to recognize patterns with 'flvector head > > (The code is very clean; kudos to whoever last rewrote it. :D) > > I think #2 would at worst hijack someone's custom flvector match expander, > but probably do the same thing or better (e.g. also handle ellipses). But in > case it's worse than I think, I can always go with this: > > 3. Export flvector as a match expander from math/flonum > > Question for the match and syntax gurus: would doing #2 be safe enough, or > should I do #3? Or have I got it backwards; i.e. is #2 actually safer than > #3? > > Neil ⊥ > _________________________ > Racket Developers list: > http://lists.racket-lang.org/dev _________________________ Racket Developers list: http://lists.racket-lang.org/dev