OnlineWoerterBuecher.de
Internes

Lexikon


generic type variable


(Also known as a "schematic type variable"). Different occurrences of a generic type variable in a type expression may be instantiated to different types. Thus, in the expression let id x = x in (id True, id 1) id' s type is (for all a: a -> a). The universal ref="module.php?name=Lexikon&file=search&eid=1&query=quantifier">quantifier "for all a:" means that a is a generic type variable. For the two uses of id, a is instantiated to Bool and Int. Compare this with let id x = x in let f g = (g True, g 1) in f id This looks similar but f has no legal ref="module.php?name=Lexikon&file=search&eid=1&query=Hindley-Milner type">Hindley-Milner type. If we say f :: (a -> b) -> (b, b) this would permit g' s type to be any instance of (a -> b) rather than requiring it to be at least as general as (a -> b). Furthermore, it constrains both instances of g to have the same result type whereas they do not. The type variables a and b in the above are implicitly quantified at the top level: f :: for all a: for all b: (a -> b) -> (b, b) so instantiating them (removing the ref="module.php?name=Lexikon&file=search&eid=1&query=quantifier">quantifiers) can only be done once, at the top level. To correctly describe the type of f requires that they be locally quantified: f :: ((for all a: a) -> (for all b: b)) -> (c, d) which means that each time g is applied, a and b may be instantiated differently. f' s actual argument must have a type at least as general as ((for all a: a) -> (for all b: b)), and may not be some less general instance of this type. Type variables c and d are still implicitly quantified at the top level and, now that g' s result type is a generic type variable, any types chosen for c and d are guaranteed to be instances of it. This type for f does not express the fact that b only needs to be at least as general as the types c and d. For example, if c and d were both Bool then any function of type (for all a: a -> Bool) would be a suitable argument to f but it would not match the above type for f.

