programming-language-concepts
    • s:meta
      • s:title
        • Programming Language Concepts
      • s:description
        • s:publication_date
          • s:license
            • standard
          • related_to
            • url
              • site_instance_purl
                • /2020/01/06/discovery-based-networks-of-perspectives-and-changes
            • p:private
              • d:toDo
                • type theories: https://en.wikipedia.org/wiki/Type_theory type safety dynamic type checking static type checking inferred versus manifest nominal versus structural dependent typing linear types intersection type union type existential types duck typing gradual typing flow-sensitive typing latent typing substructural typing uniqueness typing strong and weak typing primitive types reference types option types versus nullable types'nullable types maybe allows some composite types versus abstract data types algebraic data types subtype derived type object types e.g. type variable partial types recursive type function types e.g. binary functions universially quantified types e.g. modules refinement types = types that describe or constrain the structure of object-oriented systems Pre-defined types ownership types
          • paradigm
            • declerative
              • constraint
                • functional
                  • logic
                    • dataflow
                      • ontology
                      • imperative
                        • object-oriented
                          • procedural
                        • design-pattern
                        • function
                          • currying
                          • type-system
                            • type
                              • algebraic-data-type
                                • product-type
                                  • sum-type
                                  • refinement-type
                                    • class
                                      • dependent-type
                                        • record
                                        • interface
                                          • type-class
                                            • See Haskell.
                                          • trait
                                            • polymorphism
                                              • subtyping
                                                • covariance
                                                  • contravariance
                                              • inheritance
                                                • interface-inheritance
                                                  • mplementation-inheritance
                                                    • open-recursion
                                                      • dynamic dispatch of methods on this
                                                    • closed-recursion
                                                      • static dispatch and early binding of this
                                                    • fragile-base-class-problem
                                                  • term
                                                    • term
                                                      • Programming Language Theory