# What is a "tuple" in pccard/pcmcia perse?

Started by December 29, 2005
```Experts,
I would like to understand what exactly is meant by "tuple" in the
perse of PCCARDS and PCMCIA standards?I googled in net,but has not hit

Regards,
s.subbarayan

```
```On 29 Dec 2005 05:27:58 -0800, "ssubbarayan" <ssubba@gmail.com> wrote:

>Experts,
>I would like to understand what exactly is meant by "tuple" in the
>perse of PCCARDS and PCMCIA standards?I googled in net,but has not hit
>
>Regards,
>s.subbarayan

It's a term used to describe a small block of bytes - I've never seen it used outside the PCMCIA
spec. though - I don't know if they made it up or it was already in (obscure) existence

'Record' or 'Structure' would probably be the closest conventional word.
```
```> I would like to understand what exactly is meant by "tuple" in the

www.dictionary.com.

tuple

In functional languages, 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)
/=3D bottom and the evaluation of a tuple may fail to terminate.

f (x,y) =3D 1 --> f bottom =3D bottom
f (bottom,bottom) =3D 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
types) - 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) =3D bottom and
evaluation of a tuple will never fail to terminate though any
of the components may. E.g. in Miranda:

f (x,y) =3D 1 --> f bottom =3D 1
f (bottom,bottom) =3D 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) =3D 1.

If tuple constructor functions were strict in all their
arguments then (bottom,x) =3D (x,bottom) =3D bottom for any x so
matching a refutable pattern would fail to terminate if any
component was bottom.

Source: The Free On-line Dictionary of Computing, =A9 1993-2005 Denis
Howe

```
```ssubbarayan wrote:
> Experts,
> I would like to understand what exactly is meant by "tuple" in the
> perse of PCCARDS and PCMCIA standards?I googled in net,but has not hit
>
> Regards,
> s.subbarayan

The word tuple in PCCard standard refers to the element of the Card
Information Structure (or CIS a.k.a. Metaformat). Tuple is a
variable-length record consisting of the tuple code, tuple' link
(serves as a length field) and tuple' body. CIS is stored in the
attribute memory of the 16-bit PCCARD (R2-cards in M\$speak). 32-bit
PC-cards known as CARDBUS also could have CIS but it would be of little
utility because a regular PCI configuration space already provides a
sufficient info for plug&play.
Further information available in the official PCCARD standard.
You can order the standard from www.pcmcia.org/bookstore.htm (\$299). Or
buy one of the cheaper books from their bookstore.
At very least read a free overview: www.pcmcia.org/pccard.htm#stan

```
```On 29 Dec 2005 07:42:42 -0800, already5chosen@yahoo.com wrote:

> ssubbarayan wrote:
>> Experts,
>> I would like to understand what exactly is meant by "tuple" in the
>> perse of PCCARDS and PCMCIA standards?I googled in net,but has not hit
>>
>> Regards,
>> s.subbarayan
>
> The word tuple in PCCard standard refers to the element of the Card
> Information Structure (or CIS a.k.a. Metaformat). Tuple is a
> variable-length record consisting of the tuple code, tuple' link
> (serves as a length field) and tuple' body. CIS is stored in the
> attribute memory of the 16-bit PCCARD (R2-cards in M\$speak). 32-bit
> PC-cards known as CARDBUS also could have CIS but it would be of little
> utility because a regular PCI configuration space already provides a
> sufficient info for plug&play.
> Further information available in the official PCCARD standard.
> You can order the standard from www.pcmcia.org/bookstore.htm (\$299). Or
> buy one of the cheaper books from their bookstore.
> At very least read a free overview: www.pcmcia.org/pccard.htm#stan

I remember from linear algebra, the prof. was always going on about
'n-tuples' which were vectors of length 'n' IIRC. I thought that was
unecessary obfuscation, but this sounds like real gobbledygook.

Bob

```
```On 2005-12-29, ssubbarayan <ssubba@gmail.com> wrote:

> I would like to understand what exactly is meant by "tuple" in the
> perse of PCCARDS and PCMCIA standards?

A tuple is a set of values that are associated with each other
and passed around together as a group.  Like a "struct" in C.

> I googled in net,but has not hit

Odd.  I googled for tuple definition, and found lots of
definitions.

--
Grant Edwards
grante@visi.com
```
```On 2005-12-29, Mike Harrison <mike@whitewing.co.uk> wrote:

> It's a term used to describe a small block of bytes - I've
> never seen it used outside the PCMCIA spec.

It's a common term in computer science an math.

> though - I don't know if they made it up or it was already in
> (obscure) existence
>
> 'Record' or 'Structure' would probably be the closest conventional word.

Yup.

--
Grant Edwards
grante@visi.com

```