Skip to content

Commit

Permalink
Add a comment on our definition of shared ownership.
Browse files Browse the repository at this point in the history
  • Loading branch information
jacob-hughes committed Oct 21, 2024
1 parent 79e3e27 commit 25a1cbc
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions rustgc_paper.ltx
Original file line number Diff line number Diff line change
Expand Up @@ -182,11 +182,11 @@ intellectually stimulating, but of no practical value.

However, there are many programs which need to express data structures
which do not fit into the restrictions of affine types and
ownerships. These are often described as `cyclic data-structures', though
ownership. These are often described as `cyclic data-structures', though
that sometimes gives the incorrect impression that only data structures
such as linked lists are of interest. In reality, programs as diverse as
interpreters for dynamically typed languages have need to use such types,
so we prefer the slightly more abstract term `shared ownership'.
so we prefer the slightly more abstract term `shared ownership'.\jake{I think the bit about equating shared ownership with cyclic data structures is not correct here. Shared ownership can include DAGs, and those do not require juggling strong and weak counts as described below. I think cycles should be described as a specific instance of shared ownership which is even harder to represent in Rust.}

Probably the most common workaround is the reference counting type \lstinline{Rc<T>} in Rust's
standard library. For many data-structures, reference counting is a reasonable
Expand Down

0 comments on commit 25a1cbc

Please sign in to comment.