When it comes to collections and data structures, what would you all like 
to see in Racket2? New APIs? Changes to existing APIs? Whole new paradigms? 
Something else?

I've got my own wishlist and maybe someday I'll implement a few things on 
it as packages, but I'm curious what everyone else thinks. For some 
examples, here's a few things on my list:

- Distinct data types for pairs and lists, and more intuitive names for the 
pair APIs (so `pair?` and `list?` would be mutually exclusive predicates 
and you'd make and access pairs with `(pair 1 2)`, `(pair-first p)`, and 
`(pair-second p)`.

- A separation between using lists as homogeneous collections and using 
lists as fixed-size tuples. So there'd be a separate `tuple?` data type 
that's structurally equivalent to a list but meant to be used differently. 
For example, `(list/c number?)` would mean a list of many numbers, but 
`(tuple/c number?)` would mean a tuple of size 1 containing a number.

- Something better and simpler than structs. Throw out mutable fields, 
subtyping, struct type properties, etc. Just the basics: a tuple-like type 
with named fields and a constructor that can enforce invariants on all 
instances.

- Lots more stuff.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to