```From: Sameer N Danthurthy
Subject: Match Function
Date: Mon, 24 Mar 1997 00:00:00 +0000
Message-ID: <33375D63.562B@odin.cmp.ilstu.edu>```
```Hi!
Being a newbie to LISP Iam having hard time understanding what does
(MATCH '((numberp A) (* B) when (? C) (* D))
'(8 Gigabytes were transmitted when I found the error))

stands for.
What would be the values of MATCH, A, B, C, D.
Thanx!
Sameer```
```From: Thomas A. Russ
Subject: Re: Match Function
Date: Wed, 26 Mar 1997 00:00:00 +0000
Message-ID: <ymin2rqppx3.fsf@hobbes.isi.edu>```
```In article <·············@odin.cmp.ilstu.edu> Sameer N Danthurthy <·······@odin.cmp.ilstu.edu> writes:

> Hi!
> 	Being a newbie to LISP Iam having hard time understanding what does
> (MATCH '((numberp A) (* B) when (? C) (* D))
> 	'(8 Gigabytes were transmitted when I found the error))
>
> stands for.
> What would be the values of MATCH, A, B, C, D.
> Can some one please expalin.

This is a bit tricky because MATCH is not a built-in lisp function.  You
would really have to look at the code to tell.  This being a newsgroup,
however, I will speculate based on what I know about regular expression
conventions.

I assume match returns a binding list of variables and values.
Furthermore one can guess that the first element of the pattern
describes what it can match.  numberp = number, * = any number of
elements, ? = a single element, non list is a literal match.

My guess as to the return value:

((A . 8) (B GIGABYTES WERE TRANSMITTED) (C . I) (D FOUND THE ERROR))

--
Thomas A. Russ,  USC/Information Sciences Institute          ···@isi.edu    ```