語言選擇:
免費網上英漢字典|3Dict

tuple

資料來源 : pyDict

元組

資料來源 : Free On-Line Dictionary of Computing

TUPLE
     
        Toyohashi University Parallel Lisp Environment.  A parallel
        Lisp based on KCL.
     
        ["Memory Management and Garbage Collection of an Extended
        Common Lisp System for Massively Parallel SIMD Architecture",
        Taiichi Yuasa, in Memory Management, IWMM92, Springer 1992,
        490-507].
     
        (1994-11-08)

tuple
     
        In {functional language}s, a data object containing two or
        more components.  Also known as a product type or pair,
        triple, quad, etc.  Tuples of different sizes have different
        types, in contrast to lists where the type is independent of
        the length.  The components of a tuple may be of different
        types whereas all elements of a list have the same type.
        Examples of tuples in {Haskell} notation are (1,2),
        ("Tuple",True), (w,(x,y),z).  The degenerate tuple with zero
        components, written (), is known as the unit type since it has
        only one possible value which is also written ().
     
        The implementation of tuples in a language may be either
        "{lifted}" or not.  If tuples are lifted then (bottom,bottom)
        /= bottom and the evaluation of a tuple may fail to terminate.
        E.g. in Haskell:
     
        	f (x,y) = 1    -->    f bottom = bottom
        			      f (bottom,bottom) = 1
     
        With lifted tuples, a tuple pattern is refutable.  Thus in
        Haskell, {pattern matching} on tuples is the same as pattern
        matching on types with multiple constructors ({algebraic data
        type}s) - the expression being matched is evaluated as far as
        the top level constructor, even though, in the case of tuples,
        there is only one possible constructor for a given type.
     
        If tuples are unlifted then (bottom, bottom) = bottom and
        evaluation of a tuple will never fail to terminate though any
        of the components may.  E.g. in {Miranda}:
     
        	f (x,y) = 1    -->    f bottom = 1
        			      f (bottom,bottom) = 1
     
        Thus in Miranda, any object whose type is compatible with a
        tuple pattern is assumed to match at the top level without
        evaluation - it is an {irrefutable} pattern.  This also
        applies to user defined data types with only one constructor.
        In Haskell, patterns can be made irrefutable by adding a "~"
        as in
     
        	f ~(x,y) = 1.
     
        If tuple constructor functions were {strict} in all their
        arguments then (bottom,x) = (x,bottom) = bottom for any x so
        matching a refutable pattern would fail to terminate if any
        component was bottom.
依字母排序 : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z