Type systemIn computer programming, a type system is a logical system comprising a set of rules that assigns a property called a type (for example, integer, floating point, string) to every "term" (a word, phrase, or other set of symbols). Usually the terms are various constructs of a computer program, such as variables, expressions, functions, or modules. A type system dictates the operations that can be performed on a term. For variables, the type system determines the allowed values of that term.
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.
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.
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.
Functional groupIn organic chemistry, a functional group is a substituent or moiety in a molecule that causes the molecule's characteristic chemical reactions. The same functional group will undergo the same or similar chemical reactions regardless of the rest of the molecule's composition. This enables systematic prediction of chemical reactions and behavior of chemical compounds and the design of chemical synthesis. The reactivity of a functional group can be modified by other functional groups nearby.
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.
Cyclic compoundA cyclic compound (or ring compound) is a term for a compound in the field of chemistry in which one or more series of atoms in the compound is connected to form a ring. Rings may vary in size from three to many atoms, and include examples where all the atoms are carbon (i.e., are carbocycles), none of the atoms are carbon (inorganic cyclic compounds), or where both carbon and non-carbon atoms are present (heterocyclic compounds with rings containing both carbon and non-carbon).
Protecting groupA protecting group or protective group is introduced into a molecule by chemical modification of a functional group to obtain chemoselectivity in a subsequent chemical reaction. It plays an important role in multistep organic synthesis. In many preparations of delicate organic compounds, some specific parts of their molecules cannot survive the required reagents or chemical environments. Then, these parts, or groups, must be protected. For example, lithium aluminium hydride is a highly reactive but useful reagent capable of reducing esters to alcohols.
Intuitionistic type theoryIntuitionistic type theory (also known as constructive type theory, or Martin-Löf type theory) is a type theory and an alternative foundation of mathematics. Intuitionistic type theory was created by Per Martin-Löf, a Swedish mathematician and philosopher, who first published it in 1972. There are multiple versions of the type theory: Martin-Löf proposed both intensional and extensional variants of the theory and early impredicative versions, shown to be inconsistent by Girard's paradox, gave way to predicative versions.
PeptidePeptides are short chains of amino acids linked by peptide bonds. A polypeptide is a longer, continuous, unbranched peptide chain. Polypeptides which have a molecular mass of 10,000 Da or more are called proteins. Chains of fewer than twenty amino acids are called oligopeptides, and include dipeptides, tripeptides, and tetrapeptides. Peptides fall under the broad chemical classes of biological polymers and oligomers, alongside nucleic acids, oligosaccharides, polysaccharides, and others.
MacrocycleMacrocycles are often described as molecules and ions containing a ring of twelve or more atoms. Classical examples include the crown ethers, calixarenes, porphyrins, and cyclodextrins. Macrocycles describe a large, mature area of chemistry. The formation of macrocycles by ring-closure is called macrocylization. Pioneering work was reported for studies on terpenoid macrocycles. The central challenge to macrocyclization is that ring-closing reactions do not favor the formation of large rings.
Synthetic rubberA synthetic rubber is an artificial elastomer. They are polymers synthesized from petroleum byproducts. About 32 million metric tons of rubbers are produced annually in the United States, and of that amount two thirds are synthetic. Synthetic rubber, just like natural rubber, has many uses in the automotive industry for tires, door and window profiles, seals such as O-rings and gaskets, hoses, belts, matting, and flooring. They offer a different range of physical and chemical properties which can improve the reliability of a given product or application.
BiochemistryBiochemistry or biological chemistry is the study of chemical processes within and relating to living organisms. A sub-discipline of both chemistry and biology, biochemistry may be divided into three fields: structural biology, enzymology, and metabolism. Over the last decades of the 20th century, biochemistry has become successful at explaining living processes through these three disciplines. Almost all areas of the life sciences are being uncovered and developed through biochemical methodology and research.
High dynamic rangeHigh dynamic range (HDR) is a dynamic range higher than usual, synonyms are wide dynamic range, extended dynamic range, expanded dynamic range. The term is often used in discussing the dynamic range of various signals such as s, videos, audio or radio. It may apply to the means of recording, processing, and reproducing such signals including analog and digitized signals. The term is also the name of some of the technologies or techniques allowing to achieve high dynamic range images, videos, or audio.
O-ringAn O-ring, also known as a packing or a toric joint, is a mechanical gasket in the shape of a torus; it is a loop of elastomer with a round cross-section, designed to be seated in a groove and compressed during assembly between two or more parts, forming a seal at the interface. The O-ring may be used in static applications or in dynamic applications where there is relative motion between the parts and the O-ring. Dynamic examples include rotating pump shafts and hydraulic cylinder pistons.
IsocyanideAn isocyanide (also called isonitrile or carbylamine) is an organic compound with the functional group –. It is the isomer of the related nitrile (–C≡N), hence the prefix is isocyano. The organic fragment is connected to the isocyanide group through the nitrogen atom, not via the carbon. They are used as building blocks for the synthesis of other compounds. The C-N distance in isocyanides is 115.8 pm in methyl isocyanide. The C-N-C angles are near 180°.
Sonata formSonata form (also sonata-allegro form or first movement form) is a musical structure generally consisting of three main sections: an exposition, a development, and a recapitulation. It has been used widely since the middle of the 18th century (the early Classical period). While it is typically used in the first movement of multi-movement pieces, it is sometimes used in subsequent movements as well—particularly the final movement.
Musical formIn music, form refers to the structure of a musical composition or performance. In his book, Worlds of Music, Jeff Todd Titon suggests that a number of organizational elements may determine the formal structure of a piece of music, such as "the arrangement of musical units of rhythm, melody, and/or harmony that show repetition or variation, the arrangement of the instruments (as in the order of solos in a jazz or bluegrass performance), or the way a symphonic piece is orchestrated", among other factors.