Closed
Description
Are there any other terms that should be added to the glossary? Please make suggestions.
- filemap (What are "filemaps"? #35)soundness (Add soundness and completeness to glossary #54)completeness (Add soundness and completeness to glossary #54)skolemization (rework and vastly expand the MIR section #67)LTO, ThinLTO, FatLTO (Add some codegen related terminology to glossary #56)Fat pointer (Add definitions of fat, double, and wide pointers #112)HIR map (Add HIR MAP to glossary #63)CTFE (compile-time function evaluation)... This just needs a link to the const eval/miri sections (add a bunch of type-related terms to glossary (and few others) #152)rib (see name resolution chapter) (add a bunch of type-related terms to glossary (and few others) #152)upvar (I believe an "upvar" is just a variable captured by a closure) (add a bunch of type-related terms to glossary (and few others) #152)early-bound lifetime (Add various terms to the glossary #281)interned (Add various terms to the glossary #281)late-bound lifetime (Add various terms to the glossary #281)lang item (Add various terms to the glossary #281)memoized (Add various terms to the glossary #281)string interning (Add various terms to the glossary #281)drop glue (Add various terms to the glossary #281)late-bound regions/lifetimes (Add various terms to the glossary #281)
gensymlanding padskolemization leak
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
phansch commentedon Feb 10, 2018
One thing I have been wondering is if 'soundness' means something special in the compiler context or if it is just a different word for correctness. There are lot's of issues mentioning 'soundness bugs' and 'soundness fixes'. So maybe it makes sense to add this too or explain it somewhere?
mark-i-m commentedon Feb 10, 2018
Yes, soundness is a technical term in programming languages literature. You will usually read about proving "soundness" and "completeness".
Roughly, IIRC, soundness means that if a program type-checks, it is type-safe; i.e. I can never (in safe rust) force a value into a variable if the wrong type. Completeness means that every type-safe program also type-checks. Having both is very hard, and usually soundness is more important.
samWson commentedon Apr 6, 2018
I've found a good definition of Fat Pointers in the Programming Rust book. I can enter that in the glossary this weekend if it's OK with you team.
steveklabnik commentedon Apr 6, 2018
We've been using "double pointer" or "wide pointer" as well; might be worth considering as "double pointer" at least is significantly more descriptive, IMO.
hanna-kruppe commentedon Apr 6, 2018
FWIW "double pointer" can also be read as "pointer-to-pointer" (and I've definitely seen it used in that sense in other languages). Besides, double becomes inaccurate with custom DSTs (which can add more data than just one word to the pointer). One precise and universal phrase is "pointer with metadata" but that's probably a bit too verbose.
samWson commentedon Apr 6, 2018
"Pointer with metadata" is what I've found the definition of a fat pointer to be. A two word value with an address and some extra information needed to put the value to use.
mark-i-m commentedon Apr 6, 2018
I think we could add all of these terms to the glossary.
samWson commentedon Apr 7, 2018
Is this a case with of several phrases with the same meaning? Or are these the names of different things?
mark-i-m commentedon Apr 7, 2018
I believe "fat pointer", "wide pointer", and "double pointer" are all intended to be synonyms.
20 remaining items
alexreg commentedon Feb 14, 2019
@varkor @oli-obk Thanks. I'm not very good at searching. There are too many "references" rather than "definitions", which makes grepping harder than it should be.
alexreg commentedon Mar 7, 2019
@mark-i-m Can we add "gensym" to the list please? That's a weird term that I'm still not entirely sure what it means.
mark-i-m commentedon Dec 6, 2019
Added "landing pad" to the list
tshepang commentedon May 10, 2020
@alexreg did you refer to the (now removed) compiler flag ?
alexreg commentedon May 10, 2020
@tshepang I think you meant to tag @mark-i-m?
tshepang commentedon May 10, 2020
indeed I did
tshepang commentedon May 10, 2020
@alexreg what about gensym... it did itself get removed.
alexreg commentedon May 10, 2020
@tshepang Yep, good point. We can remove that from the list now.
mark-i-m commentedon May 10, 2020
I think the concept of landing pads still exists... not 100% sure, but I think they are code emitted for unwinding.
mark-i-m commentedon May 19, 2020
Closing this in favor of #707