Arc Forumnew | comments | leaders | submitlogin
3 points by gus_massa 2817 days ago | link | parent

Symbols are garbage-collected in Racket:

  Interned and unreadable symbols are only weakly held by
  the internal symbol table. This weakness can never 
  affect the result of an eq?, eqv?, or equal? test, but a 
  symbol may disappear when placed into a weak box (see 
  Weak Boxes) used as the key in a weak hash table (see 
  Hash Tables), or used as an ephemeron key (see Ephemerons).

1 point by rocketnia 2816 days ago | link


Kinda. It irks me that a value that's still arguably reachable (via 'read) could be observably lost by a weak box, weak hash table, or ephemeron. But it seems feasible to create readable-counts-as-reachable versions of these data structures on top of the built-in ones, so the built-in ones expose strictly better lower-level control.