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 21:07:01 +01:00
2005-12-24 18:00:21 +00:00
< html xmlns = "http://www.w3.org/1999/xhtml" xml:lang = "en" >
2001-06-06 21:07:01 +01: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 predicate directive: mode/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 21:07:01 +01:00
< / head >
< body >
2005-12-24 18:00:21 +00:00
< div class = "top-left" > Logtalk reference manual< / div >
< div class = "top-right" > Predicate directive: mode/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#directives" > directives< / a > < / div >
2003-12-30 13:33:51 +00:00
2005-12-24 18:00:21 +00:00
< h2 class = "code" > mode/2< / h2 >
2001-06-06 21:07:01 +01:00
< h4 > Description< / h4 >
2003-12-30 13:33:51 +00:00
< pre > mode(Mode, Number_of_solutions)< / pre >
2001-06-06 21:07:01 +01:00
< p >
2005-12-24 18:00:21 +00:00
Most predicates can be used with several instantiations modes. This directive enables the specification of each instantiation mode and the corresponding number of solutions (not necessarily distinct). You may also use this directive for documenting grammar rule non-terminals.
2001-06-06 21:07:01 +01:00
< / p >
< h4 > Template and modes< / h4 >
2005-08-08 13:13:45 +01:00
< pre > mode(+predicate_mode_term, +number_of_solutions)
mode(+non_terminal_mode_term, +number_of_solutions)< / pre >
2001-06-06 21:07:01 +01:00
< h4 > Examples< / h4 >
2003-12-30 13:33:51 +00:00
< pre > :- mode(append(-, -, +), zero_or_more).
2001-06-06 21:07:01 +01:00
:- mode(append(+list, +list, -list), zero_or_one).
:- mode(var(@term), zero_or_one).
2003-12-30 13:33:51 +00:00
:- mode(arg(-, -, +), error).< / pre >
2001-06-06 21:07:01 +01:00
2003-12-30 13:33:51 +00:00
< div class = "footer" >
2005-12-24 18:00:21 +00:00
< div class = "navbottom" > < a href = "metapredicate1.html" > previous< / a > | < a href = "../../glossary.html" > glossary< / a > | < a href = "op3.html" > next< / a > < / div >
< div class = "copyright" > Copyright © < a href = "mailto:pmoura@logtalk.org" > Paulo Moura< / a > — < a href = "http://www.logtalk.org" > Logtalk.org< / a > < / div >
< div class = "footnote" >
< span class = "validators" > < a href = "http://validator.w3.org/check/referer" > XHTML< / a > + < a href = "http://jigsaw.w3.org/css-validator/check/referer" > CSS< / a > < / span >
< span class = "date" > Last updated on: November 16, 2005< / span >
< / div >
2003-12-30 13:33:51 +00:00
< / div >
2005-12-24 18:00:21 +00:00
2001-06-06 21:07:01 +01:00
< / body >
< / html >