# Confusion over functor versus predicate -- and predicates in general

**URL:** <https://swi-prolog.discourse.group/t/confusion-over-functor-versus-predicate-and-predicates-in-general/8945>\
**Category:** General\
**Created:** [April 17, 2025, 4:02pm UTC](https://swi-prolog.discourse.group/t/confusion-over-functor-versus-predicate-and-predicates-in-general/8945 "2025-04-17T16:02:43Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![peter.ludemann](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/peter.ludemann/32/48_2.png) [@peter.ludemann](https://swi-prolog.discourse.group/u/peter.ludemann)\
**Post date:** [April 17, 2025, 5:10pm UTC](https://swi-prolog.discourse.group/t/confusion-over-functor-versus-predicate-and-predicates-in-general/8945/2 "2025-04-17T17:10:32Z")

</div>

There is some discussion that might help you here:

> [@How does prolog tell the difference between atoms and zero arity predicates?](https://swi-prolog.discourse.group/t/how-does-prolog-tell-the-difference-between-atoms-and-zero-arity-predicates/8903):
>
> true is a predicate, but ?- atom(true). true. ?- functor(true, X, 0). X = true. How can it be atom and functor at the same time? From here, they [should be different entities](https://www.let.rug.nl/bos/lpn//lpnpage.php?pagetype=html&pageid=lpn-htmlse5). Can you explan me what the functor really is? Are there strict Prolog language specification which I can refer to?

> [@What is meant by "meta-level" in logic programming?](https://swi-prolog.discourse.group/t/what-is-meant-by-meta-level-in-logic-programming/7717/7):
>
> Yes, but call/n can be defined as a first-order thing (just add a corresponding call/n clause for every predicate in the program), so I don’t think of it as something special. Others might disagree. “Thunk” is, I suppose an old-fashioned word for what is now called “closure” (although the definition of “closure” is somewhat variable, it seems) – basically, a pointer to code plus some environment. See also [delimited continuations](https://www.swi-prolog.org/pldoc/man?section=delcont), which I don’t fully understand. So, it might be useful to have…

---

_[View the full topic](https://swi-prolog.discourse.group/t/confusion-over-functor-versus-predicate-and-predicates-in-general/8945)._
