Hiding Your Implementation Details is Not So Simple
About me 2 Hiding your Implementation Details, Amir Kirsh @ CppCon, 2024 Lecturer Academic College of Tel-Aviv-Yaffo Tel-Aviv University Member of the Israeli ISO C++ NB Co-Organizer of the CoreCpp CoreCpp conference and meetup group Trainer and Advisor (C++, but not only)Hiding your Implementation DetailsHiding your Implementation Details Why?Protect Object Integrity Expose the necessary interfaces code. Easier to Debug Data modifications happens internally, in specific places. Encapsulation 5 Hiding your Implementation Details, Amir Kirsh @ CppCon, 2024Reduces Dependencies Components depend only0 码力 | 145 页 | 2.45 MB | 5 月前3Agda User Manual v2.6.3
universe levels Abstract definitions Definitions can be marked as abstract, for the purpose of hiding implementation details, or to speed up type-checking of other parts. In essence, abstract definitions following words are only reserved in import directives (in connection with import or open): public using hiding renaming to Names A qualified name is a non-empty sequence of names separated by dots (.). A name (or open import or module X (args : Args) = ...) statement with one or more of the modifiers using, hiding, or renaming. using is followed by a list of identifiers, separated by semicolons, and has the effect0 码力 | 379 页 | 354.83 KB | 1 年前3Agda User Manual v2.6.3
LANGUAGE REFERENCE 3.1 Abstract definitions Definitions can be marked as abstract, for the purpose of hiding implementation details, or to speed up type-checking of other parts. In essence, abstract definitions following words are only reserved in import directives (in connection with import or open): public using hiding renaming to Names A qualified name is a non-empty sequence of names separated by dots (.). A name (or open import or module X (args : Args) = ...) statement with one or more of the modifiers using, hiding, or renaming. • using is followed by a list of identifiers, separated by semicolons, and has the0 码力 | 288 页 | 1.24 MB | 1 年前3Agda User Manual v2.5.3
Language Reference Abstract definitions Definitions can be marked as abstract, for the purpose of hiding implementation details, or to speed up type-checking of other parts. In essence, abstract definitions = | -> → : ? \ ? .. ... abstract codata coinductive constructor data eta-equality field forall hiding import in inductive infix infixl infixr instance let macro module mutual no-eta-equality open overlap by qualifying an open statement with one or more of the modifiers using, hiding, or renaming. You can combine both using and hiding with renaming, but not with each other. The effect of open A using (xs)0 码力 | 135 页 | 600.40 KB | 1 年前3Agda User Manual v2.5.3
details Without K Abstract definitions Definitions can be marked as abstract, for the purpose of hiding implementation details, or to speed up type-checking of other parts. In essence, abstract definitions = | -> → : ? \ λ ∀ .. ... abstract codata coinductive constructor data eta- equality field forall hiding import in inductive infix infixl infixr instance let macro module mutual no-eta-equality open overlap by qualifying an open statement with one or more of the modifiers using, hiding, or renaming. You can combine both using and hiding with renaming, but not with each other. The effect of open A using (xs)0 码力 | 185 页 | 185.00 KB | 1 年前3Agda User Manual v2.6.4.1
LANGUAGE REFERENCE 3.1 Abstract definitions Definitions can be marked as abstract, for the purpose of hiding implementation details, or to speed up type-checking of other parts. In essence, abstract definitions characters. = | -> → : ? \ ? ∀ .. ... abstract coinductive constructor data do eta-equality field forall hiding import in inductive infix infixl infixr instance interleaved let macro module mutual no-eta-equality (or open import or module X (args : Args) = ...) statement with one or more of the modifiers using, hiding, or renaming. • using is followed by a list of identifiers, separated by semicolons, and has the0 码力 | 311 页 | 1.38 MB | 1 年前3Agda User Manual v2.6.4.3
LANGUAGE REFERENCE 3.1 Abstract definitions Definitions can be marked as abstract, for the purpose of hiding implementation details, or to speed up type-checking of other parts. In essence, abstract definitions characters. = | -> → : ? \ ? ∀ .. ... abstract coinductive constructor data do eta-equality field forall hiding import in inductive infix infixl infixr instance interleaved let macro module mutual no-eta-equality (or open import or module X (args : Args) = ...) statement with one or more of the modifiers using, hiding, or renaming. • using is followed by a list of identifiers, separated by semicolons, and has the0 码力 | 311 页 | 1.38 MB | 1 年前3Agda User Manual v2.6.4.2
LANGUAGE REFERENCE 3.1 Abstract definitions Definitions can be marked as abstract, for the purpose of hiding implementation details, or to speed up type-checking of other parts. In essence, abstract definitions characters. = | -> → : ? \ ? ∀ .. ... abstract coinductive constructor data do eta-equality field forall hiding import in inductive infix infixl infixr instance interleaved let macro module mutual no-eta-equality (or open import or module X (args : Args) = ...) statement with one or more of the modifiers using, hiding, or renaming. • using is followed by a list of identifiers, separated by semicolons, and has the0 码力 | 311 页 | 1.38 MB | 1 年前3Agda User Manual v2.6.4
LANGUAGE REFERENCE 3.1 Abstract definitions Definitions can be marked as abstract, for the purpose of hiding implementation details, or to speed up type-checking of other parts. In essence, abstract definitions characters. = | -> → : ? \ ? ∀ .. ... abstract coinductive constructor data do eta-equality field forall hiding import in inductive infix infixl infixr instance interleaved let macro module mutual no-eta-equality (or open import or module X (args : Args) = ...) statement with one or more of the modifiers using, hiding, or renaming. • using is followed by a list of identifiers, separated by semicolons, and has the0 码力 | 313 页 | 1.38 MB | 1 年前3Agda User Manual v2.5.4.2
details Without K Abstract definitions Definitions can be marked as abstract, for the purpose of hiding implementation details, or to speed up type-checking of other parts. In essence, abstract definitions | -> → : ? \ λ ∀ .. ... abstract codata coinductive constructor data do eta-equality field forall hiding import in inductive infix infixl infixr instance let macro module mutual no-eta-equality open overlap by qualifying an open statement with one or more of the modifiers using, hiding, or renaming. You can combine both using and hiding with renaming, but not with each other. The effect of open A using (xs)0 码力 | 216 页 | 207.61 KB | 1 年前3
共 887 条
- 1
- 2
- 3
- 4
- 5
- 6
- 89