git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@561 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
		
			
				
	
	
		
			90 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| =================================================================
 | |
| Logtalk - Object oriented extension to Prolog
 | |
| Release 2.14.1
 | |
| 
 | |
| Copyright (c) 1998-2002 Paulo Moura.  All Rights Reserved.
 | |
| =================================================================
 | |
| 
 | |
| 
 | |
| % set a point in the space-time:
 | |
| 
 | |
| | ?- space_time::rotate(1, 2, 3).
 | |
| yes
 | |
| 
 | |
| | ?- space_time::translate(4).
 | |
| yes
 | |
| 
 | |
| 
 | |
| % verify it:
 | |
| 
 | |
| | ?- space_time::xyzt(X, Y, Z, T).
 | |
| 
 | |
| T = 4,
 | |
| X = 1,
 | |
| Y = 2,
 | |
| Z = 3 ? 
 | |
| yes
 | |
| 
 | |
| 
 | |
| % enumerate space_time public predicates:
 | |
| 
 | |
| | ?- space_time::(current_predicate(Functor/Arity), functor(Pred, Functor, Arity), predicate_property(Pred, declared_in(Object))).
 | |
| 
 | |
| Pred = xyzt(_A,_B,_C,_D),
 | |
| Arity = 4,
 | |
| Object = space_time,
 | |
| Functor = xyzt ? ;
 | |
| 
 | |
| Pred = xyz(_A,_B,_C),
 | |
| Arity = 3,
 | |
| Object = space,
 | |
| Functor = xyz ? ;
 | |
| 
 | |
| Pred = rotate(_A,_B,_C),
 | |
| Arity = 3,
 | |
| Object = space,
 | |
| Functor = rotate ? ;
 | |
| 
 | |
| Pred = t(_A),
 | |
| Arity = 1,
 | |
| Object = time,
 | |
| Functor = t ? ;
 | |
| 
 | |
| Pred = translate(_A),
 | |
| Arity = 1,
 | |
| Object = time,
 | |
| Functor = translate ? ;
 | |
| 
 | |
| no
 | |
| 
 | |
| 
 | |
| 
 | |
| % get the origin distance from a point in the space-time(_, _, _, _):
 | |
| 
 | |
| | ?- space_time(2,3,4,7)::distance(D).
 | |
| 
 | |
| D = 5.385164807134504 ? 
 | |
| yes
 | |
| 
 | |
| | ?- space_time(2,3,4,7)::time(T).
 | |
| 
 | |
| T = 7 ? 
 | |
| yes
 | |
| 
 | |
| 
 | |
| % enumerate space_time(_, _, _, _) public predicates:
 | |
| 
 | |
| | ?- space_time(2,3,4,7)::(current_predicate(Functor/Arity), functor(Pred, Functor, Arity), predicate_property(Pred, declared_in(Object))).
 | |
| 
 | |
| Pred = distance(_A),
 | |
| Arity = 1,
 | |
| Object = space(_B,_C,_D),
 | |
| Functor = distance ? ;
 | |
| 
 | |
| Pred = time(_A),
 | |
| Arity = 1,
 | |
| Object = time(_B),
 | |
| Functor = time ? ;
 | |
| 
 | |
| no
 |