I've just compiled a list of GC'ed or pointer-like types, because they're too 
easy to forget.Type| Also known as| GC'ed| Can be `nil`| Can form cycle  
---|---|---|---|---  
`seq`| Sequences| True| False (previously true)| (normally) False  
`string`| Strings| True| False (previously true)| False  
`cstring`| Compatible strings| False| True| False  
`ref`| (Traced) references| True| True| True  
`ptr`| Pointers| False| True| True  
`proc {.closure.}`| Closures| True| True| True  
`(proc) and not (proc {.closure.})`| Non-closure procedural types| False| True| 
False  
  
By simplifing the above, we get:

`\\`| Can be `nil`| Can not be `nil`  
---|---|---  
GC'ed| `ref`, closures| `string`, `seq`  
Not GC'ed| `ptr`, `cstring`, non-closure procedural types| Most of the other 
types

Reply via email to