2006-02-10 17:44:05 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								<?xml version="1.0" encoding="utf-8"?>  
						 
					
						
							
								
									
										
										
										
											2005-12-24 18:00:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
							 
						 
					
						
							
								
									
										
										
										
											2001-06-06 20:07:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2005-12-24 18:00:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< html  xmlns = "http://www.w3.org/1999/xhtml"  xml:lang = "en" >  
						 
					
						
							
								
									
										
										
										
											2001-06-06 20:07:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									< head > 
							 
						 
					
						
							
								
									
										
										
										
											2006-02-10 17:44:05 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									< meta  http-equiv = "content-type"  content = "application/xml+xhtml; charset=utf-8"  / > 
							 
						 
					
						
							
								
									
										
										
										
											2003-12-30 13:33:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										< title > Logtalk control construct: ::/2< / title > 
							 
						 
					
						
							
								
									
										
										
										
											2005-12-24 18:00:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										< link  rel = "stylesheet"  href = "../../screen.css"  type = "text/css"  media = "screen" / > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									< link  rel = "stylesheet"  href = "../../print.css"  type = "text/css"  media = "print" / > 
							 
						 
					
						
							
								
									
										
										
										
											2001-06-06 20:07:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									< / head > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< body >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2005-12-24 18:00:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< div  class = "top-left" > Logtalk reference manual< / div >   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< div  class = "top-right" > Control construct: ::/2< / div >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< div  class = "bottom-left" > < span  class = "page" / > < / div >   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< div  class = "bottom-right" > < span  class = "page" / > < / div >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< div  class = "navtop" > < a  href = "../../index.html" > contents< / a >  >  < a  href = "../index.html" > reference manual< / a >  >  < a  href = "../index.html#constructs" > control constructs< / a > < / div >  
						 
					
						
							
								
									
										
										
										
											2003-12-30 13:33:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2007-06-12 10:39:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< h2  id = "control_to_object2"  class = "codenp" > ::/2< / h2 >  
						 
					
						
							
								
									
										
										
										
											2001-06-06 20:07:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< h4 > Description< / h4 >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2003-12-30 13:33:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< pre > Object::Predicate 
						 
					
						
							
								
									
										
										
										
											2001-06-06 20:07:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								(Object1, Object2, ...)::Predicate
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2001-12-05 23:57:48 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								(Object1; Object2; ...)::Predicate
							 
						 
					
						
							
								
									
										
										
										
											2001-06-06 20:07:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Object::(Predicate1, Predicate2, ...)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2003-12-30 13:33:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Object::(Predicate1; Predicate2; ...)< / pre > 
							 
						 
					
						
							
								
									
										
										
										
											2001-06-06 20:07:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2002-08-26 16:45:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Sends a message to an object. The message argument must match a public predicate of the receiver object. We can also send the same message to a set of objects or a set of messages to the same object. The "< code > ,< / code > " and "< code > ;< / code > " in the list have the usual Prolog meaning.
							 
						 
					
						
							
								
									
										
										
										
											2001-06-06 20:07:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< h4 > Template and modes< / h4 >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2003-12-30 13:33:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< pre > +receivers::+messages< / pre >  
						 
					
						
							
								
									
										
										
										
											2001-06-06 20:07:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2001-12-05 23:57:48 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< h4 > Errors< / h4 >  
						 
					
						
							
								
									
										
										
										
											2001-06-06 20:07:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< dl >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									< dt > Either Object or Predicate is a variable:< / dt > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										< dd > < code > instantiation_error< / code > < / dd > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									< dt > Predicate is declared private:< / dt > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										< dd > < code > permission_error(access, private_predicate, Predicate)< / code > < / dd > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									< dt > Predicate is declared protected:< / dt > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										< dd > < code > permission_error(access, protected_predicate, Predicate)< / code > < / dd > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									< dt > Predicate is not declared:< / dt > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										< dd > < code > existence_error(predicate_declaration, Predicate)< / code > < / dd > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									< dt > Object does not exist:< / dt > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										< dd > < code > existence_error(object, Object)< / code > < / dd > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / dl >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< h4 > Examples< / h4 >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2004-07-25 18:47:43 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< pre > | ?- list::member(X, [1, 2, 3]). 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								X = 1 ;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								X = 2 ;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								X = 3
							 
						 
					
						
							
								
									
										
										
										
											2005-12-24 18:00:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								yes< / pre > 
							 
						 
					
						
							
								
									
										
										
										
											2001-06-06 20:07:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2003-12-30 13:33:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< div  class = "footer" >  
						 
					
						
							
								
									
										
										
										
											2006-11-07 17:11:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									< div  class = "copyright" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										< span > Copyright ©  < a  href = "mailto:pmoura@logtalk.org" > Paulo Moura< / a >  —  < a  href = "http://logtalk.org" > Logtalk.org< / a > < / span > < br / > 	
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										< span > Last updated on: October 26, 2006< / span > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									< div  class = "navbottom" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										< span > < a  href = "../index.html#constructs" > previous< / a >  | < a  href = "../../glossary.html" > glossary< / a >  | < a  href = "to_self1.html" > next< / a > < / span > < br / > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										< span > < a  href = "http://validator.w3.org/check/referer" > XHTML< / a >  + < a  href = "http://jigsaw.w3.org/css-validator/check/referer" > CSS< / a > < / span > 
							 
						 
					
						
							
								
									
										
										
										
											2005-12-24 18:00:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									< / div > 
							 
						 
					
						
							
								
									
										
										
										
											2003-12-30 13:33:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / div >  
						 
					
						
							
								
									
										
										
										
											2005-12-24 18:00:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2003-12-30 13:33:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / body >  
						 
					
						
							
								
									
										
										
										
											2006-11-07 17:11:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2001-06-06 20:07:01 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< / html >