In addition suitable contents:
[ ref="module.php?name=Lexikon&op=content&tid=134">= ] [ ref="module.php?name=Lexikon&op=content&tid=259">actual argument ] [ ref="module.php?name=Lexikon&op=content&tid=411">ai ] [ ref="module.php?name=Lexikon&op=content&tid=433">al ] [ ref="module.php?name=Lexikon&op=content&tid=544">am ] [ ref="module.php?name=Lexikon&op=content&tid=592">an ] [ ref="module.php?name=Lexikon&op=content&tid=683">app ] [ ref="module.php?name=Lexikon&op=content&tid=740">ar ] [ ref="module.php?name=Lexikon&op=content&tid=743">arc ] [ ref="module.php?name=Lexikon&op=content&tid=759">arg ] [ ref="module.php?name=Lexikon&op=content&tid=760">argument ] [ ref="module.php?name=Lexikon&op=content&tid=800">as ] [ ref="module.php?name=Lexikon&op=content&tid=894">at ] [ ref="module.php?name=Lexikon&op=content&tid=996">av ] [ ref="module.php?name=Lexikon&op=content&tid=1025">B ] [ ref="module.php?name=Lexikon&op=content&tid=1026">b ] [ ref="module.php?name=Lexikon&op=content&tid=1181">be ] [ ref="module.php?name=Lexikon&op=content&tid=1444">bo ] [ ref="module.php?name=Lexikon&op=content&tid=1501">bot ] [ ref="module.php?name=Lexikon&op=content&tid=1708">C ] [ ref="module.php?name=Lexikon&op=content&tid=1724">ca ] [ ref="module.php?name=Lexikon&op=content&tid=1896">cc ] [ ref="module.php?name=Lexikon&op=content&tid=2001">ch ] [ ref="module.php?name=Lexikon&op=content&tid=2099">ci ] [ ref="module.php?name=Lexikon&op=content&tid=2247">co ] [ ref="module.php?name=Lexikon&op=content&tid=2545">con ] [ ref="module.php?name=Lexikon&op=content&tid=2606">cons ] [ ref="module.php?name=Lexikon&op=content&tid=2791">cr ] [ ref="module.php?name=Lexikon&op=content&tid=2900">cu ] [ ref="module.php?name=Lexikon&op=content&tid=2976">D ] [ ref="module.php?name=Lexikon&op=content&tid=3151">de ] [ ref="module.php?name=Lexikon&op=content&tid=3371">diff ] [ ref="module.php?name=Lexikon&op=content&tid=3565">do ] [ ref="module.php?name=Lexikon&op=content&tid=3752">du ] [ ref="module.php?name=Lexikon&op=content&tid=3865">ec ] [ ref="module.php?name=Lexikon&op=content&tid=3896">ed ] [ ref="module.php?name=Lexikon&op=content&tid=3929">ee ] [ ref="module.php?name=Lexikon&op=content&tid=3946">eg ] [ ref="module.php?name=Lexikon&op=content&tid=4148">er ] [ ref="module.php?name=Lexikon&op=content&tid=4150">era ] [ ref="module.php?name=Lexikon&op=content&tid=4171">es ] [ ref="module.php?name=Lexikon&op=content&tid=4199">et ] [ ref="module.php?name=Lexikon&op=content&tid=4317">expression ] [ ref="module.php?name=Lexikon&op=content&tid=4379">fact ] [ ref="module.php?name=Lexikon&op=content&tid=4497">fi ] [ ref="module.php?name=Lexikon&op=content&tid=4520">file ] [ ref="module.php?name=Lexikon&op=content&tid=4700">fo ] [ ref="module.php?name=Lexikon&op=content&tid=4727">for ] [ ref="module.php?name=Lexikon&op=content&tid=4940">function ] [ ref="module.php?name=Lexikon&op=content&tid=4989">ga ] [ ref="module.php?name=Lexikon&op=content&tid=5057">ge ] [ ref="module.php?name=Lexikon&op=content&tid=5070">gen ] [ ref="module.php?name=Lexikon&op=content&tid=5291">gr ] [ ref="module.php?name=Lexikon&op=content&tid=5403">gu ] [ ref="module.php?name=Lexikon&op=content&tid=5434">h ] [ ref="module.php?name=Lexikon&op=content&tid=5540">hat ] [ ref="module.php?name=Lexikon&op=content&tid=5722">hose ] [ ref="module.php?name=Lexikon&op=content&tid=5768">hr ] [ ref="module.php?name=Lexikon&op=content&tid=5791">hu ] [ ref="module.php?name=Lexikon&op=content&tid=5931">id ] [ ref="module.php?name=Lexikon&op=content&tid=5956">ie ] [ ref="module.php?name=Lexikon&op=content&tid=5986">iff ] [ ref="module.php?name=Lexikon&op=content&tid=6013">il ] [ ref="module.php?name=Lexikon&op=content&tid=6064">in ] [ ref="module.php?name=Lexikon&op=content&tid=6179">instance ] [ ref="module.php?name=Lexikon&op=content&tid=6181">instantiate ] [ ref="module.php?name=Lexikon&op=content&tid=6413">io ] [ ref="module.php?name=Lexikon&op=content&tid=6449">ir ] [ ref="module.php?name=Lexikon&op=content&tid=6482">is ] [ ref="module.php?name=Lexikon&op=content&tid=6558">it ] [ ref="module.php?name=Lexikon&op=content&tid=6861">kn ] [ ref="module.php?name=Lexikon&op=content&tid=6918">la ] [ ref="module.php?name=Lexikon&op=content&tid=7023">ld ] [ ref="module.php?name=Lexikon&op=content&tid=7068">legal ] [ ref="module.php?name=Lexikon&op=content&tid=7091">Lex ] [ ref="module.php?name=Lexikon&op=content&tid=7107">li ] [ ref="module.php?name=Lexikon&op=content&tid=7399">ls ] [ ref="module.php?name=Lexikon&op=content&tid=7410">lt ] [ ref="module.php?name=Lexikon&op=content&tid=7441">ly ] [ ref="module.php?name=Lexikon&op=content&tid=7457">M ] [ ref="module.php?name=Lexikon&op=content&tid=7463">ma ] [ ref="module.php?name=Lexikon&op=content&tid=7932">mil ] [ ref="module.php?name=Lexikon&op=content&tid=8019">mm ] [ ref="module.php?name=Lexikon&op=content&tid=8032">mo ] [ ref="module.php?name=Lexikon&op=content&tid=8040">mod ] [ ref="module.php?name=Lexikon&op=content&tid=8079">module ] [ ref="module.php?name=Lexikon&op=content&tid=8167">mp ] [ ref="module.php?name=Lexikon&op=content&tid=8258">mu ] [ ref="module.php?name=Lexikon&op=content&tid=8386">na ] [ ref="module.php?name=Lexikon&op=content&tid=8460">nc ] [ ref="module.php?name=Lexikon&op=content&tid=8472">ne ] [ ref="module.php?name=Lexikon&op=content&tid=8627">ng ] [ ref="module.php?name=Lexikon&op=content&tid=8630">ni ] [ ref="module.php?name=Lexikon&op=content&tid=8660">nl ] [ ref="module.php?name=Lexikon&op=content&tid=8675">no ] [ ref="module.php?name=Lexikon&op=content&tid=8760">ns ] [ ref="module.php?name=Lexikon&op=content&tid=8964">om ] [ ref="module.php?name=Lexikon&op=content&tid=9014">op ] [ ref="module.php?name=Lexikon&op=content&tid=9204">pa ] [ ref="module.php?name=Lexikon&op=content&tid=9457">pe ] [ ref="module.php?name=Lexikon&op=content&tid=9550">ph ] [ ref="module.php?name=Lexikon&op=content&tid=9651">pl ] [ ref="module.php?name=Lexikon&op=content&tid=9908">pr ] [ ref="module.php?name=Lexikon&op=content&tid=10023">program ] [ ref="module.php?name=Lexikon&op=content&tid=10042">programming ] [ ref="module.php?name=Lexikon&op=content&tid=10234">quantifier ] [ ref="module.php?name=Lexikon&op=content&tid=10253">query ] [ ref="module.php?name=Lexikon&op=content&tid=10364">rc ] [ ref="module.php?name=Lexikon&op=content&tid=10385">re ] [ ref="module.php?name=Lexikon&op=content&tid=10767">ro ] [ ref="module.php?name=Lexikon&op=content&tid=10887">ru ] [ ref="module.php?name=Lexikon&op=content&tid=10922">sa ] [ ref="module.php?name=Lexikon&op=content&tid=10959">sam ] [ ref="module.php?name=Lexikon&op=content&tid=10999">say ] [ ref="module.php?name=Lexikon&op=content&tid=11010">sc ] [ ref="module.php?name=Lexikon&op=content&tid=11045">schematic type variable ] [ ref="module.php?name=Lexikon&op=content&tid=11150">se ] [ ref="module.php?name=Lexikon&op=content&tid=11376">si ] [ ref="module.php?name=Lexikon&op=content&tid=11651">so ] [ ref="module.php?name=Lexikon&op=content&tid=11934">st ] [ ref="module.php?name=Lexikon&op=content&tid=12133">su ] [ ref="module.php?name=Lexikon&op=content&tid=12162">suit ] [ ref="module.php?name=Lexikon&op=content&tid=12359">T ] [ ref="module.php?name=Lexikon&op=content&tid=12369">table ] [ ref="module.php?name=Lexikon&op=content&tid=12440">tc ] [ ref="module.php?name=Lexikon&op=content&tid=12479">tee ] [ ref="module.php?name=Lexikon&op=content&tid=12588">th ] [ ref="module.php?name=Lexikon&op=content&tid=12721">to ] [ ref="module.php?name=Lexikon&op=content&tid=12787">tr ] [ ref="module.php?name=Lexikon&op=content&tid=12939">tw ] [ ref="module.php?name=Lexikon&op=content&tid=12970">type ] [ ref="module.php?name=Lexikon&op=content&tid=12986">ua ] [ ref="module.php?name=Lexikon&op=content&tid=13030">um ] [ ref="module.php?name=Lexikon&op=content&tid=13175">us ] [ ref="module.php?name=Lexikon&op=content&tid=13252">va ] [ ref="module.php?name=Lexikon&op=content&tid=13274">var ] [ ref="module.php?name=Lexikon&op=content&tid=13275">variable ] [ ref="module.php?name=Lexikon&op=content&tid=13310">ve ] [ ref="module.php?name=Lexikon&op=content&tid=13366">vi ]






Go Back ]

Free On-line Dictionary of Computing

Copyright © by OnlineWoerterBuecher.de - (5111 Reads)

All logos and trademarks in this site are property of their respective owner.

Page Generation in 0.1001 Seconds, with 16 Database-Queries
Zurück zur Startseite