From: Sameer N Danthurthy
Subject: Match Function
Date: 
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.
Can some one please expalin.
Thanx!
Sameer
From: Thomas A. Russ
Subject: Re: Match Function
Date: 
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