Type theoryIn mathematics, logic, and computer science, a type theory is the formal presentation of a specific type system, and in general, type theory is the academic study of type systems. Some type theories serve as alternatives to set theory as a foundation of mathematics. Two influential type theories that were proposed as foundations are Alonzo Church's typed λ-calculus and Per Martin-Löf's intuitionistic type theory. Most computerized proof-writing systems use a type theory for their foundation, a common one is Thierry Coquand's Calculus of Inductive Constructions.
Type safetyIn computer science, type safety and type soundness are the extent to which a programming language discourages or prevents type errors. Type safety is sometimes alternatively considered to be a property of facilities of a computer language; that is, some facilities are type-safe and their usage will not result in type errors, while other facilities in the same language may be type-unsafe and a program using them may encounter type errors.
Supramolecular assemblyIn chemistry, a supramolecular assembly is a complex of molecules held together by noncovalent bonds. While a supramolecular assembly can be simply composed of two molecules (e.g., a DNA double helix or an inclusion compound), or a defined number of stoichiometrically interacting molecules within a quaternary complex, it is more often used to denote larger complexes composed of indefinite numbers of molecules that form sphere-, rod-, or sheet-like species.
Anionic addition polymerizationIn polymer chemistry, anionic addition polymerization is a form of chain-growth polymerization or addition polymerization that involves the polymerization of monomers initiated with anions. The type of reaction has many manifestations, but traditionally vinyl monomers are used. Often anionic polymerization involves living polymerizations, which allows control of structure and composition. As early as 1936, Karl Ziegler proposed that anionic polymerization of styrene and butadiene by consecutive addition of monomer to an alkyl lithium initiator occurred without chain transfer or termination.
Type inferenceType inference refers to the automatic detection of the type of an expression in a formal language. These include programming languages and mathematical type systems, but also natural languages in some branches of computer science and linguistics. Types in a most general view can be associated to a designated use suggesting and restricting the activities possible for an object of that type. Many nouns in language specify such uses. For instance, the word leash indicates a different use than the word line.
Data typeIn computer science and computer programming, a data type (or simply type) is a collection or grouping of data values, usually specified by a set of possible values, a set of allowed operations on these values, and/or a representation of these values as machine types. A data type specification in a program constrains the possible values that an expression, such as a variable or a function call, might take. On literal data, it tells the compiler or interpreter how the programmer intends to use the data.
Dependent typeIn computer science and logic, a dependent type is a type whose definition depends on a value. It is an overlapping feature of type theory and type systems. In intuitionistic type theory, dependent types are used to encode logic's quantifiers like "for all" and "there exists". In functional programming languages like Agda, ATS, Coq, F*, Epigram, and Idris, dependent types help reduce bugs by enabling the programmer to assign types that further restrain the set of possible implementations.
Type conversionIn computer science, type conversion, type casting, type coercion, and type juggling are different ways of changing an expression from one data type to another. An example would be the conversion of an integer value into a floating point value or its textual representation as a string, and vice versa. Type conversions can take advantage of certain features of type hierarchies or data representations.
End groupEnd groups are an important aspect of polymer synthesis and characterization. In polymer chemistry, they are functional groups that are at the very ends of a macromolecule or oligomer (IUPAC). In polymer synthesis, like condensation polymerization and free-radical types of polymerization, end-groups are commonly used and can be analyzed by nuclear magnetic resonance (NMR) to determine the average length of the polymer. Other methods for characterization of polymers where end-groups are used are mass spectrometry and vibrational spectrometry, like infrared and raman spectroscopy.
Organic solar cellAn organic solar cell (OSC) or plastic solar cell is a type of photovoltaic that uses organic electronics, a branch of electronics that deals with conductive organic polymers or small organic molecules, for light absorption and charge transport to produce electricity from sunlight by the photovoltaic effect. Most organic photovoltaic cells are polymer solar cells. The molecules used in organic solar cells are solution-processable at high throughput and are cheap, resulting in low production costs to fabricate a large volume.