Ignore:
Timestamp:
Aug 6, 2024, 11:16:38 PM (11 hours ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
master
Children:
5fdaeab1, 63d5b9c8
Parents:
8cb2ff6
Message:

second attempt proofread trait chapter

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/theses/jiada_liang_MMath/trait.tex

    r8cb2ff6 rd7cb0f7  
    120120Hence, the \CFA enumeration traits never connected with the specific @enum@ kind.
    121121Instead, anything that can look like the @enum@ kind is considered an enumeration (duck typing).
    122 However, Scala, Go, and Rust traits are nominative: a type explicitly declares a named traits to be of its type, while in \CFA, the type implements all functions declared in a trait to implicitly satisfy a polymorphic function/type needs.
     122However, Scala, Go, and Rust traits are nominative: a type explicitly declares a named traits to be of its type, while in \CFA, any type implementing all requirements declared in a trait implicitly satisfy its restrictions.
    123123
    124124One of the key differences between concepts and traits, which is leveraged heavily by \CFA, is the ability to apply new \CFA features to C legacy code.
Note: See TracChangeset for help on using the changeset viewer.